Есть ли способ получить IP-адрес, когда у вас есть только MAC-адрес элемента?
3 ответа
Если вы подключены к тому же широковещательному домену, вы можете выполнить arp -a
который покажет вам ARP-кеш. Отсюда вы можете сопоставить MAC с IP.
Если целевое устройство и ваш * nix ящик находятся в одной IP-подсети (и я имею в виду настоящую IP-подсеть, а не тот же коммутатор, или ту же VLAN, или даже тот же широковещательный домен, или что-либо еще, что иногда называют "подсеть" в терминах непрофессионала), и если у них уже была возможность поговорить, чтобы поговорить друг с другом, то сопоставление IP -> MAC целевого устройства, вероятно, уже находится в таблице ARP вашего Unix-бокса. Вы можете сделать arp -a
чтобы увидеть таблицу.
Если они находятся в одной и той же подсети, но еще не общались друг с другом, вы обычно можете форсировать его, отправив эхо-запрос либо на адрес многоадресной рассылки all-hosts (224.0.0.1), либо на широковещательный адрес подсети.
Если вы не находитесь в той же IP-подсети, но находитесь в одном домене многоадресной / широковещательной рассылки, вы можете получить его IP-адрес, запустив сниффер и наблюдая за многоадресной рассылкой или широковещательной рассылкой с целевого MAC-адреса:
sudo tcpdump -nei $INTERFACE ether host $MAC
... где $ INTERFACE - это интерфейс, который вы хотите прослушивать (может быть, "en0" или "eth0" или что-то в этом роде), а $ MAC - это MAC-адрес, который вы ищете.
Чтобы заставить целевое устройство отправлять многоадресные или широковещательные рассылки во время просмотра с помощью сниффера, вы можете выполнить такие действия, как пинг адресов, о которых я упоминал выше, или выключить и включить питание целевого устройства, или отключить устройство от коммутатора (или выключить питание). цикл выключатель). Большинство устройств с большей вероятностью отправляют широковещательные и многоадресные рассылки при загрузке или когда их сетевое соединение появляется после некоторого отключения.
Да, это называется arp (протокол разрешения адресов). Если вы используете такую программу, как TCP Dump или Wireshark, вы увидите, что время от времени маршрутизатор / сетевое устройство будет спрашивать эквивлант «Кто есть [IP]», тогда человек будет отвечать своим mac-адресом.
Если вы используете Windows, вы можете просто открыть командную строку и набрать «arp -a», чтобы просмотреть имеющуюся у вас запись ARP.