![WOL 信号发送到哪个 UDP 端口有关系吗?](https://linux22.com/image/1278991/WOL%20%E4%BF%A1%E5%8F%B7%E5%8F%91%E9%80%81%E5%88%B0%E5%93%AA%E4%B8%AA%20UDP%20%E7%AB%AF%E5%8F%A3%E6%9C%89%E5%85%B3%E7%B3%BB%E5%90%97%EF%BC%9F.png)
我看到许多 WOL 实例使用端口 7,许多使用端口 9,这有关系吗?它不是只在第 2 层或以太网上寻找 WOL 数据包吗?
答案1
@Spiff正确的说法是,就目标接收方的 LAN 唤醒功能而言,这并不重要。但是,建议使用 UDP,因为它可以在没有原始套接字带有安全限制,建议使用端口 9,因为它映射到旧的众所周知的丢弃协议,而端口 7 映射到回声协议。
这意味着如果您的网络上有主机支持这些旧的简单标准服务,那么在使用端口 7 时您将获得不必要的反向散射流量,而使用端口 9 时则不会获得任何流量。并且由于 LAN 唤醒通常是广播的,因此您可能会从许多主机获得反向散射。
此外,如果您使用网络嗅探器对 WoL 进行故障排除,例如Wireshark,仅当 WoL 数据包是端口 9 上的 UDP 数据包时,它才会正确解码 WoL 数据包。
答案2
不,这没关系。它甚至不必是 UDP 或 IP 数据包。NIC 只是在它看到的所有帧中寻找魔法模式(六个字节的 0xff,然后是 16 次自己的 MAC 地址)。
答案3
当我使用端口 9 唤醒计算机时,它会重新启动而不是从睡眠状态中恢复。我怎么也想不出我做错了什么。我尝试使用端口 7,它没有重新启动而是正常唤醒了。大多数时候使用哪个端口似乎并不重要,但对于我的硬件,我需要使用端口 7。