2015-04-30 3 views
1

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

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

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

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

Спасибо!

ответ

0

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

Спасибо за все ответы, хотя!

0

Ping другое устройство первым и запустить команду

arp -a 

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

+2

А какой адрес он пинг? – Hankster

0

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

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

0

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

sudo apt-get install tshark 
sudo tshark -i eth0 

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