Nslookup: Difference between revisions

From TÜ Narva Kolledži Wiki
Jump to navigation Jump to search
Content deleted Content added
m Protected "Nslookup" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
Igor Toropov

'''nslookup''' (англ. ''name server lookup'' - поиск на сервере имён) это утилита, предназначенная для формирования запросов к серверам DNS из командной строки. Утилита портирована на Windows непосредственно фирмой Microsoft и поставляется вместе с операционной системой. Фактически, утилита является аналогом службы DNS-клиент и позволяет диагностировать проблемы с разрешением имен в системе DNS.
'''nslookup''' (англ. ''name server lookup'' - поиск на сервере имён) это утилита, предназначенная для формирования запросов к серверам DNS из командной строки. Утилита портирована на Windows непосредственно фирмой Microsoft и поставляется вместе с операционной системой. Фактически, утилита является аналогом службы DNS-клиент и позволяет диагностировать проблемы с разрешением имен в системе DNS.


Line 187: Line 185:
</table>
</table>


== Рецензия ==

[[Рецензия по Nslookup]]

Latest revision as of 12:47, 30 August 2022

nslookup (англ. name server lookup - поиск на сервере имён) это утилита, предназначенная для формирования запросов к серверам DNS из командной строки. Утилита портирована на Windows непосредственно фирмой Microsoft и поставляется вместе с операционной системой. Фактически, утилита является аналогом службы DNS-клиент и позволяет диагностировать проблемы с разрешением имен в системе DNS.

Для запуска утилиты следует нажать на кнопку «Пуск» –> в поиске вбить cmd.exe и нажать на «Enter»


либо воспользоваться комбинацией клавиш windows+r



После проделанной процедуры мы попадаем в командную строку.



nslookup работает в двух режимах: интерактивном и неинтерактивном. В первом случае пользователь, попав в командную строку nslookup, имеет возможность исполнять команды nslookup, во втором случае отчеты получают, задавая аргументы командной строки интерпретатора (shell или любого другого командного интерпретатора) nslookup.


Интерактивный режим

При запуске nslookup без параметров, утилита переходит в интерактивный режим, ожидая ввод команд пользователя выводя приглашения в виде символа ">". Следует помнить, что при работе в интерактивном режиме, при вводе команд необходимо учитывать регистр символов, например, LS -d mydomain.ee будет воспринята как ошибочна команда, а
ls -D mydomain.ee - как команда с ошибочной опцией.



Ввод знака вопроса или help позволяет отобразить справку о внутренних командах и опциях nslookup



Команды:

(идентификаторы отображаются в верхнем регистре, квадратные скобки "[]" обозначают необязательные параметры)
NAME - печать сведений об узле или домене NAME с помощью сервера по умолчанию
NAME1 NAME2 - та же операция, но в качестве сервера используется NAME2
help или ? - печать сведений о стандартных командах
set OPTION - установить параметр
all - печать параметров, текущего сервера и узла
[no]debug - печать отладочных сведений
[no]d2 - печать полных отладочных сведений
[no]defname - добавить имя домена ко всем запросам
[no]recurse - запрос рекурсивного ответа на запрос
[no]search - использовать список поиска доменов
[no]vc - всегда использовать виртуальную схему
domain=NAME - установить имя домена по умолчанию NAME
srchlist=N1[/N2/.../N6] - установить домен N1 и список поиска N1,N2 и т.д.
root=NAME - установить корневой сервер NAME
retry=X - установить число повторов X
timeout=X - установить интервал времени ожидания в X секунд
type=X - установить тип запроса (пр. A,AAAA,A+AAAA,ANY,CNAME,MX ,NS,PTR,SOA,SRV)
querytype=X - то же, что и type
class=X - установить класс запроса ( IN (Internet), ANY)
[no]msxfr - использовать быструю зону MS для передачи
ixfrver=X - текущая версия, использующаяся в передаче запросов IXFR
server NAME - установить сервер по умолчанию NAME, используя текущий сервер по умолчанию
lserver NAME - установить сервер по умолчанию NAME, используя первоначальный сервер
root - сделать текущий сервер по умолчанию корневым сервером
ls [opt] DOMAIN [> FILE] - перечисление адресов в домене DOMAIN (необязательно: вывод в файл FILE)
-a - перечисление канонических имен и псевдонимов
-d - перечисление всех записей
-t TYPE - перечисление записей указанного типа RFC (пр. A,CNAME,MX,NS,PTR etc.)
view FILE - сортировка файла "ls" и его просмотр с помощью pg
exit - выход из программы


Неинтерактивный режим

Формат использования в неинтерактивном режиме простой:

