Python 원 격 스위치 방법

Python 으로 꺼 져 있 으 면 들 어 봤 거나 실천 해 봤 을 거 예요.그럼 Python 으로 켜 볼 까요?파 이 썬 으로 켜 는 법 을 가르쳐 주 는 신기 한 방법 이다.
GitHub 창고 주소:
https://github.com/injetlee/Python/tree/master/Python%20%E9%BB%91%E9%AD%94%E6%B3%95
본문 목표
원 격 작 동 원리
Python 원 격 부팅 코드 구현
파 이 썬 전원 끄 기 설명
Python 켜 기
프로그램 으로 켜 는 것 에 대해 서 어떻게 했 습 니까?이것 이 바로 WOL 기술 인 Wake-On-Lan 이다.컴퓨터 를 이용 하여 전원 이 꺼 져 있 거나 휴면 상태 일 때 도 네트워크 카드 와 메인보드 부분 에 미약 한 전력 공급 이 있 기 때문에 당연히 전원 이 꽂 혀 있 고 유선 으로 연결 되 어야 한다.따라서 전원 이 꺼 진 상태 에서 도 네트워크 카드 는 어느 정도 작 동 능력 이 있 고 컴퓨터 외부의 인터넷 방송 정 보 를 감청 할 수 있 으 며 특정 형식의 정 보 를 발견 하면 켜 집 니 다.현재 의 메인보드 는 기본적으로 모두 지지한다.
네트워크 어댑터 속성 에 다음 두 가지 옵션 만 설정 하면 됩 니 다.


아래 그림 에서 이 체크 를 선택 할 수 없습니다.우 리 는 네트워크 카드 가 꺼 진 후에 도 전 기 를 공급 할 수 있 도록 해 야 합 니 다.만약 에 전원 을 끄 면 네트워크 의 불 이 켜 지지 않 으 면 안 됩 니 다.네트워크 의 불 이 켜 지지 않도록 해 야 합 니 다.

이 특정 데이터 에 도 매 직 패 킷 이라는 듣 기 좋 은 이름 이 있다.보통 UDP 프로 토 콜 로 방송 한 적 이 있다.포트 는 보통 7 또는 9.마법 패 킷 은 항상'FF FF FF FF FF FF'로 6 개의'FF'를 연속 하고 그 다음은 MAC 주소 정보 로 네트워크 카드 가 패 킷 내용 을 탐지 하면 타 겟 컴퓨터 를 깨 운다.
코드 를 어떻게 쓰 는 지 살 펴 보 겠 습 니 다.코드 는 UDP 네트워크 프로 그래 밍 과 관련 되 고 그 다음 에 네트워크 프로 그래 밍 이라는 내용 을 전문 적 으로 쓸 것 입 니 다.
이 함 수 는 대상 컴퓨터 의 MAC 주 소 를 입력 하면 됩 니 다.랜 에서(물론 컴퓨터 에 네트워크 IP 가 있다 면 네트워크 에서 도 가능 합 니 다)다른 컴퓨터 에서 이 프로그램 을 실행 하면 대상 컴퓨터 가 자동 으로 작 동 합 니 다.
코드 는 다음 과 같 습 니 다.코드 자체 가 짧 고 원리 도 간단 합 니 다.

def wake_up(mac='DC-4A-3E-78-3E-0A'):
  MAC = mac
  BROADCAST = "192.168.0.255"
  if len(MAC) != 17:
    raise ValueError("MAC address should be set as form 'XX-XX-XX-XX-XX-XX'")
  mac_address = MAC.replace("-", '')
  data = ''.join(['FFFFFFFFFFFF', mac_address * 20]) #         
  send_data = b''

  #         16      ,
  for i in range(0, len(data), 2):
    send_data = b''.join([send_data, struct.pack('B', int(data[i: i + 2], 16))])
  print(send_data)

  #   socket    ,     ,      
  try:
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
    sock.sendto(send_data, (BROADCAST, 7))
    time.sleep(1)
    sock.sendto(send_data, (BROADCAST, 7))
    time.sleep(1)
    sock.sendto(send_data, (BROADCAST, 7))

    print("Done")
  except Exception as e:

    print(e)
파 이 썬 전원 끄 기
전원 을 끄 는 것 은 상대 적 으로 쉬 워 지고 인터넷 에 도 기 존의 해결 방안 이 많다.대부분 프로그램 으로 메 일 을 스 캔 하고,전원 이 꺼 진 키워드 의 메 일 을 받 으 면 자동 으로 전원 끄 기 명령 을 실행 합 니 다.
또한 랜 에서 만 꺼 지 거나 네트워크 IP 주소 가 있 으 면 로 컬 컴퓨터 에서 서 비 스 를 시작 할 수 있 습 니 다.예 를 들 어 Flask 로 5000 포트 에서 실행 할 수 있 습 니 다.5000 이라는 주소 로 명령 을 보 내 면 됩 니 다.
이 컴퓨터 프로그램 에 전원 끄 기 명령 이 필요 합 니 다.

import os
os.system('shutdown -s -t 00')
이상 은 Python 원 격 스위치 의 방법 에 대한 상세 한 내용 입 니 다.python 원 격 스위치 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기