Найти MAC-адрес через прямое Ethernet-соединение

63
6

Я хочу найти MAC-адрес устройства. Пример. Подключите сетевой кабель от моей машины linux к целевому устройству, отправьте некоторую команду, получите MAC.

Лучшее решение, которое у меня есть сейчас, - это подключить маршрутизатор к устройству, дождаться его выдачи аренды dhcp, подключиться к маршрутизатору через ssh и зачитать таблицу аренды.

Я понимаю, что серверы dhcp ждут запроса от устройства, а затем выдают аренду, но я хотел бы активно отправить некоторый запрос на устройство и получить MAC из ответа напрямую.

Самая большая проблема заключается в том, что без запуска сервера dhcp я не могу связаться с устройством. Можно ли это сделать через нижний слой? Может быть, запрос ARP?

Благодарю!

спросил(а) 2021-01-19T18:53:19+03:00 6 месяцев назад
1
Решение
91

Если вы используете linux, есть wirehark (или версия CLI tshark):

sudo apt-get install tshark
sudo tshark -i eth0

Вы увидите каждый пакет, который переносит ваш ноутбук или подключенное устройство через этот интерфейс Ethernet. Предполагая, что устройство включено, вы, вероятно, увидите MAC-адрес, который вы ищете где-то во всем сетевом протоколе низкого уровня. Если вы не сильно извергаетесь, попробуйте повторно подключить кабель Ethernet. (Извините, я пришел сюда, чтобы найти лучший ответ сам)

ответил(а) 2021-01-19T18:53:19+03:00 6 месяцев назад
45

Сначала запустите другое устройство и запустите команду

arp -a

Вы можете видеть MAC-адрес устройства, которое вы только пинговали.

ответил(а) 2021-01-19T18:53:19+03:00 6 месяцев назад
44

Если вы не знаете MAC-адрес устройства, единственный способ связаться с ним - это передача какого-либо рода. Это означает, что на хосте есть какое-то программное обеспечение, которое прослушивает такую трансляцию, которая ответит. Так как хосты (используя ARP) разрешают MAC-адреса в локальной сети с IP-адреса. ARP не будет работать для вас, если вы не знаете IP-адрес.

Если у вас просто есть устройство без поддержки протокола, вы застряли.

ответил(а) 2021-01-19T18:53:19+03:00 6 месяцев назад
46

Мы решили это, слушая пакеты из целевой машины и извлекая адрес mac из первого полученного пакета.

Спасибо всем за ответы!

ответил(а) 2021-01-19T18:53:19+03:00 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема