Есть ли способ найти IP-адрес машины, подключенной к той же локальной сети, по ее MAC-адресу.
Поскольку вы находитесь в той же локальной сети, вы можете проверить таблицу arp своих машин. Если машина не появляется, вы можете пропинговать свой широковещательный адрес, чтобы все машины ответили вам.
В Windows команда, которую вы ищете, это arp -a
(на nix вам просто нужно ввести arp
)
Если машина находится в другой подсети, у вас должен быть доступ к устройству уровня 3 (маршрутизатор, коммутатор L3, брандмауэр), вы можете посмотреть там таблицу arp.
На вопрос, как пинговать ваш широковещательный адрес:
Сначала вам нужно будет выяснить свой широковещательный адрес. с адресами / 8/16/24 это довольно просто. В этом примере я буду использовать / 24.
Настроить:
IP: 192.168.2.150
NETMASK: 255.255.255.0
Ваш широковещательный адрес - это последний IP-адрес в вашей подсети. (для получения дополнительной информации о подсетях у Эвана Андерсона есть ЗДОРОВО записать.
в моем случае мой широковещательный адрес будет 192.168.2.255. Так что я бы сделал ping 192.168.2.255
пинговать мой широковещательный адрес. Это в основном просьба ко всем машинам в вашей сети общаться с вами через эхо ICMP. Для этого ваша машина должна получить MAC-адрес, чтобы он отправлял и arp-запрос всем машинам в сети, и все они отвечали своим Mac-адресом. Тогда ваша машина имеет сопоставление MAC -> IP в таблице arp.
Для системы Windows есть бесплатный инструмент под названием сканер mac.
Проверка широковещательного адреса не всегда гарантирует ответ. По моему опыту, только программное обеспечение принтера отвечает на широковещательный пинг.
То, что вам нужно, на самом деле называется Reverse-Arp, но оно было заменено BOOTP. Однако я не могу догадаться, как BOOTP может помочь получить ваш ответ.
Протоколы обнаружения уровня 2, такие как LLDP и CDP, должны помочь, но они не работают по модели запрос / ответ, а вместо этого полагаются на отправку периодических маяков. Если вы уверены, что ваша локальная сеть состоит только из компьютеров с Windows 7, вы можете прослушивать пакеты LLDP и отфильтровывать наиболее интересные.
Но наиболее надежным методом мне кажется Netbios. Запросы Netbios возвращают сведения, в том числе сведения об IP-адресе интерфейса и Mac-адресе. Я бы использовал такой инструмент, как nbtscan и grep для MAC-адреса
nbtscan 192.168.1.0/24 | findstr "00:11:22"
Это дает дополнительное преимущество: можно выполнять запросы по подсетям при условии, что между ними нет брандмауэра.