我需要在本地网络中查找MAC地址,而我正在使用Linux。我所做的是发送一个带有libnet的ARP请求,但在发送3个请求后,缓存仍然不会更新。我使用wireshark捕获数据包。来自wireshark,在我的每个ARP请求之后,我确实获得了3次ARP重放。有谁知道ARP缓存怎么不会更新?
答案 0 :(得分:4)
Linux内核默认不接受未经请求的ARP。由于请求是由您的用户空间应用程序而不是内核发送的,因此内核将回复视为“未经请求”。
您可以在/proc/sys/net/ipv4/conf/*/arp_accept
中更改此默认设置(基于每台设备或所有设备)。