Под MAC-адресом понимается идентификатор устройства, подключенного к сети Ethernet. Мак-адрес формируется при помощи алгоритма, не допускающего повторений в обозримом будущем. Таким образом, двух устройств с одинаковыми маками в природе не встречается – это совершенно уникальный признак, однозначно идентифицирующий подключенное к сети оборудование.
IP-адрес оборудования (например, сетевой карты) также является числом уникальным. Возникает естественный вопрос: нельзя ли узнать по конкретному IP MAC, так же, например, как можно узнать производителя по шести первым символам мака? И наоборот, можно ли вычислить MAC-адрес по IP абонента сети?
Провайдеры используют мас вполне определенным образом – по его значению они идентифицируют абонента. Значит, существует способ проверки соответствия между айпишником и маком.
В нашей небольшой заметке мы опишем способы определения одного параметра по другому, достаточно универсальные и годные для применения пользователем любой квалификации. Начнем с вопроса вычисления MAC по IP.
Вычисляем мак по айпишнику
Пусть к нашей локальной Ethernet-сети подключено некоторое количество абонентов. И перед нами стоит задача составить табличку соответствия между одним и другим типом адреса. Для начала мы будем считать известными айпи. Как определить mac по этому ip, не особенно загружая голову? Для этого имеется два способа. Один годится для любой сети, другой подходит для сети с поддержкой протокола NetBios. Начнем с первого:
- Открываем консоль Windows (окно командной строки).
- В приглашении к вводу команды набираем следующее: ping 192.168.1.1 — вы можете задать любой другой адрес.
- Затем набираем команду: arp –a. Проиллюстрируем результаты выполнения команд картинкой:
- То, что расположено в третьей строке во втором ее столбце — и есть искомый параметр.
При наличии поддержки NetBios дело еще более упрощается – вместо двух команд достаточно ввести одну: nbstat –A 192.168.1.1 (адрес подставьте любой). Помимо решения нашей задачи, команда nbstat может принести немало пользы и в других обстоятельствах. С ее помощью можно собирать разнообразную статистику сети: например, просмотреть кэш имен или таблицу имен NetBios. Для этого команда вызывается с различными параметрами, о назначении которых можно посмотреть в справке по командному процессору.
Вычисляем айпишник по маку
Адрес по ip мы нашли. Теперь будем решать обратную задачу – задачу получения ip по маку. Если вы знаете, как это делать, то вы попадаете в сравнительно небольшую группу квалифицированных пользователей, либо по профессии системный администратор. Все это шутка, конечно. Узнать ip-адрес, зная mac-адрес, ничуть не сложнее. Для этого нужно набрать всю ту же команду arp c параметром «-a», но перенаправив ее вывод на команду find. Команда find прочитает таблицу, выданную командой arp (ту же самую, что и в предыдущем пункте), и отыщет в ней строку с заданным нами маком:
То есть все сводится к манипуляциям выводом команды arp.
