`
steven-zhou
  • 浏览: 212307 次
  • 性别: 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...

    Python实现的一款小巧的网络远程开机工具,如果你经常在公司远程家里的电脑,这款工具正适合你

    【Python实现的网络远程开机工具】 网络远程开机,也称为Wake-on-LAN(WOL),是一种允许用户在计算机关闭或休眠状态下通过网络唤醒它的技术。这个功能在远程办公、远程维护或者需要从远处控制设备时非常实用。...

    python远程开启关闭的计算机

    #### 五、Python实现细节 为了方便远程控制,可以编写一个简单的Python脚本来发送魔法数据包。以下是一些关键点: 1. **脚本结构**:使用标准库`socket`和`struct`来创建和发送UDP数据包。 2. **命令行参数**:通过`...

    Python-master.zip

    通过Python的paramiko库可以实现SSH连接,而wolpy库则可以帮助我们发送WOL魔法包来唤醒远程设备。 2. **Selenium介绍**: Selenium是一个强大的自动化测试工具,但也可以用于网页数据抓取。它可以模拟浏览器行为,...

    基于ESP32和APP的远程唤醒计算机的WOL MicroPython设计源码

    本项目为ESP32开发板与APP配合实现远程唤醒计算机的WOL(网络唤醒)MicroPython设计源码,共包含29个文件,包括20个Python脚本、1个Git忽略文件、1个JSON配置、1个LICENSE文件、1个Markdown文档、1个HTML页面、1个...

    Python爬虫脚本。模拟登录 爬虫,操作excel,远程开机

    Python的requests库可以轻松实现这一功能,通过设置headers和data参数来模拟浏览器行为。同时,可能还需要使用到cookies和session来保持会话状态。对于处理验证码或动态令牌的情况,可能需要用到selenium、 ...

    Python 远程开关机的方法

    Python 远程开机代码实现 Python 关机说明 Python 开机 关于用程序来开机,是怎么做到的呢?这就是 WOL 技术 Wake-On-Lan, 利用计算机在关机或休眠状态时,网卡及主板部分仍然有微弱的供电,当然要保持电源是插

    mqtt远程wol唤醒

    远程开机,基于阿里云mq队列,兼容mqtt,使用python接收订阅 远程开机

    wolrc:通过 WOL 远程控制你的 linux box-开源

    它包含了实现 WOL 监听和执行预定义任务的核心逻辑。 4. `readme`:这个通常是项目简介和使用指南,包含了如何安装、配置和运行 wolrc 的说明,以及可能的问题解答和开发者信息。 通过这个项目,你可以学习到: - ...

    srm-wol:SRM-WoL的测试仓库

    2. `src/` 目录:源代码,可能包含实现了SRM-WoL功能的脚本或程序。 3. `tests/` 目录:测试用例,用于验证SRM-WoL功能是否正常工作。 4. `docs/` 或 `wiki/` 目录:项目文档,可能有技术细节、API参考和教程。 5. `...

    webWOL:一个简单的Wake On Lan Web应用程序

    另一方面,wol库则是专门用于实现WOL协议的,它可以生成并发送魔包(Magic Packet),这种特殊的网络数据包能够触发支持WOL的硬件设备从休眠状态唤醒。 在WebWOL的应用中,用户可以通过Web界面输入目标设备的MAC...

    Wake-On-Remote-master.zip

    标题中的"Wake-On-Remote-master.zip"是一个压缩包文件,其中包含了实现远程开机启动功能的Python脚本。这种技术通常被称为"Wake-on-LAN"(WOL),它允许用户通过网络唤醒处于休眠或关机状态的计算机。WOL是通过发送...

    远程开机工具源码及可执行文件

    标题提到的“远程开机工具源码及可执行文件”显然提供了实现这一功能的软件资源。 该程序的核心原理是利用MAC地址,这是一个在网络设备中独一无二的物理标识。每个网卡都有一个MAC地址,它在网络通信中用于识别设备...

    远程开机 网络唤醒 无需任何软件

    例如,一个简单的Python实现可以使用socket库发送Magic Packet: ```python import socket def wol(mac_address): mac_address = mac_address.replace('-', ':').lower() magic_packet = b'\xff' * 6 + bytes....

    网络教程全球范围内的语音控制魔法!小爱同学让你的电脑随心所欲开关机

    “xiaoqiangwol”可能是实现这一功能的关键代码文件,WOL(Wake-On-Lan)技术常用于远程唤醒电脑,这个文件可能包含了实现这一功能的部分。 综上所述,这个教程涵盖了以下知识点: 1. Python编程基础:理解Python...

    flask-wol:用于发送 LAN 唤醒数据包的微型 Flask Web 应用程序

    这个应用的实现可能包括创建 Flask 路由来处理 HTTP 请求,接收用户输入的 MAC 地址和目标 IP,然后利用 fping 和 netaddr 检查网络连接并准备 WOL 数据包,最后通过网络发送这个数据包来唤醒目标计算机。...

    PyPI 官网下载 | wolproxypy-0.1.1.tar.gz

    `wolproxypy`库可能是一个实现特定功能的Python模块,但具体功能描述未在标题和描述中给出。通常,这样的库可能是为了简化或优化开发者的工作,比如提供网络唤醒(Wake-on-LAN,WOL)功能的接口,或者与Proxies相关...

    网络唤醒示例程序

    2. **构建魔法包**:使用编程语言(如Python、C++等)编写程序,生成包含目标MAC地址的魔法包。这个"网络唤醒示例程序"就是这样的工具,它能根据输入的MAC地址创建正确的数据包。 3. **发送魔法包**:程序通过网络...

    laptop_lid_closed_update:此代码使用局域网唤醒功能远程唤醒计算机,并发送SSH命令以特定的时间表启动我们的维护脚本

    1. `wakeonlan.py` - Python脚本,实现WoL功能。 2. `ssh_commands.sh` - Shell脚本,包含SSH命令的集合。 3. `maintenance_scripts/` - 包含各种维护任务的Perl或其他脚本。 4. `config.ini` - 配置文件,定义WoL...

Global site tag (gtag.js) - Google Analytics