Что такое утилита командной строки в Windows для обратного просмотра DNS?

246

Существует ли встроенный инструмент командной строки, который будет выполнять обратный поиск DNS в Windows? То есть что-то вроде<toolname> w.x.y.z => mycomputername

Я пробовал:

  • nslookupКажется, только для просмотра вперед.
  • host: не существует
  • digтакже не существует.

Я нашел « Что такое утилита обратной командной строки DNS? » Через поиск, но он специально ищет утилиту * nix, а не Windows.

alastairs
источник
5
Этот вопрос нужно отредактировать, чтобы сказать, что он на самом деле не ищет решения для конкретного DNS. Ответы, которые были отклонены, дают такой ответ, но проблема заключалась в том, что вам действительно нужно что-то, что ищет имена NetBIOS, а не DNS.
Бармар

Ответы:

237
ping -a w.x.y.z

Следует разрешить имя с IP-адреса, если зона обратного просмотра была настроена правильно. Если зона обратного просмотра не имеет записи для записи, -aбудет просто пропинговать без имени.

Питер
источник
3
Это сработало лучше, чем nslookup, так как конфликтующий компьютер находится в другом домене. Большое спасибо!
alastairs
4
в nslookup вы также можете попробовать: set type = PTR <enter> wxyz <enter>
Питер
2
У @abstrask самый полный ответ
vinnyjames
7
Это работает , но на самом деле это не тот инструмент для работы. Ping используется для измерения задержки в сети, он выполняет поиск по имени (или IP-адресу) как побочный эффект своей основной цели.
Массимо
3
@ Massimo - учитывая ограничения исходного вопроса, что бы вы предложили вместо этого? Ping разрешит имена DNS и netbios, что делает его хорошим первым инструментом, если вам просто нужно что-то быстрое.
Питер
114
nslookup <ip>

Делает то, что вы ищете. Он скажет вам сервер, который вы запрашиваете, и результат.

Например:

c:\>nslookup 192.168.101.39
Server: dns1.local
Address: 192.168.101.24

Name: enigma.local
Address: 192.168.101.39
Марк Тернер
источник
7
Это было с ошибкой с сообщением «<DC> не может найти wxyz: несуществующий домен», и я не мог понять почему. Я попытался ответить @ Peter и обнаружил конфликтующий компьютер в другом домене.
alastairs
7
Это не удалось, потому что nslookup заботится только о DNS, в то время как имена в Windows могут и будут решаться другими способами, если DNS недостаточно.
Массимо
76

Проблема с «ping» заключается в том, что это не просто инструмент поиска сервера имен (например, nslookup) - например, если вы пропингуете имя хоста, его можно преобразовать в IP-адрес несколькими способами: поиск DNS, поиск файла хоста, WINS (не дай бог) или NetBIOS трансляция. Он также может вернуть потенциально устаревший кэшированный результат.

Порядок, в котором используются методы, зависит от конфигурации клиента TCP / IP и флага типа узла:

  • B-узел (1): широковещательный
  • P-узел (2): одноранговый (только WINS)
  • M-узел (4): смешанный (широковещательный, затем WINS)
  • H-узел (8): гибридный (WINS, затем широковещательный)

Чтобы увидеть тип узла текущего компьютера:

C:\>ipconfig /all | find "Node Type"
Node Type . . . . . . . . . . . . : Hybrid

Если метод разрешения не имеет значения, используйте

ping -a w.x.y.z

или же

nslookup w.x.y.z

как вы предпочитаете. Если вам нужно убедиться, что вы запрашиваете у вашего DNS-сервера правильное имя, используйте nslookup .

Смотрите также

abstrask
источник
31

Используйте NSLOOKUP с параметром "-type = ptr" для запроса IP-адреса, синтаксис:

nslookup -type=ptr 1.2.3.4

Затем также печатается запись «in-addr.arpa» (даже если она не найдена), например:

C:\Users\UserName>nslookup -type=ptr 8.8.8.8
Server:  MyDnsServerName
Address:  X.X.X.X

Non-authoritative answer:
8.8.8.8.in-addr.arpa    name = google-public-dns-a.google.com

