как узнать ip зная mac
Определить IP адрес по MAC адресу
Эта статья рассказывает, как узнать, какой IP адрес имеет сетевое устройство с известным MAC адресом.
Этот вопрос чаще возникает для сетевых устройств, таких как сетевые принтеры или сетевые телекамеры. Например, мы подключили сетевой принтер или сетевую телекамеру к сети с DHCP и хотим узнать IP адрес этого устройства, но доступа к статистике DHCP сервера нет. Или на устройстве задан статический IP адрес, но мы не помним, какой именно. При этом мы знаем MAC адрес (написан на корпусе). Этот вопрос бывает актуален и для компьютеров, особенно к которым нет физического доступа.
Консольные команды определения IP адреса представлены на картинке, а далее описано, почему команды должны быть именно такими и как они работают, также приведён пример bat файла:
Способ работает на любом Windows компьтере в сети и не требует административных полномочий. Используется информация ARP кэша, производится чтение списка и поиск нужной записи.
Просмотр ARP кэша
Командная строка просмотра ARP кэша с поиском записи по определённому MAC адресу:
Но, выполнив эту команду, мы можем не увидеть наше устройство.
Это происходит потому, что ARP кэш в Windows хранит записи от 15 до 45 секунд, начиная с Windows Vista: Address Resolution Protocol (ARP) caching behavior in Windows Vista TCP/IP implementations.
Наполнение ARP кэша
Поэтому перед чтением кэша необходимо заполнить его полным списком узлов сети. Это можно сделать, запустив ping на все узлы сети, например, если у нас сеть 192.168.1.1 / 255.255.255.0, то:
Важно, чтобы запуск ping’ов происходил как do @start /b ping, тогда
Пакетный bat/cmd файл
То же решение в виде командного файла ip_by_mac.cmd с передачей MAC адреса в виде параметра будет выглядеть так:
Ограничения
Способ работает только для тех узлов, которые отвечают на ping (icmp запросы), т.е. если у компьютера icmp echo отключен, то этот командный файл не определит его IP адрес.
Остается неудобство в том, что требуется явно указывать подсеть, а так же ограничение на подсеть – командный файл работает только для сетей 255.255.255.0.
Пример выполнения команд (видео)
Файлы для скачивания
Этот командный файл, как и другие скрипты, можно скачать по ссылке
Как узнать MAC-адрес по ip-адресу или имени хоста?
Достаточно часто бывают ситуации когда нужно выяснить аппаратный адрес сетевого устройства, но кроме стандартной консоли под рукой ничего нет, или просто хочется сэкономить время не устанавливая дополнительных программ, или не открывая консоли управления, такие как DHCP Management Console и т.д.
Как можно узнать MAC-адрес по ip-адресу или имени хоста имея просто рабочую станцию под управлением ОС Windows?
Ответ прост — с помощью стандартной командной строки.
Чтобы узнать адрес MAC удаленного компьютера или компьютера в локальной сети, необходимо:
1. В командной строке выполнить пинг этого компьютера (пинг ip-адреса или dns-имени).
Для этого нажмите комбинацию клавиш Win+R, введите cmd. В окне командной строки введите: ping ip-адрес или ping dns-имя.
Выполняем ping на искомый узел.
Если вы выполнили пинг имени хоста, то это имя в процессе будет преобразовано в ip-адрес.
Узнаем требуемый MAC-адрес
arp — это отображение и изменение таблиц преобразования ip-адресов в физические, используемые протоколом разрешения адресов (ARP).
Вы увидите все ip адреса в вашей сети с их маками, останется лишь найти нужный.
Хочу заметить, что данная команда не работает в powershell только в cmd.
Возможно вам так же понадобится узнать IP адрес по MAC адресу. Об этом методе описано в другой моей статье.