`
steven-zhou
  • 浏览: 207600 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

WOL之python实现

阅读更多
#!/usr/bin/env python
# Wake on Lan 

import socket
import struct

def wake_on_lan(mac):
    """ Switches on remote computers using WOL. """
    # Check mac format and try to compensate.
    if len(mac) == 12:
        pass
    elif len(mac) == 12 + 5:
        sep = mac[2]
        mac = mac.replace(sep, '')
    else:
        raise ValueError('Incorrect MAC address format')

    # Pad the synchronization stream.
    data = ''.join(['FFFFFFFFFFFF', mac * 16])
    send_data = ''
    print data

    # Split up the hex values and pack.
    for i in range(0, len(data), 2):
        send_data = ''.join([send_data, struct.pack('B', int(data[i: i + 2], 16))])

    # Broadcast it to the LAN.
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    # 今天发现在某些机器上脚本能正常使用,有些机器却不行,经查发现有问题的机器都配有多个IP,那么在这种情况下,可以bind到特定网段上发包。
    sock.bind(('192.168.102.250', 20000))
    sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
    sock.sendto(send_data, ('<broadcast>', 7))

if __name__ == '__main__':
    # Use maces with any seperators.
    wake_on_lan('00:1F:16:15:53:84')
    wake_on_lan('00-1F-16-15-4D-CD')
    wake_on_lan('00:22:68:1B:7A:82')
    wake_on_lan('00:1B:38:02:D9:F4')
分享到:
评论

相关推荐

    使用Python实现Wake On Lan远程开机功能

    先看下使用Python实现WakeOn Lan远程开机功能,具体介绍如下: 创建魔法唤醒包 格式化mac地址,生成魔法唤醒包,然后发送包,首先电脑需要打开wake on lan功能 创建main_wake_on_lan.py文件 import socket import...

    WOL2测试工具.zip

    Wake-On-LAN简称WOL或WoL,中文多译为“网上唤醒”、“远程唤醒”技术。WOL是一种技术,同时也是该技术的规范标准,它的功效在于让已经进入休眠状态或关机状态的计算机,透过局域网(多半为以太网)的另一端对其发令...

    网络唤醒 WOL2 (Wake-on-LAN)

    WOL2是一个程序,允许您远程打开连接到的网络中的每台支持唤醒局域网的计算机/设备。...WOL2是最早支持TCP v6的工具之一。如果你相应地配置了路由器硬件,你也可以使用WOL2在互联网上唤醒机器,而不需要VPN。

    RTL8211F_Series_WOL_App_Note___1.3.pdf

    Wake-On-LAN简称WOL或WoL,中文多译为“网上唤醒”、“远程唤醒”技术。WOL是一种技术,同时也是该技术的规范标准,它的功效在于让已经进入休眠状态或关机状态的计算机,透过局域网(多半为以太网)的另一端对其发令...

    Wake On LAN (WOL) 网络唤醒

    Wake On LAN (WOL) 中文被称为「网络唤醒」技术,是一种能从远端透过网络将关机的电脑开机的功能,就如同你平常按下电脑的电源开关让电脑开机一样。如何达成 Wake On LAN呢?它的技术利用传送一种特殊的封包Magic ...

    VC++实现局域网远程唤醒(WOL)

    VC++实现的局域网远程唤醒,基于对话框的MFC程序

    命令行远程开机程序wol.exe

    命令行远程开机程序,输入wol /?查看帮助

    wol-0.7.1远程开机

    linux WOL远程唤醒 1、运行ethtool命令查看网卡是否支持Wake On Lan Supports Wake-on: pumbg Wake-on: d 若Wake-on为d,表示禁用Wake On LAN,需要启用它。 如果已经是g就说明目标机器的网卡已经支持Wake On...

    wol局域网唤醒魔术包发送程序

    电脑上的功能设置完成后在另一台电脑上cmd窗口中运行,下列命令(10-90-27-e9-cf-a9替换成你自己电脑的物理mac地址,黑...wol 10-90-27-e9-cf-a9 注意发送端和接受端的电脑需要在同一个局域网,并且都用有线网卡连接。

    wol远程唤醒

    wol.exe远程唤醒,发送魔法包的命令行工具。。。。。。。

    Wake On Lan 又名 aquilaWOL,这是一款免费且开源的图形界面 WOL 软件

    Wake On Lan 又名 aquilaWOL,这是一款免费且开源的图形界面 WOL 软件,有繁体中文界面,可以管理多台电脑和网络设备,支持批量开机、关机、支持 Ping 等,还可以支持扫描局域网的设备,功能丰富实用!

    WOL32 wake tool

    LAN or WiFI Wake tool.

    开源项目-mdlayher-wol.zip

    开源项目-mdlayher-wol.zip,wol: send UDP or raw ethernet Wake-on-LAN magic packets

    Linux下WOL的rpm包及使用说明

    Linux下通过Wake On LAN网络远程唤醒开机的实例操作说明及wol的rpm包。 参见blog.ishareread.com

    Blinker_WOL:使用小米小爱音箱进行WOL,需要有树莓派

    git clone https://github.com/SodaWithoutSparkles/Blinker_WOL/cd Blinker_WOLnano Xiaomi_AI_WOL.py(第9、52、77、107行)之后尝试运行: sudo python3 Xiaomi_AI_WOL.py可以配合cpulimit限制cpu的用法。...

    远程唤醒电脑WOL(Wake On LAN - 局域网唤醒)C#源码+exe可执行程序

    远程唤醒电脑WOL(Wake On LAN - 局域网唤醒)C#源码+exe可执行程序

    如何远程开启你的电脑wol

    其实远程开机工具以及存在很久了,现在几乎所有的主板都支持网络开机。我们在同一局域网内可以用手机端开启电脑。 不过PC端需要把Wake-on lan 开启,寻找窍门就是看Wake up ,NIC ,PME, PCI等等

    网络唤醒*Wake-on-LAN* (*WoL* or *WOL*) 设置方法.pdf

    网络唤醒*Wake-on-LAN* (*WoL* or *WOL*) 设置方法

    C# 局域网远程开机源码 (WOL)

    C#实现局域网电脑管理---远程开机,非常简单、实用,适合初学者实用。若在用向日葵连接服务器,就可以控制实验室所有电脑了,欢迎大家实用。

    Wake On LAN (WOL) 网络唤醒」

    Wake On LAN (WOL) 中文被称为「网络唤醒」技术,是一种能从远端透过网络将关机的电脑开机的功能,就如同你平常按下电脑的电源开关让电脑开机一样。如何达成 Wake On LAN呢?它的技术利用传送一种特殊的封包Magic ...

Global site tag (gtag.js) - Google Analytics