Извлечение информации из списка клиентов DHCP - PullRequest
0 голосов
/ 26 марта 2019

Обычно, когда я захожу в настройки своего маршрутизатора, вводя IP-адрес в своем браузере, я могу получить доступ ко списку всех клиентов, подключенных к моей сети. Есть ли способ как-то получить эту информацию и экспортировать ее в файл .txt или в Excel? Я попробовал некоторый код CMD, но напрасно.

Большое спасибо.

1 Ответ

1 голос
/ 27 марта 2019

Существует команда arp .В нем перечислены адреса, которые известны компьютеру.Что в основном означает, что «произошел некоторый обмен данными с этим адресом с момента последнего сброса (явный сброс или перезагрузка)».Но он не говорит вам, доступен ли адрес в данный момент.Таким образом, чтобы получить достижимые адреса, вы должны удалить кэш arp, установить связь с каждым адресом (достаточно ping) и затем показать кеш:

@echo off
arp -d
(for /l %%i in (1,1,255) DO start /min ping 192.168.1.%%i -n 1) & timeout 10 >nul 
arp -a | find "dynamic"

timeout дает время для завершения ping s и arp для построения данных кеша.

Обязательно адаптируйте базовый адрес (192.168.1.) к вашим потребностям.Если вы используете неанглийскую версию Windows, вам также придется адаптировать строку dynamic.

. start /min делает ping весьма эффективными, выполняя их параллельно.

Примечание: некоторые компьютеры / устройства могут не отвечать на ping, поэтому они будут отсутствовать в списке.

Бонусная линия:

for /f %%a in ('arp -a^|find "dynam"') do for /f "tokens=2,3 delims=[] " %%b in ('ping -a -n 1 %%a^|find "["') do echo %%c %%b

(снова, это для английской версии. Адаптируйте токены для других языков, для немецкой Windows это tokens=5,6)

...