网络远程唤醒 WOL Magic Packet

Magic Packet

Magic Packet白皮书介绍:

  The basic technical details of Magic Packet Technologyare simple and easy to understand. There is also a sec-ond set of details, which will be implementation spe-cific. In other words, silicon- or gate-levelimplementations of Magic Packet Technology may dif-fer from AMD's approach and be completely interoper-able, as long as the basic feature set is maintained.

        https://wenku.baidu.com/view/d5a3282e453610661ed9f487.html

 AMD公司出的网络唤醒协议,即发送远程唤醒数据包,Magic Packet虽然只是AMD公司所开发的一项技术,但是受到了几乎所有网卡制造商的支持,因此,大多数流行网卡都能与之很好地兼容。(2010年后生产的主板)

WOL原理

WOL(Wake on Lan),即局域网唤醒,从根本上来说是硬件设备提供的一项管理功能,该功能可以当电脑处于关机或休眠状态时,通过给网卡发送特定的数据包从而命令网卡向主板发送开机指令,进而实现上电开机.可见,网络唤醒需要硬件(主要是主板和网卡)的支持.

 

硬件设置

进入BIOS,将“Power Management Setup”中的“Wake Up On LAN”或“Resume by LAN”项设置为“Enable”或“On”,类似于这样,因为主板不一样,BIOS设置位置有可能有差异

比如我的主板设置是在:Setting-Advanced-Wake up event setup - Resume By PCI-E Device 设置为Enable.

有的人说还要设置boot的第一启动项为network,我试过不需要滴!

 

软件设置

BIOS设置好了,硬件已经满足条件了,然后需要OS级别的软件设置

Windows设置:

设备管理器-网卡设备-属性-高级, 在列表里能找到“Wakeup Capabilities(唤醒功能)”设置值为“MagicPacket”或”Both”.

Linux设置:

先通过 ifconfig 查看要wol的网卡.

这里需要说下,好多网友说没有eth0, 对! 我也没有这个网卡的信息,因为你用的肯定是Ubuntu的衍生版,在Ubuntu 16.04之后以太网卡名称由eth0,变成了enp3s0,还有systemd替换掉了initd来引导系统,参考:   Linux网卡命名enp3s0说明

用ethtool命令 打印网卡信息

sudo ethtool enp3s0

打印结果:

....
....
Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000033 (51) drv probe ifdown ifup

Wake-on 参数:

d 表示禁用disable

g表示启用great

如果wake-on参数为d就要启用wol, 启用命令:

sudo ethtool -s enp3s0 wol g

必须要用sudo 管理员权限否则会提示:  Cannot get current wake-on-lan settings: Operation not permitted

-s 参数是修改以太网设备设置

supports wake-on 中的参数

p Wake on phy activity
u Wake on unicast messages
m Wake on multicast messages
b Wake on broadcast messages
a Wake on AR

 

获取MAC地址

Windows 直接在网络设备-属性里面, linux使用ifconfig 命令查看

 例如linux:

enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.213  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a680:65a4:a006:5bbc  prefixlen 64  scopeid 0x20<link>
        ether d8:cb:8a:3f:32:d2  txqueuelen 1000  (以太网)
        RX packets 890331  bytes 1003253740 (1.0 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 555010  bytes 73345907 (73.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

网络唤醒

到这;已经有了BIOS的支持,有了OS wake-on的支持,又知道了MAC地址,说明被控制(唤醒)机已经Ready了.

局域网唤醒

现在我们需要局域网的电脑或者设备去访问,访问不是随随便便访问的,因为Magic Packet是一种协议规则,必须要用规则发送,关于规则可看下一个段落解析Magic Packet包

我们用GUI工具去访问,常用的WOL工具有

WakeOnLanGui

 

下载地址:https://www.depicus.com/wake-on-lan/wake-on-lan-gui

WakeMeOnLan

下载地址:http://wakemeonlan.findmysoft.com

参数IP地址,MAC地址,任意一个端口号,IP地址也可以直接填写255.255.255.255

 

Linux下我没有找到GUI工具,只有wakeonlan命令了

sudo apt install wakeonlan

唤醒目标主机:

wakeonlan d8:cb:8a:3f:32:d2

输出:

Sending magic packet to 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值