Как я могу получить имя хоста с IP-адреса /MAC-адреса в Windows? (Win7, если это зависит от версии)
Я знаю, что arp -a
даст мне таблицу IP и MAC. Есть ли что-то похожее для Hostname и MAC/IP?
Как я могу получить имя хоста с IP-адреса /MAC-адреса в Windows? (Win7, если это зависит от версии)
Я знаю, что arp -a
даст мне таблицу IP и MAC. Есть ли что-то похожее для Hostname и MAC/IP?
Если вы начинаете с MAC-адреса, вам сначала нужно получить IP-адрес. Это означает, что вам нужен доступ к устройству, IP-адрес которого связан с MAC. Что касается вопроса, arp -a
перечислит MAC-адреса и соответствующие IP-адреса. Чтобы заполнить этот список, в какой-то момент машина должна была выполнить запрос arp
, говорящий «у кого есть IP xxxx» - владелец ответит, и после получения заполнится таблица arp.
Чтобы это работало, оба устройства должны быть в одной сети уровня 2 - один и тот же коммутатор /vlan. Вы можете инициировать запросы arp вручную, пропингуя каждый IP-адрес в сети, или используя утилиту, такую как nmap
чтобы выполнить их все за один раз.
Получив IP-адрес, вы полагаетесь на службу разрешения имен, чтобы выполнить обратный поиск и вернуть имя хоста, связанное с IP-адресом.
В DNS это достигается с помощью записей PTR. Для каждого IP-адреса есть запись PTR, в которой хранится соответствующее имя хоста. Однако нет необходимости хранить записи PTR, поэтому они могут отсутствовать, и в этом случае поиск не удастся.
Они выглядят так:
13.12.11.10.in-addr.arpa. 900 IN PTR hostname.domain.com.
IP-адрес в записи PTR меняется на противоположный. Поэтому, чтобы получить имя хоста 10.11.12.13, мы говорим DNS: «Дайте мне запись PTR для 13.12.11.10.in-addr.arpa».
Возвращает вышеуказанную запись. Вы можете достичь этого, делая
nslookup 10.11.12.13
Когда nslookup
присваивается IP-адрес, он попытается выполнить поиск PTR.
Согласно другому ответу, если IP принадлежит машине Windows, вы также можете nbtstat -A 10.31.46.59
(обратите внимание на верхний регистр -A)
Ping -a <ip address>
Это проанализирует вашу зону обратного просмотра в DNS.
Если у вас нет зоны обратного просмотра, она будет искать в вашем локальном кеше имен.
Если у вас нет записи, она сделает трансляцию в вашей локальной сети (в подсети, в которой вы находитесь), чтобы запросить ее.
Это только для IP> разрешения имени хоста. Нет MAC.
Может быть, это будет работать:
nbtstat -a 192.168.1.100
где 192.168.100 - ваш IP-адрес.