Ранее я уже писал статью на тему как определить MAC-адрес по IP-адресу компьютера. Сегодня я покажу обратный трюк — как определить IP-адреса устройства, если вам известен только MAC адрес.
Вопрос очень актуален, если у вас нет доступа к консоли DHCP сервера, а вы подключили новое устройство вроде принтера или IP-камеры к сети, и все что у вас есть – это наклейка на устройстве содержащая аппаратный адрес, а так же доступ в локальную сеть.
Итак, консольные команды в cmd для определения IP адреса устройства следующие:
for /L %a in (1,1,254) do @start /b ping 192.168.31.%a -n 2 > nul
— этой командой мы делаем опрос устройств в сети и наполняем таблицу ARP-кэша. В приведенном примере, команда пингует подсеть с адреса 192.168.31.1 по 192.168.31.254 с маской 255.255.255.0;
Затем исполняем команду просмотра ARP-кэша, с поиском нужного нам MAC адреса:
arp -a | find /i " 00-00-48-19-92-43"
Получаем ответ, аппаратный адрес найден в подсети, и соответствует IP 192.168.31.12:
Данный способ работает в любой версии ОС Windows, и не требует привилегий администратора.
Так же публикую текст bat-файл, вдруг кому-нибудь понадобится в виде пакетного файла mac2ip.bat вот его листинг:
@echo off if "%1" == "" echo no MAC address & exit /b 1 for /L %%a in (1,1,254) do @start /b ping 192.168.31.%%a -n 2 > nul ping 127.0.0.1 -n 3 > nul arp -a | find /i "%1"
После запускаем команду: mac2ip 00-00-48-19-92-43
Данный скрипт и команда работают только если узел отвечает на icmp запросы (или ping), если узел будет не доступен то IP адрес определить не удастся. Ну так же хочу сказать, что данный метод не является полноценным сканером, так как каждый раз вам требуется указывать подсеть для опроса, и да… Скрипт и команда будет работать только для сетей с маской 255.255.255.0.
На сегодня это всё! Если есть вопросы – задавайте в комментариях, подписывайтесь на обновления, делитесь статьей в социальных сетях.