3

Как я могу получить имя хоста с IP-адреса /MAC-адреса в Windows? (Win7, если это зависит от версии)

Я знаю, что arp -a даст мне таблицу IP и MAC. Есть ли что-то похожее для Hostname и MAC/IP?

3 ответа3

2

Если вы начинаете с 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)

1

Ping -a <ip address>

Это проанализирует вашу зону обратного просмотра в DNS.

Если у вас нет зоны обратного просмотра, она будет искать в вашем локальном кеше имен.

Если у вас нет записи, она сделает трансляцию в вашей локальной сети (в подсети, в которой вы находитесь), чтобы запросить ее.

Это только для IP> разрешения имени хоста. Нет MAC.

0

Может быть, это будет работать:

nbtstat -a 192.168.1.100

где 192.168.100 - ваш IP-адрес.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .