广播ARP查询到所有节点?

我正在尝试广播一个ARP查询。 我想通过这个查询来获取我的系统中每个节点的ip和mac地址。 这样我可以键入$ arp并查看networking上的所有节点及其对应的物理地址。

我试过$ 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%的数据包丢失

我的路由器不让我这样做吗?

大多数Linux发行版默认忽略ICMP回显广播(内核参数net.ipv4.icmp_echo_ignore_broadcasts )。

据我所知,Windows不响应ICMP回显广播。 也许它可能被registry修改覆盖,但我不知道手。

这在RFC 1122标准文档中进行了讨论。

我会build议使用这样的bash脚本:

 for i in 192.168.1.{1..254} do ping -c1 $i > /dev/null || true arp -an $i done