使用libnet发送ARP请求,但获得ARP回复后arp缓存不会更新

时间:2010-07-29 05:01:39

标签: c linux networking arp libnet

我需要在本地网络中查找MAC地址,而我正在使用Linux。我所做的是发送一个带有libnet的ARP请求,但在发送3个请求后,缓存仍然不会更新。我使用wireshark捕获数据包。来自wireshark,在我的每个ARP请求之后,我确实获得了3次ARP重放。有谁知道ARP缓存怎么不会更新?

1 个答案:

答案 0 :(得分:4)

Linux内核默认不接受未经请求的ARP。由于请求是由您的用户空间应用程序而不是内核发送的,因此内核将回复视为“未经请求”。

您可以在/proc/sys/net/ipv4/conf/*/arp_accept中更改此默认设置(基于每台设备或所有设备)。