0
파이썬 스크립트를 실행하여 네트워크의 컴퓨터에 마법 패킷을 보내려고합니다. 그것은 다른 컴퓨터에서 작동하지만 내 자신의 MAC 주소로 스크립트를 실행하려고하면 오류가 발생합니다.WOL MAC 주소가 작동하지 않습니다.
이 10.0.0.129 내 로컬 주소와 30-5A-3A-03-82-AE 내 실제 주소 인 것을 내 파이썬 스크립트
#!/usr/bin/env python
#Wake-On-LAN
#
# Copyright (C) 2002 by Micro Systems Marc Balmer
# Written by Marc Balmer, [email protected], http://www.msys.ch/
# This code is free software under the GPL
import struct, socket
def WakeOnLan(ethernet_address):
# Construct a six-byte hardware address
addr_byte = ethernet_address.split(':')
hw_addr = struct.pack('BBBBBB', int(addr_byte[0], 16),
int(addr_byte[1], 16),
int(addr_byte[2], 16),
int(addr_byte[3], 16),
int(addr_byte[4], 16),
int(addr_byte[5], 16))
# Build the Wake-On-LAN "Magic Packet"...
msg = b'\xff' * 6 + hw_addr * 16
# ...and send it to the broadcast address using UDP
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.sendto(msg, ('10.0.0.129', 9))
s.sendto(msg, ('10.0.0.129', 7))
s.close()
# Example use
WakeOnLan('30-5A-3A-03-82-AE')
입니다. 내가 스크립트를 실행하려고하면
내가 다시이 오류
Traceback (most recent call last):
File "C:\xampp\htdocs\wol\wolme.py", line 35, in <module>
WakeOnLan('30-5A-3A-03-82-AE')
File "C:\xampp\htdocs\wol\wolme.py", line 15, in WakeOnLan
hw_addr = struct.pack('BBBBBB', int(addr_byte[0], 16),
ValueError: invalid literal for int() with base 16: '30-5A-3A-03-82-AE'
을 얻을, 다른 컴퓨터에서이 문제가 없습니다. 어떤 도움을 주셔서 감사합니다.
오 마이 갓. 나는 너무 어리 석다. 내가 어떻게 보지 못했습니까? 고맙습니다! –