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 원 격 스위치 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.