我正在尝试广播 ARP 查询。我想通过此查询更新系统中每个节点的 ip 和 mac 地址。这样我就可以输入 $arp 并查看我网络上的所有节点及其对应的物理地址。
我已尝试过$ arping
,但没有成功。
rafael@rcepeda:/var/www/html$ arping -s 192.168.1.9 -I wlan0 192.168.1.255
ARPING 192.168.1.255 from 192.168.1.9 wlan0
^CSent 37 probes (37 broadcast(s))
Received 0 response(s)
ifconfig 用于我的接口
inet addr:192.168.1.9 Bcast:192.168.1.255 Mask:255.255.255.0
定期广播 ping
rafael@rcepeda:/var/www/html$ ping -b 192.168.1.255
WARNING: pinging broadcast address
PING 192.168.1.255 (192.168.1.255) 56(84) bytes of data.
^C
--- 192.168.1.255 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5040ms
100% 数据包丢失
我的路由器不允许我这样做吗?
答案1
大多数 Linux 发行版默认忽略 ICMP 回显广播(内核参数net.ipv4.icmp_echo_ignore_broadcasts
)。
据我所知,Windows 也不响应 ICMP 回显广播。也许可以通过修改注册表来覆盖它,但我暂时不知道。
我建议使用bash
这样的脚本:
for i in 192.168.1.{1..254}
do
ping -c1 $i > /dev/null || true
arp -an $i
done