即使Windows在缓存中有条目(ARP表),也会发送ARP请求

时间:2011-05-04 08:49:12

标签: windows windows-xp embedded arp windows-xp-embedded

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

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

有关我应该检查/更改的内容的任何想法?

1 个答案:

答案 0 :(得分:0)

如果存在条目且arp缓存中没有条目,是否可以在两种情况下检查以太网帧MAC地址。 另外,检查你的代码,我想你会在你的代码中找到一些对FAKE IP地址的引用(你可能忘了改变) 有很多应用程序层协议需要在通信之前使用ARP,所以我想你可能在代码中使用了这些协议之一,并指示代码与假IP地址通信,这就是你调用时的原因这个协议使用arp来查找虚假IP的mac地址。 如果这回答了你的问题,请告诉我。