有没有什么方法可以确定计算机关闭时路由器是否将 WoL 数据包转发到 NIC 卡?

有没有什么方法可以确定计算机关闭时路由器是否将 WoL 数据包转发到 NIC 卡?

我很难弄清楚问题是否在于路由器没有将数据包转发到 NIC,或者问题在于 NIC 没有唤醒 PC 或其他阻止唤醒的隐藏设置。

无论如何,我想知道是否有任何方法可以检查 NIC 是否真正接收到 LAN 唤醒 (WOL) 数据包。因为这是排除系统故障的第一步。

我使用了 Wireshark,但这是我第一次使用这个程序,我能够看到数据包被路由器接收,然后,路由器发送一个 ARP 请求——上面写着“告诉我谁有 IP”。

那么,当 PC 处于睡眠或关机状态并侦听 WoL 数据包时,我如何确定 NIC 是否实际接收到了该数据包?NIC 是否保留了它接收到的数据包/事件的记录?

答案1

路由器正在进行 ARP who-has 请求表明魔术包已通过 IP 层发送:这超出了 WoL 协议的范围,该协议指定第 2 层(以太网)广播帧,其有效载荷FF:FF:FF紧接着 NIC 的 MAC 地址重复十六次。

因此,如果路由器尝试将这样的数据包发送到特定的 IP 地址,它将无法唤醒休眠系统,因为 ARP 协商无法完成,所以数据包将无法放到网络上。

路由器必须将数据包发送到广播地址,而这不需要 ARP 解析:这样的数据包将发送到所有站点的所有端口。以太网广播数据包通常可以通过使用 255.255.255.255 作为目的地来发送,或者通过将该netmask参数的 1s-compliment 与该参数进行逻辑 AND 来发送network

例如:

网络 192.168.2.0 的子网掩码为 255.255.254.0,其广播地址为 (192.168.2.0 AND 0.0.1.255),即 192.168.3.255。

不幸的是,由于基于利用广播地址的数据包倍增的拒绝服务攻击,此类subnet directed broadcast数据包通常不会通过公共互联网转发,因此通常无法从本地配置管理之外的非本地网络使用 WoL。

相关内容