nslookup [name] [name server]

Если мы не указываем name server, то для запроса используется DNS-сервер который указан в операционной системе.

nslookup ut.ee. - выполнить запрос к DNS-серверу, заданному по умолчанию, на разрешение доменного имени ut.ee. Для уменьшения количества ненужных запросов к серверам имен, имя домена нужно вводить в виде полностью определенного имени (fully qualified domain name) , т.е. с точкой в конце.

nslookup ut.ee.
Server: TEW-652BRP
Address: 192.168.10.1
Non-authoritative answer:
Name: ut.ee
Addresses: 193.40.5.73

Видим что по данным DNS-сервера TEW-652BRP имени ut.ee соответствует адрес 193.40.5.73



nslookup -type=mx ut.ee - то же, что и в предыдущем примере, но с указанием типа запрашиваемой записи -type=mx. Сервер DNS ответит на запрос утилиты nslookup перечислением почтовых серверов, обслуживающих домен ut.ee



nslookup ut.ee 8.8.8.8 - определить IP-адрес узла ut.ee с использованием DNS-сервера 8.8.8.8 (публичный DNS-сервер Google), вместо DNS-сервера, заданного в настройках сетевого подключения.



nslookup -type=mx -timeout=8 ut.ee 208.67.220.220 - отобразить запись MX для домена ut.ee из базы данных сервера с IP-адресом 208.67.220.220 (сервер OpenDNS). При выполнении команды, максимальное время ожидания ответа сервера - 8 секунд.



nslookup -type=any -timeout=8 ut.ee 208.67.220.220 - то же, что и в предыдущем примере, но выполняется запрос на отображение любых типов записей.



Для разных версий nslookup и разных DNS-серверов, обслуживающих запрос, отображаемая информация может незначительно отличаться. Тот же запрос, сформированный англоязычной версией утилиты nslookup.exe и направленный на обработку DNS-серверу компании Google приведет к отображению следующих данных:



В моем случае все осталось как прежде.

Сообщение "Non-authoritative answer:" (Не заслуживающий доверия ответ:) говорит о том, что выполняющий запрос DNS-сервер, не является владельцем зоны ut.ee, т.е. записи для узла ut.ee в его базе отсутствуют, и для разрешения имени использовался рекурсивный запрос к другому DNS-серверу.

nslookup 8.8.4.4 - отобразить имя узла, соответствующее IP-адресу 8.8.4.4



nslookup -ls -d mydomain.ee. > listdns.txt - отобразить все записи для домена mydomain.ee, обслуживаемого текущим DNS-сервером. Вывод направляется в файл listdns.txt текущего каталога. Задавать абсолютный путь к файлу не следует, поскольку все существующие на данный момент версии nslookup.exe успешно перенаправляют стандартный вывод в файл, только если он располагается в текущем каталоге.

Возможные ошибки nslookup

Сообщение об ошибке Причина
Connection refused (В соединении отказано) Невозможно установить соединение с сервером DNS.
Эта ошибка распространена при использовании подкоманды ls в случае подключения к серверу, разрешающему передачу зоны только определенным серверам
Format error (Ошибка формата) Сервер DNS обнаружил ошибку в пакете запроса команды nslookup. Запустите утилиту nslookup еще раз для повторного подключения к серверу DNS
Network is unreachable (Сеть недоступна) Невозможно установить соединение с сервером DNS. Постарайтесь выяснить существование маршрутизации для сети сервера DNS, отправив тестовый эхо-пакет узлу в подсети сервера DNS
No records (Нет записей) Для указанного с помощью подкоманды querytype (рассматривается далее) типа запроса не существует записей
No response from server (Нет ответа сервера) На указанном (в параметрах команды или в свойствах протокола TCP/IP) узле не запущена служба DNS
Nonexistent domain (Несуществующий домен) Невозможно найти записи о запрошенном доменном имени
Refused (Отказано) Сервер преобразования имен ответил отказом на запрос утилиты nslookup. Эта ошибка широко распространена при использовании подкоманды ls, когда подключение осуществляется к серверу, настроенному на передачу зон только определенным серверам
Server failure (Отказ сервера) Ошибка или нарушение целостности файла с данными зоны на сервере DNS. Восстановите файл данных зоны из более ранней резервной копии
Timed out (Превышение тайм-аута) Сервер DNS не ответил в течение указанного промежутка времени и интервала повторного запроса (Retry Interval). По умолчанию тайм-аут равен 5 секундам. Интервал повтора равен 4. Это означает, что утилита будет ожидать ответа в течение 20 секунд перед тем, как выдать это сообщение об ошибке