Wake On Lan(Wol)
简介
Wake-on-LAN 也叫 WoL,指通过网络消息打开或唤醒计算机。
WoL 需要由另一台「同局域网」设备发送网络信号,任意有能力发送 WoL 信号 的设备都可以充当此角色;在远程办公场景中,则最好由「带有线网卡的低功耗设备」来执行,这类设备包括但不限于以下选项:
- 带网络唤醒 WoL 功能的路由器产品
- OpenWrt Linux 设备「TP-Link 703n」
- 树莓派「推荐 2 代」
网络扫描
获取局域网下设备MAC地址, 或者OpenWRT直接显示
平台 | 工具 |
---|---|
Windows | Softperfect Network Scanner |
Linux | arp-scan |
Android / iOS | Fing / PingTools |
发出唤醒信息的软件
可以使用的幻数据包唤醒工具有:
平台 | 工具 | 特点 |
---|---|---|
Windows | wolcmd.exe | 命令行,跨网段 |
Linux/MacOS | etherwake, wakeonlan | 命令行,同网段 |
Android / iOS | Fing / PingTools | 可扫描 |
请注意,WoL 属于无状态协议,仅发送、不确认。
问题:抓包发现 WolCmd和wakeonlan的目的地址不同
1 | WolCmd.exe 90:09:D0:15:70:B8 192.168.233.242 255.255.255.255 9 (目的地址 192.168.233.242) |
路由遇到目的MAC是广播地址怎么办?
IP的广播有三种:
- 255.255.255.255叫本地广播,也叫直播,direct broadcast,不跨路由器。
- 172.16.33.255叫子网广播,广播给172.16.33.0这个子网,可以跨路由器
- 172.16.255.255叫全子网广播,广播给172.16.0.0这个主网,可以跨路由器。
路由器是三层设备,可以隔离广播,但并不是所有广播都隔离。事实上只有本地广播路由器才不转发,对于子网广播和全子网广播,路由器是转发的。
为什么呢?我们来看255.255.255.255的广播,在MAC的封装中,对应的目的MAC是广播,而子网广播和全子网广播,对应的目的MAC是单播,所以路由器会转发。所以路由器隔离的广播是目的MAC为全1的广播,对于目的MAC是单播的上层广播,路由器是不能隔离的。
广播规则
1 | > netstat -r -anv |
路由器
1 | [root@ax6s ~]$ ip route get to 192.168.233.242 from 192.168.233.142 iif lan2 |
电脑需要远程被远程唤醒
电脑设置
- 「网络连接」
- 以太网(有线网)属性
- 【网络】(Realtek PCIe 2.5GbE Family Controller)下配置
- 【电源管理】勾选「允许此设备唤醒计算机」以及「只允许幻数据包唤醒计算机」
- BIOS打开相关选项
1
2
3
4
5Automatic Power On
Wake on LAN/WLAN
Power Management
Power On by Onboard LAN
Power On by PCI-E Devices
需要进一步的研究学习
暂无
遇到的问题
暂无
开题缘由、总结、反思、吐槽~~
Nas 太吵,需要自动关机