Визначте ім'я хоста з IP-адреси


Відповіді:


121

Команда , яку ви шукаєте, називається nslookup, відмінно працює для зворотного пошуку IFF хто - то налаштував зворотний файл зони, яку вони не завжди роблять.


89

якщо все вищезазначене не вдається, і ви спеціально шукаєте машину Windows, ви можете використовувати

nbtstat -a 192.168.1.50

Повернуті дані будуть усі записи NetBIOS, якими володіє машина. Ім'я машини, що має тип запису <20h>, зазвичай називається.


3
Не працює при підключенні через відкритий vpn
— Alexander.Iljushkin

@Flextra - вам знадобиться SMB-доступ до машини. Можливо, ваш VPN блокує його.
— Мус

Цікаво, виглядає він лавірує на повний доменне ім'я в форматуванні: Pinging NETBIOSNAME.DOMAINNAME.com [xxx.xxx.xxx.xxx]. Якщо це в мережі, а не в домені (для мене є система Unix, що цікавить), то ping -aпросто форматується лише в ipaddress.
— jxramos

Працює для мене. Тільки те, що мені було потрібно!
— Безстрашний

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

це єдина відповідь, яка отримала мені ім'я хоста від моєї малини в моїй локальній мережі. @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


2
Ви не помітили, що ця відповідь вже тут? - і це не призначено для цього.
— Esa Jokinen
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.