How*_*ard 23 networking linux arp
子网中的某些客户端使用旧 MAC 地址缓存了 IP,我希望它们通过执行 ARP 广播来更新新值,这在 Linux 中可行吗?
tyl*_*erl 29
是的,它被称为“主动提供的 ARP”或“免费的 ARP”。查看arping的手册页以了解更多详细信息,但语法如下所示:
arping -U 192.168.1.101
Run Code Online (Sandbox Code Playgroud)
如果您要欺骗地址,则可能需要先运行以下命令:
echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind
Run Code Online (Sandbox Code Playgroud)
最后,由于其欺骗能力,发送未经请求的 ARP 数据包有时被认为是“恶意”活动,可能会被忽略,或者可能导致被某些第三方防火墙阻止。
您正在寻找的是“免费 ARP ”,可以使用“arping”来完成。如果您的 IP 地址是 eth0 上的 10.0.0.1,您将使用以下命令:
arping -A -i eth0 10.0.0.1
Run Code Online (Sandbox Code Playgroud)
您可以在“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:~$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
101746 次 |
| 最近记录: |