我正在编写一个使用 UDP 的服务,但无法设法回复客户端。
当通过 DHCP 分配的 IP(192.168.1.143)向客户端发送时,Wireshark 显示没有发送的数据包。服务器接收,Wireshark 显示客户端发送的任何数据包(广播)。
如果我发送到一个随机的、未分配的 IP,Wireshark 不会显示它。我以为 NIC 会很乐意发送它,因为有一个路由器挡住了路 - 即使远程端点不可能接收到它,Wireshark 难道不应该显示它吗?
如果我发送到路由器 IP 或另一台(特定的,只有另一台)计算机,则数据包将显示在 Wireshark 中。
我正在运行 Windows 7,使用控制面板关闭了防火墙。
wireshark 不显示这些数据包是否意味着它们没有被发送?在同一子网上,向一个 IP 显示数据包,而不向另一个 IP 显示数据包,这有什么原因吗?
答案1
NIC 无法顺利地将数据包发送到同一子网中未分配的 IP 地址,因为它不知道要将其发送到哪个硬件地址。由于该地址位于同一子网中,因此路由器不是路由器在子网之间路由。
更新 1:我知道您认为该机器“直接连接到路由器”,但这是一个令人困惑的术语。您的“路由器”除了路由器外,还有一个内置交换机。这台机器实际上连接到路由器的交换机,就像路由器路由的实际部分一样。
更新 2:有线设备似乎根本无法与 LAN 上的无线设备通信,因为有线设备无法从无线设备获得 ARP 回复。故障排除的下一步是确保有线和无线设备连接到同一个路由器,并且它们之间没有其他设备。