Трансляция ARP-запроса на все узлы?
Я пытаюсь передать запрос 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
Обычный широковещательный пинг
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. Может быть, это может быть перезаписано изменением реестра, но я не знаю, случайно.
Это обсуждается в документе стандартов RFC 1122.
Я бы предложил использовать bash
скрипт такой:
for i in 192.168.1.{1..254}
do
ping -c1 $i > /dev/null || true
arp -an $i
done