использование libnet для отправки запроса ARP, но кеш arp не будет обновляться после получения ответа ARP - PullRequest
5 голосов
/ 29 июля 2010

Мне нужно посмотреть MAC-адрес в локальной сети, и я использую Linux. Что я делаю, так это отправляю ARP-запрос с помощью libnet, но после отправки 3-х запросов кеш все равно не обновляется Я использую wireshark, чтобы поймать пакеты. Из wireshark я получил 3 повторения ARP после каждого моего запроса ARP. Кто-нибудь знает, как получается, что кэш ARP не будет обновляться?

1 Ответ

4 голосов
/ 29 июля 2010

Ядро Linux по умолчанию не принимает незапрошенный ARP.Поскольку запрос был отправлен вашим приложением из пользовательского пространства, а не ядром, ядро ​​видит ответ как «незапрошенный».

Вы можете изменить это значение по умолчанию в /proc/sys/net/ipv4/conf/*/arp_accept (для каждого устройства или для всехвсе устройства).

...