如何允许Windows 7接收来自外部设备的UDP消息,地址为" 127.0.0.2"?

时间:2015-05-11 11:01:50

标签: windows udp broadcast

我的公司生产一些带有网络接口的设备。使用IP地址= 0.0.0.0发送设备。客户将设备插入现场的私人网络中,通过使用VB6编写的小应用程序,发现它并设置正确的IP地址。 这通过使用UDP消息工作:应用程序广播了一个"谁在那里?" UDP消息,回读包含设备MAC地址的答案,并且用户发送包含目标MAC的新IP地址的另一条UDP消息。

现在,由于某些未知原因,其中一个设备将其IP地址设置为127.0.0.2。问题是现在VB应用程序无法再找到(通过UDP)设备,因此无法将IP地址更改为有效的IP地址。

进一步的分析显示,如果应用程序在Windows XP上运行,它会看到设备,但如果应用程序在Windows 7上运行,则UDP消息确实会到达" socket" (而Wireshark可以从设备上看到答案)。

现在,有一个解决方案允许Win7让"通过"从127.0.0.2外部地址发送的UDP消息?如果是的话,我们可以避免向世界各地发送具有正确IP地址的替换设备以及在现场进行物理安装的所有麻烦。

这是"问题"的Wireshark捕获和#34;答案"没有"检测到"通过VB应用程序: cap.pcapng

1 个答案:

答案 0 :(得分:4)

  

现在,由于某些未知原因,其中一个设备将其IP地址设置为127.0.0.2。

你需要解决这个问题。

127/8块保留用于“loopback”地址(即localhost)。发送到127.0.0.2的数据包不会离开您的系统NIC。除非驱动器(或硬件)中存在错误:WinXP可能就是这种情况。