По сравнению с ответом с более низкой точностью воспроизведения при использовании NSLOOKUP на IP-адресе без параметра типа:

C:\Users\UserName>nslookup 8.8.8.8
Server:  MyDnsServerName
Address:  X.X.X.X

Name:    google-public-dns-a.google.com
Address:  8.8.8.8
М Агилар
источник
2
Если вы хотите использовать интерактивный nslookup, введите nslookup в командной строке «set q = ptr» и введите IP-адрес в следующей строке. Если вы сумасшедшая старая школа, как я, то до сих пор не понимали, что вам больше не нужно искать IP в обратном направлении, например, «1.0.0.127.in-addr.arpa».
Тодд Уилкокс
4
Нет необходимости -type=ptrили set q=ptrвообще - nslookupдостаточно умен, чтобы восстановить IP-адрес и выполнить обратный поиск вместо пересылки
abstrask
1
На самом деле -type = ptr необходим для правильной проверки обратного просмотра, потому что он печатает более точный результат, чем nslookup, только с IP-адресом. Гораздо лучше напечатать фактическую запись in-addr.arpa (также когда она не найдена), чтобы помочь с отладкой или просто уточнить, что происходит.
Тони Уолл
14

nslookup сделает обратный DNS в Windows так же, как в Linux.

Конечно, нет обратной записи для каждого IP-адреса

theotherreceive
источник
2
Хорошо, что не всем хостам будет создана запись PTR для них
Rowland Shaw
2
Обратите внимание, что nslookup в Linux, BSD и Windows делают разные вещи и являются разными программами.
Хороший человек
1
Если PTR не существует, вы можете узнать его IP-адрес для получения дополнительной информации ..... проба не поставляется с windoze либо lol
nandoP
8

Используйте nslookup вот так:

nslookup -type=PTR  127.0.0.1
ко-дос
источник
6

Вы можете использовать стандартную команду NSLOOKUP:

nslookup 123.123.123.123

Чтобы получить результат, должна быть запись PTR, зарегистрированная для рассматриваемого IP-адреса.

splattne
источник
5

nslookup выполнит обратный поиск в Windows.

C:\>nslookup star.slashdot.org

Server:  my-dns-server
Address:  10.242.0.1

Name:    star.slashdot.org
Address:  216.34.181.48

C:\>nslookup 216.34.181.48

Server:  my-dns-server
Address:  10.242.0.1

Name:    star.slashdot.org
Address:  216.34.181.48
Эван Андерсон
источник
4

9 ответов, и никто не сказал, как отменить поиск с копать? Это лучшее

dig -x wxyz

Кроме того, вы можете добавить «+ short» для использования в циклах bash, сценариях и т. Д. Вперед или назад :)

nandoP
источник
3
Никто не упомянул, так digкак он не поставляется с Windows. Вопрос ОП даже указывает на это.
Джскотт
3
digкак правило, лучший выбор для устранения неполадок DNS, хотя. Я думаю, что определенно есть смысл предлагать лучший инструмент, хотя он не поставляется с Windows. (Доступно в сборках Windows по адресу isc.org/software/bind )
Håkan Lindqvist
4

Под виндой ....

Стандартный пинг НЕ возвращает имя хоста IP-адреса

NSLookup может быть использован для поиска этой информации, если DNS настроен правильно

Процедура выглядит следующим образом:

Открыть подсказку DOS

NSLookup

set type = ptr

ABCD

Результаты будут показаны с обратным адресом DNS-сервера и именем хоста

Иво ван Селст
источник
1

Есть еще один способ. Обратный IP-адрес и использовать nslookup

nslookup -type=PTR 4.3.2.1.in-addr.arpa

разрешить адрес 1.2.3.4

sweetfa
источник
1
Вы должны были бы сделать nslookup -type=PTR 4.3.2.1.in-addr.arpaэто, чтобы фактически работать, все же.
Хокан Линдквист
1

Если nslookup, dig, hostне существует, попробуйте следующее:

getent hosts google.de | awk '{ print $1 }'

Работает, например, на экземплярах докера AWS ec2 (на которых действительно ничего не установлено)

Феликс
источник