首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WOL MAC地址不起作用

WOL MAC地址不起作用
EN

Stack Overflow用户
提问于 2016-09-24 14:15:09
回答 1查看 1.7K关注 0票数 0

我正在尝试运行一个python脚本来向我网络上的计算机发送一个魔术数据包。它可以在其他计算机上运行,但是当我尝试使用我自己的MAC地址运行脚本时,我得到了一个错误。

这是我的python脚本

代码语言:javascript
复制
#!/usr/bin/env python
#Wake-On-LAN
#
# Copyright (C) 2002 by Micro Systems Marc Balmer
# Written by Marc Balmer, marc@msys.ch, 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')

10.0.0.129是我的本地地址,30-5A-3A-03-82-AE是我的物理地址。

当我尝试运行脚本时,我得到了这个错误

代码语言:javascript
复制
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'

再说一次,没有其他计算机有这个问题。感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-24 14:53:12

它在任何由"-“分隔的地址上都不起作用,因为下面这一行:

代码语言:javascript
复制
addr_byte = ethernet_address.split(':')

只需用WakeOnLan('30:5A:3A:03:82:AE')更改WakeOnLan('30-5A-3A-03-82-AE'),它就会正常工作,或者改为更改如下行:

代码语言:javascript
复制
addr_byte = ethernet_address.split(':')

使用

代码语言:javascript
复制
addr_byte = ethernet_address.split('-')

如果您想使用"-“作为分隔符。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39673174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档