远程唤醒软件设计

远程唤醒(Wake-On-Lan, WOL),是在计算机电源、主板、网卡等设备的支持下,通过向处于半工作状态的网卡发送特定数据包,实现计算机从停机状态自动开启的一种远程控制技术。

远程唤醒数据包内容是FFFFFFFFFFFF加上16遍被唤醒计算机的网卡MAC地址。远程唤醒软件利用UDP,在局域网内广播该数据包,相应计算要收到后,如果包内MAC与网卡的MAC匹配,便向主机发送开机信号。

ARP协议通过IP获取MAC 地址,用到C:\WINDOWS\SYSTEM32\iphlpapi.dll(windows xp)中的SendARP函数,注意ARP返回的MAC地址与实际有差异(如若返回的MAC地址为00-11-22-33-44-55,则实际为33-22-11-00-55-44)。