使用Wake-on-LAN协议通过互联网远程开启PC的程序2025年2月26日 | 4 分钟阅读 引言Wake-on-LAN (WoL) 是一种以太网或令牌环网的网络通信标准,它允许通过网络消息来开启或唤醒计算机。
![]() 工作原理
在某些情况下,Wake-on-LAN 需要网络接口保持通电。与正常工作功耗相比,这只需要极低的待机功耗。因此,对于已关机但仍插入电源插座的计算机,在不需要时禁用 Wake-on-LAN 可以稍微降低功耗。 魔术数据包结构魔术数据包的载荷包含六个 255 字节,形成一个广播帧。该帧包含目标计算机 48 位 MAC 地址的 16 次重复,总共 102 字节。魔术数据包可以通过网络层和传输层协议发送,但通常通过以太网作为 UDP 数据报发送到端口 0 或 7,或者使用 EtherType 0x0842。这是因为魔术数据包不会被协议栈完全解析,而只是扫描其中的字符串。 标准魔术数据包的基本限制包括:
Wake-on-LAN 实现旨在非常易于使用、功耗极低,并由网络接口卡的电路快速处理。由于 Wake-on-LAN 在 IP 协议层之下工作,需要 MAC 地址,因此 IP 地址和 DNS 名称无效。 程序输出 ![]() 代码解释实现 Wake-on-LAN (WoL) 的第一步是创建一个 UDP 套接字以启用广播通信,从而确保 WoL 魔术数据包能够到达所有本地网络设备。WoL 数据包通过以“0xFF”字节为起始流,然后重复目标计算机的 MAC 地址多次来构建。接下来,通过 UDP 套接字使用 sendto() 函数将此数据包发送到本地区域网络 (LAN) 的广播地址,通常是 255.255.255.255,或者发送到指定的子网广播地址,例如 192.168.1.255。发送后,一条确认消息会告知 WoL 信号已成功发出。 下一主题RFC |
我们请求您订阅我们的新闻通讯以获取最新更新。