简介

WOL(Wake-On-LAN)是一种用于远程唤醒局域网内主机的一种解决方案。

但对于跨网络的远程唤醒功能由于网络中路由器的限制,这种解决方案只能在主控机和被控机位于同一广播域的情况下使用。

提出了一种廉价、低耗且实用的WOL-Proxy的设计方案,利用单片机技术,实现了基于WOL的跨网络远程唤醒主机的功能。



工作原理

可被远程唤醒的计算机必须有其电源、主板和网卡等硬件的支持。

该计算机的电源是必需符合ATX 2.03标准的ATX电源,+5VStandby电流至少应在720mA以上,否则某些耗电较大的网卡可能无法启动;

主板必须支持WOL,并在其BIOS中的电源管理菜单中启用这项功能;

网卡也必须支持WOL,其与普通网卡的区别主要表现在:

(1)早期支持WOL的网卡都有一个3针的WOL接口,并通过一根3芯电缆与主板相连,以获得供电;

(2)支持网络启动功能的网卡都有一块支持WOL的芯片。

具备上述硬件要求的计算机便可被运行在局域网内另外一台计算机上的一些实用软件唤醒了。

这种软件通常会在局域网内广播一个UDP数据包,端口不限,

数据内容是一个有着特定格式的数据包:Magic Packet

其格式为:6个0xFF加16个目标网卡MAC地址,因此该Magic Packet总长度为。

6+16*6=102个字节,如表1所示。

只有指定的支持WOL的网卡才会处理这个数据包,并唤醒这台计算机。

表1:Magic Packet数据报格式

字  节

含  义

1~6字节是6个重复的0xFF

表示该包是网络唤醒数据包

内容

FF-FF-FF-FF-FF-FF

字节

7~12字节是目标网卡MAC地址

内容

00-14-2A-C3-D4-BB

字节

13~18字节是目标网卡MAC地址

内容

00-14-2A-C3-D4-BB

字节/内容

……

字节

97~102字节是目标网卡MAC地址

内容

00-14-2A-C3-D4-BB


魔术包(幻数据包)发送方式

udp发送,默认为9端口.

mac地址用于数据包内容

ip地址或者发广播地址