我需要在本地网络中查找MAC地址,并且我使用的是Linux。我所做的是用libnet发送一个ARP请求,但是在我发送了3个请求之后,缓存仍然不会更新。我使用wireshark来捕获数据包。从wireshark上,我收到了3个ARP回放,在我的每个ARP请求之后。有人知道为什么ARP缓存不更新吗?
发布于 2010-07-29 13:56:58
默认情况下,Linux内核不接受未经请求的ARP。由于请求是由您的用户空间应用程序发送的,而不是由内核发送的,因此内核将回复视为“未经请求的”。
您可以在/proc/sys/net/ipv4/conf/*/arp_accept中更改此默认值(可以针对每个设备更改,也可以跨所有设备更改)。
https://stackoverflow.com/questions/3359588
复制相似问题