WOL网络唤醒

WOL网络唤醒

一、网络唤醒原理

1、什么是网络唤醒

网络唤醒(Wake-on-LAN,WOL)是一种计算机局域网唤醒技术,使局域网内处于关机或休眠状态的计算机,将状态转换成引导(Boot Loader)或运行状态。无线唤醒(Wake-on-Wireless-LAN,WoWLAN)作为 WOL 的补充技术,使用无线网卡去唤醒计算机。网络唤醒在一般的局域网环境里使用有限广播地址(255.255.255.255)即可,由于路由器都不转发目的地址为有限广播地址的数据报,因此在复杂网络情况下通常使用子网定向广播地址。在局域网外唤醒局域网内特定计算机,可以使用路由器的 DDNS 与端口转发。

在1996年10月,英特尔和 IBM 成立了 Advanced Manageability Alliance。1997年4月,联盟提出了 WOL 技术。这是 WOL 技术的起源,随后各大厂商纷纷推出了自己的 WOL 技术标准。本文所指的WOL 技术是由 AMD 公司提出的 Magic Packet(幻数据包,魔术包)唤醒方式,这里给出 AMD 关于此技术的白皮书

2、幻数据包(Magic Packet)

幻数据包是一个广播帧,包含目标计算机的MAC地址。由于 MAC 地址的唯一性,使数据包可以在网络中被唯一的识别。幻数据包发送通常使用无连接的传输协议,如 UDP ,发送端口为 7 或 9 ,这只是通常做法,没有限制。

WOL 技术被提出了将近20年,绝大多数的现代网卡都支持在超低功耗下监听特定的报文,如 ARP。如果设备网卡接收到一个与自己 MAC 地址相同的幻数据包,则网卡会向计算机的电源或主板发出信号以唤醒计算机。大部分的幻数据包在数据链路层(OSI模型第2层)上发送,当发送时,使用广播地址广播到给定的网络上,不使用IP地址(OSI模型第3层)。当然这是绝大部分情况,幻数据包也可以使用特定的 IP 地址进行发送。

幻数据包最简单的构成是6字节的255(FF FF FF FF FF FF FF),紧接着为目标计算机的48位MAC地址,重复16次,数据包共计102字节。有时数据包内还会紧接着4-6字节的密码信息。这个帧片段可以包含在任何协议中,最常见的是包含在 UDP 中。

FF FF FF FF FF FF FF MAC 地址 × 16 4-6字节的密码(可空)

幻数据包还有一些基本限制条件:

(1)需要知道目标计算机 MAC 地址

(2)不提供送达确认

(3)可能无法在局域网之外工作

(4)需要硬件进行支持

3、幻数据包抓包结构解析

二、网络唤醒设置

1、系统网卡设置(Windows10系统为例)

(1)找到设置入口位置:

方法一:我的电脑右键——管理——设备管理器——网络适配器,找到对应的网卡,右键属性

方法二:控制面板(小图标显示)——网络和共享中心——更改适配器设置,选择使用的网卡右键属性——配置

(2)修改网卡设置

修改设置如下图:

2、BIOS设置(微星B350M BAZOOKA为例)

(Setting)——高级——唤醒事件设置,将“PCIE设备唤醒”设置为“允许”。如果有“网络唤醒”选项,也需要将“网络唤醒”设置为允许。微星的此款主板是默认将Wake on LAN 网络唤醒功能打开的,所以并不需要设置开启,其他主板可以拨打对应厂家的技术支持电话进行咨询。

3、对目标主机唤醒(linux系统为例)

(1)安装etherwake

sudo apt-get install etherwake

(2)使用唤醒命令

# 命令格式:wakeonlan 目标主机mac地址
wakeonlan 30:9c:23:67:a1:8b

(3)其他命令:

查询局域网中主机的mac地址:

pi@raspberrypi:~ $ arp -a
? (192.168.3.177) at <incomplete> on wlan0
? (192.168.3.185) at <incomplete> on veth440980a
? (192.168.3.1) at 94:77:2b:65:44:34 [ether] on wlan0
? (192.168.3.1) at <incomplete> on veth440980a
? (172.17.0.2) at 02:42:ac:11:00:02 [ether] on docker0
? (192.168.3.175) at 74:d2:1d:ad:e9:54 [ether] on wlan0
? (192.168.3.166) at 30:9c:23:67:a1:8b [ether] on wlan0

wakeonlan命令的使用选项:

pi@raspberrypi:~ $ wakeonlan
Usage
    wakeonlan [-h] [-v] [-i IP_address] [-p port] [-f file] [[hardware_address] ...]

Options
    -h
        this information
    -v
        displays the script version
    -i ip_address
        set the destination IP address
        default: 255.255.255.255 (the limited broadcast address)
    -p port
        set the destination port
        default: 9 (the discard port)
    -f file 
        uses file as a source of hardware addresses

See also
    wakeonlan(1)    

网络唤醒原理部分参考自:网络唤醒(WOL)全解指南:原理篇


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 xumeng32@126.com

文章标题:WOL网络唤醒

文章字数:1.2k

本文作者:F_numen

发布时间:2021-05-29, 11:00:08

最后更新:2021-05-29, 12:27:28

原始链接:https://netheroone.cn/archives/fc64200e.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
/*baidu统计*/