Как узнать IP, зная MAC

Все команды необходимо выполнять от лица супер-пользователя. Начнем с установки программы arp-scan - она есть в репозиториях практически любого дистрибутива Linux. Именно она позволяет определить IP адреса устройств в сети по их MAC адресам. Для Debian-base дистрибутивов (Ubuntu, Mint...) команда будет звучать так:

apt-get install arp-scan

Если же вы пользователь дистрибутивов ветки Red Hat (Centos, Fedora...) выполните:

yum install arp-scan

Немного о том, как работает утилита. Она использует функции протокола ARP, который выполняет обратное действие - позволяет узнать MAC необходимого IP, широковещательно (каждому узлу сети) рассылая запрос содержания: "У кого такой IP - пришлите мне свой MAC". И узел с совпавшим IP отвечает: "Это я, а это мой MAC".

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

arp-scan -T aa:20:5c:64:71:bf 192.168.1.0/24 | grep aa:20:5c:64:71:bf

В данном примере сообщения будут отправлены узлу с MAC-адресом aa:20:5c:64:71:bf, для перебора будет использована сеть 192.168.1.0/24. /24 - это маска подсети, указывающая на диапазон перебираемых IP адресов: 192.168.1.1-192.168.1.254. Диапазон можно указывать и в таком формате. GREP в конце команды позволяет отфильтровать вывод только для данного MAC адреса. Это связано с тем, что если ваш коммутатор еще не успел "обучиться" данному MAC адерсу, он разошлет сообщения широковещательно (всем узлам), и некоторые узлы с совпавшем IP адресом из диапазона перебираемых адресов могут решить, что это сообщение им, и подзасорят вывод нашей команды.

Помимо вышеописанной задачи - "Узнать IP по MAC адресу", данная утилита используется для составления списка IP адресов сети в связке с их MAC адресами. В этом случае MAC адрес узла через ключ "-T" указывать не нужно - пускай сообщения идут всем узлам сети широковещательно:

arp-scan 192.168.1.0/24

Вывод команды будет содержать список всех узлов с IP из указанного диапазона и их MAC-адреса

Темы:

Добавить комментарий