2

我们有一个运行 Windows XP Embedded SP1 的产品。我们在 ARP 表中为一个假 IP 配置一个假的(不存在的)MAC 地址。当发生通信时,Windows 将数据包发送到假 MAC 和假 IP,然后我们在驱动程序中将其更改为真实的。这就是软件的设计方式。

问题是,有时 Windows 会开始发送伪造 IP 的 ARP 请求,即使它在 ARP 表中有一个条目。我不知道为什么会发生这种情况,并且在盲目尝试重现该问题时,我编写了一个脚本来删除 ARP 条目,然后在几秒钟后再次添加它。经过一些尝试,我看到了问题的发生。

关于我应该检查/更改什么的任何想法?

4

1 回答 1

0

您能否在两种情况下检查以太网帧 MAC 地址,在有条目的情况下和在 arp 缓存中没有条目的情况下。此外,检查您的代码,我想您会在代码中找到一些对 FAKE IP 地址的引用(您可能忘记更改)有许多应用层协议需要在通信之前使用 ARP,所以我认为也许您在代码中使用了这些协议之一,并且您指示代码与假 IP 地址进行通信,这就是为什么当您调用此协议时,它使用 arp 来查找假 IP 的 MAC 地址。让我知道这是否回答了您的问题。

于 2016-06-20T00:42:31.310 回答