#!/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实现WakeOn Lan远程开机功能,具体介绍如下: 创建魔法唤醒包 格式化mac地址,生成魔法唤醒包,然后发送包,首先电脑需要打开wake on lan功能 创建main_wake_on_lan.py文件 import socket import...
【Python实现的网络远程开机工具】 网络远程开机,也称为Wake-on-LAN(WOL),是一种允许用户在计算机关闭或休眠状态下通过网络唤醒它的技术。这个功能在远程办公、远程维护或者需要从远处控制设备时非常实用。...
#### 五、Python实现细节 为了方便远程控制,可以编写一个简单的Python脚本来发送魔法数据包。以下是一些关键点: 1. **脚本结构**:使用标准库`socket`和`struct`来创建和发送UDP数据包。 2. **命令行参数**:通过`...
通过Python的paramiko库可以实现SSH连接,而wolpy库则可以帮助我们发送WOL魔法包来唤醒远程设备。 2. **Selenium介绍**: Selenium是一个强大的自动化测试工具,但也可以用于网页数据抓取。它可以模拟浏览器行为,...
本项目为ESP32开发板与APP配合实现远程唤醒计算机的WOL(网络唤醒)MicroPython设计源码,共包含29个文件,包括20个Python脚本、1个Git忽略文件、1个JSON配置、1个LICENSE文件、1个Markdown文档、1个HTML页面、1个...
Python的requests库可以轻松实现这一功能,通过设置headers和data参数来模拟浏览器行为。同时,可能还需要使用到cookies和session来保持会话状态。对于处理验证码或动态令牌的情况,可能需要用到selenium、 ...
Python 远程开机代码实现 Python 关机说明 Python 开机 关于用程序来开机,是怎么做到的呢?这就是 WOL 技术 Wake-On-Lan, 利用计算机在关机或休眠状态时,网卡及主板部分仍然有微弱的供电,当然要保持电源是插
远程开机,基于阿里云mq队列,兼容mqtt,使用python接收订阅 远程开机
它包含了实现 WOL 监听和执行预定义任务的核心逻辑。 4. `readme`:这个通常是项目简介和使用指南,包含了如何安装、配置和运行 wolrc 的说明,以及可能的问题解答和开发者信息。 通过这个项目,你可以学习到: - ...
2. `src/` 目录:源代码,可能包含实现了SRM-WoL功能的脚本或程序。 3. `tests/` 目录:测试用例,用于验证SRM-WoL功能是否正常工作。 4. `docs/` 或 `wiki/` 目录:项目文档,可能有技术细节、API参考和教程。 5. `...
另一方面,wol库则是专门用于实现WOL协议的,它可以生成并发送魔包(Magic Packet),这种特殊的网络数据包能够触发支持WOL的硬件设备从休眠状态唤醒。 在WebWOL的应用中,用户可以通过Web界面输入目标设备的MAC...
标题中的"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 路由来处理 HTTP 请求,接收用户输入的 MAC 地址和目标 IP,然后利用 fping 和 netaddr 检查网络连接并准备 WOL 数据包,最后通过网络发送这个数据包来唤醒目标计算机。...
`wolproxypy`库可能是一个实现特定功能的Python模块,但具体功能描述未在标题和描述中给出。通常,这样的库可能是为了简化或优化开发者的工作,比如提供网络唤醒(Wake-on-LAN,WOL)功能的接口,或者与Proxies相关...
2. **构建魔法包**:使用编程语言(如Python、C++等)编写程序,生成包含目标MAC地址的魔法包。这个"网络唤醒示例程序"就是这样的工具,它能根据输入的MAC地址创建正确的数据包。 3. **发送魔法包**:程序通过网络...
1. `wakeonlan.py` - Python脚本,实现WoL功能。 2. `ssh_commands.sh` - Shell脚本,包含SSH命令的集合。 3. `maintenance_scripts/` - 包含各种维护任务的Perl或其他脚本。 4. `config.ini` - 配置文件,定义WoL...