Разрешить имя хоста с IP-адреса


Ответы:


121

Команда , которую вы ищете, называется nslookup, отлично работает для обратного поиска IFF кто - то настроил обратный файл зоны, которую они не всегда делают.


88

Если все вышеперечисленное не помогает, и вы специально ищете компьютер с Windows, вы можете использовать

nbtstat -a 192.168.1.50

Возвращенные данные будут всеми записями NetBIOS, имеющимися на машине. Тип с именем записи <20h> обычно будет именем машины.


3
Не работает при подключении через открытый vpn
Александр.

@Flextra - вам нужен SMB-доступ к машине. Ваш VPN может блокировать его.
Лось

Интересно, выглядит он лавирует на полный доменное имя в форматировании: Pinging NETBIOSNAME.DOMAINNAME.com [xxx.xxx.xxx.xxx]. Если это в сети, а не в домене (для меня интересующая система Unix), то ping -aпросто форматирует с одним ipaddress, это выглядит так.
jxramos

Работает для меня. Как раз то, что мне было нужно!
FearlessFuture

57

Для многих IP-адресов вы можете просто использовать ping -a, например

ping -a 209.85.229.106

вернусь

Pinging ww-in-f106.google.com [209.85.229.106] with 32 bytes of data:

Reply from 209.85.229.106...........

2
Это то, что я всегда использую в первую очередь, так как оно универсально доступно практически на каждой машине.
Goyuix

14
ping ооочень часто используется для простого поиска DNS ... вздох не делайте этого.
PEra

это единственный ответ, который дал мне имя хоста от моей малины в моей локальной сети. @ Пера, почему это плохой ответ?
Энди

29

Если вы используете команду nslookup с IP-адресом в качестве первого аргумента, она вернет запись PTR (обратная запись), если она существует. Например:

nslookup 192.168.1.50

2

Используйте копать. Порт Windows доступен из ISC здесь (смотрите в поле для немедленной загрузки ссылку на ZIP-файл). Вот их люди страница ссылка на раскоп .

Идея Уорда о том, что записи обратного просмотра часто не создаются, очень верна. Обратный поиск часто терпит неудачу, потому что многие администраторы не беспокоятся о создании записей ptr.


1

(протестировано под Windows 10 x64)

Из командной строки:

FOR /F "tokens=2 delims= " %A in ('2^>NUL NSLOOKUP "%IP_ADDRESS%" ^| FINDSTR /C:": "') do ECHO %A

Внутри скрипта:

FOR /F "tokens=2 delims= " %%A in ('2^>NUL NSLOOKUP "%IP_ADDRESS%" ^| FINDSTR /C:": "') do ECHO %%A

Две (боковые) заметки:

  • Чтобы подавить NSLOOKUPошибки, вы должны использовать 2^>NULвместо1^>NUL
  • Я использовал FINDSTR /Cдля извлечения значения после четырех пробельных символов. Поскольку кажется, что четыре Name:элемента существуют только для записи, это единственный способ заставить ее работать в других локализованных системах.

0

psexec \ 192.168.0.65 имя хоста

DMHD006 имя хоста вышло на 192.168.0.65 с кодом ошибки 0.


1
Имейте в виду, что настроенное имя хоста не обязательно совпадает с именем хоста, настроенным в DNS.
Джеральд Шнайдер

-2

если вы хотите узнать имя хоста в той же сети, тогда, пожалуйста, используйте другую машину с такой же сетью и используйте ниже, рекомендуйте
Ping -an ip addres


2
Разве вы не заметили, что этот ответ уже был здесь? - и он не предназначен для этого.
Эса Йокинен
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.