Не удается пропинговать широковещательный адрес

моя домашняя сеть использует 192.168.0.0 /24 сеть для моих (в основном беспроводных) устройств. Во многих других сетях, которые я часто посещаю, я буду пинговать соответствующий широковещательный адрес, чтобы показать все текущие устройства в моих (Windows 7 x64) результатах arp -a. Пингуя широковещательный адрес сети помогает мне идентифицировать устройства, которые в настоящее время общение в той же сети.

в моей домашней сети, я теряю 100% пакетов отправлено 192.168.0.255. Таким образом arp -a не показывает мне все устройства, которые живут в моей сети. Все устройства подключаются непосредственно к моему маршрутизатору, а затем к моему интернет-провайдеру.

почему я не могу пинговать широковещательный адрес этой сети? Вход в маршрутизатор непосредственно для проверки таблицы клиента DHCP неудобен.

обновление: эти попытки ping выполняются с компьютера, напрямую подключенного к маршрутизатору через ethernet. Я попытался те же самые попытки пинга с нескольких беспроводных устройств безрезультатно.

15
задан That Brazilian Guy
30.11.2022 3:12 Количество просмотров материала 2960
Распечатать страницу

3 ответа

Я думаю, что времена, когда операционные системы реагировали на широковещательные пинги, давно прошли. Насколько я знаю, каждая современная операционная система игнорирует эти запросы в качестве меры безопасности, чтобы избежать широковещательных штормов.

по умолчанию в Linux:

$ sysctl net.ipv4.icmp_echo_ignore_broadcasts
net.ipv4.icmp_echo_ignore_broadcasts = 1

Если вы хотите обнаружить машины, вам придется прибегнуть к одноадресному пингу (nmap, ping loop или другим средствам), но обратите внимание, что могут быть машины, настроенные всегда игнорировать запросы пинга.

8
отвечен Jorge Nerín 2022-12-01 11:00

Это уже обсуждалось, что отвечать на пинги на широковещательные адреса не считается хорошей практикой. Вы могли бы попеременно пропинговать группу многоадресной рассылки all-host, которая использует IP 224.0.0.1. Теоретически каждый многоадресный хост должен отвечать на пинг на этот IP, но я слышал о хостах, которые этого не делают.

подробнее о групповых адресах читайте tldp: http://www.tldp.org/HOWTO/Multicast-HOWTO-2.html

другой вариант будет просто unicast все IP-адреса в сегменте сети, которые могут быть легко достигнуты с помощью встроенных инструментов на большинстве систем. Я знаю только GNU/Linux и MS Windows, поэтому могу привести только примеры для этих систем.

GNU / Linux

for lastoctet in $(seq 254); do ping -c 1 192.168.0.$lastoctet; done

MS Windows

for /l %i in (1,1,254) do ping -n 1 192.168.0.%i

не так легко, как ping 192.168.0.255 но он работает в большинстве случаев.

2
отвечен bjanssen 2022-12-01 13:17

со ссылкой на то, что сказал # Хорхе Нерин:

выберите параметр игнорировать до 0. т. е.

$ sysctl net.ipv4.icmp_echo_ignore_broadcasts
net.ipv4.icmp_echo_ignore_broadcasts=0

сделайте это с привилегией root на всех устройствах в сети. Это позволит ответы на широковещательные пинги.

PS: Это может представлять угрозу безопасности.

0
отвечен Nithin Kumar 2022-12-01 15:34

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх