Linux

如何在 Linux 中向所有鄰居廣播 ARP 更新?

  • October 27, 2021

子網中的一些客戶端已經用舊的 MAC 地址記憶體了 IP,我希望他們通過 ARP 廣播來更新新值,在 Linux 中可以嗎?

是的,它被稱為“主動 ARP”或“免費 ARP”。查看手冊頁以獲取更多詳細資訊,但語法如下所示:

arping -U 192.168.1.101

如果您要欺騙地址,則可能需要先執行:

echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind

最後,由於其欺騙能力,發送未經請求的 ARP 數據包有時被認為是“惡意”活動,可能會被忽略,或者可能導致被某些第三方防火牆阻止。

您要查找的內容稱為“免費 ARP ”,可以使用“arping”來完成。如果您的 IP 地址是 eth0 上的 10.0.0.1,您將使用以下命令:

arping -A -i eth0 10.0.0.1

您可以在“arping”執行時使用“tcpdump”驗證 ARP 是否正在發送,在這種情況下,我正在觀看“wlan0”:

laptop:~$ sudo tcpdump -lni wlan0 arp    
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
12:14:11.219936 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
12:14:12.220119 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
12:14:13.220288 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
12:14:13.220397 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
laptop:~$ 

引用自:https://serverfault.com/questions/175803