Что делает команда nslookup

&nbsp &nbsp Утилита NSLOOKUP присутствует в операционных системах Windows, начиная с Windows NT , и предназначена для формирования запросов к серверам DNS из командной строки. Фактически, утилита является аналогом службы DNS-клиент и позволяет диагностировать проблемы с разрешением имен в системе DNS. По умолчанию, все запросы отправляются на DNS-сервер, адрес которого задан настройками сетевого подключения. В терминах утилиты такой сервер является сервером по умолчанию (default server). Команда ipconfig /all позволяет получить информацию о настройках протокола IP и, в том числе, о серверах DNS, используемых в системе.

При запуске nslookup без параметров, утилита переходит в интерактивный режим, ожидая ввод команд пользователя. Ввод знака вопроса или 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
> – установить класс запроса ( 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

При запуске с некоторыми из выше перечисленных параметров, команда nslookup выполняется в не интерактивном режиме без диалога с пользователем:

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

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

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

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

Читайте также:  Tesla model 3 емкость аккумулятора

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

Пример отображаемых данных:

Сервер: 208.67.220.220
Не заслуживающий доверия ответ:
vk.com internet address = 87.240.131.119
vk.com internet address = 87.240.131.99
vk.com nameserver = ns2.vkontakte.ru
vk.com nameserver = ns4.vkontakte.ru
vk.com nameserver = ns1.vkontakte.ru
vk.com nameserver = ns4.vkontakte.ru
vk.com nameserver = ns2.vkontakte.ru
vk.com nameserver = ns1.vkontakte.ru
ns1.vkontakte.ru internet address = 93.186.237.2
ns2.vkontakte.ru internet address = 93.186.224.100

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

Non-authoritative answer:
vk.com internet address = 87.240.131.120
vk.com internet address = 87.240.143.244
vk.com

primary name server = ns1.vkontakte.ru
responsible mail addr = ncc.vkontakte.ru
serial = 2013100501
refresh = 3600 (1 hour)
retry = 900 (15 mins)
expire = 604800 (7 days)
default TTL = 900 (15 mins)
vk.com AAAA IPv6 address = 2a00:bdc0:3:103:1:0:403:901
vk.com AAAA IPv6 address = 2a00:bdc0:3:103:1:0:403:902
vk.com AAAA IPv6 address = 2a00:bdc0:3:103:1:0:403:903
vk.com nameserver = ns1.vkontakte.ru
vk.com nameserver = ns2.vkontakte.ru
vk.com nameserver = ns4.vkontakte.ru
vk.com MX preference = 10, mail exchanger = mail.vk.com
vk.com text ="v=spf1 ip4:93.186.224.0/20 ip4:87.240.128.0/18 mx include:aspmx.googlemail.com

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

Server: ns1.vkontakte.ru
Address: 93.186.237.2

primary name server = ns1.vkontakte.ru
responsible mail addr = ncc.vkontakte.ru
serial = 2013100501
refresh = 3600 (1 hour)
retry = 900 (15 mins)
expire = 604800 (7 days)
default TTL = 900 (15 mins)
vk.com internet address = 87.240.131.118
vk.com AAAA IPv6 address = 2a00:bdc0:3:103:1:0:403:904
vk.com AAAA IPv6 address = 2a00:bdc0:3:103:1:0:403:905
vk.com AAAA IPv6 address = 2a00:bdc0:3:103:1:0:403:906
vk.com nameserver = ns4.vkontakte.ru
vk.com nameserver = ns1.vkontakte.ru
vk.com nameserver = ns2.vkontakte.ru
vk.com MX preference = 10, mail exchanger = mail.vk.com
vk.com text = "v=spf1 ip4:93.186.224.0/20 ip4:87.240.128.0/18 mx include:aspmx.googlemail.com

all"
ns4.vkontakte.ru internet address = 93.186.239.253
ns4.vkontakte.ru AAAA IPv6 address = 2a00:bdc0:ff:4::2
ns1.vkontakte.ru internet address = 93.186.237.2
ns1.vkontakte.ru AAAA IPv6 address = 2a00:bdc0:ff:1::2
ns2.vkontakte.ru internet address = 93.186.224.100
ns2.vkontakte.ru AAAA IPv6 address = 2a00:bdc0:ff:2::2
mail.vk.com internet address = 93.186.236.94

Использование опции отладки (debug) позволяет получить дополнительную информацию, содержащуюся в заголовках запросов клиента и ответов сервера (время жизни, флажки, типы записей и т.п.): > server ns1.vkontakte.ru
————

Got answer:
HEADER:

opcode = QUERY, > header flags: response, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 1, additional = 0

ns1.vkontakte.ru, type = A, >
AUTHORITY RECORDS:

-> (root)
ttl = 440 (7 mins 20 secs)
primary name server = a.root-servers.net
responsible mail addr = nstld.verisign-grs.com
serial = 2013101600
refresh = 1800 (30 mins)
retry = 900 (15 mins)
expire = 604800 (7 days)
default TTL = 86400 (1 day)

opcode = QUERY, > header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 0, additional = 0

ns1.vkontakte.ru, type = A, >
ANSWERS:

-> ns1.vkontakte.ru
internet address = 93.186.237.2
ttl = 6350 (1 hour 45 mins 50 secs)

————
Default Server: ns1.vkontakte.ru
Address: 93.186.237.2

> vk.com
Server: ns1.vkontakte.ru
Address: 93.186.237.2

opcode = QUERY, > header flags: response, want recursion
questions = 1, answers = 0, authority records = 0, additional = 0

opcode = QUERY, > header flags: response, auth. answer, want recursion
questions = 1, answers = 11, authority records = 0, additional = 7

vk.com, type = ANY, >
ANSWERS:

-> vk.com
ttl = 900 (15 mins)
primary name server = ns1.vkontakte.ru
responsible mail addr = ncc.vkontakte.ru
serial = 2013100501
refresh = 3600 (1 hour)
retry = 900 (15 mins)
expire = 604800 (7 days)
default TTL = 900 (15 mins)
-> vk.com
internet address = 87.240.131.99
ttl = 900 (15 mins)
-> vk.com
internet address = 87.240.131.119
ttl = 900 (15 mins)
-> vk.com
AAAA IPv6 address = 2a00:bdc0:3:103:1:0:403:901
ttl = 900 (15 mins)
-> vk.com
AAAA IPv6 address = 2a00:bdc0:3:103:1:0:403:902
ttl = 900 (15 mins)
-> vk.com
AAAA IPv6 address = 2a00:bdc0:3:103:1:0:403:903
ttl = 900 (15 mins)
-> vk.com
nameserver = ns1.vkontakte.ru
ttl = 900 (15 mins)
-> vk.com
nameserver = ns2.vkontakte.ru
ttl = 900 (15 mins)
-> vk.com
nameserver = ns4.vkontakte.ru
ttl = 900 (15 mins)
-> vk.com
MX preference = 10, mail exchanger = mail.vk.com
ttl = 900 (15 mins)
-> vk.com
text = "v=spf1 ip4:93.186.224.0/20 ip4:87.240.128.0/18 mx include:aspmx.googlemail.com

Читайте также:  Почему панюкову нельзя было пить

all"
ttl = 900 (15 mins)
ADDITIONAL RECORDS:
-> ns1.vkontakte.ru
internet address = 93.186.237.2
ttl = 9000 (2 hours 30 mins)
-> ns1.vkontakte.ru
AAAA IPv6 address = 2a00:bdc0:ff:1::2
ttl = 9000 (2 hours 30 mins)
-> ns2.vkontakte.ru
internet address = 93.186.224.100
ttl = 9000 (2 hours 30 mins)
-> ns2.vkontakte.ru
AAAA IPv6 address = 2a00:bdc0:ff:2::2
ttl = 9000 (2 hours 30 mins)
-> ns4.vkontakte.ru
internet address = 93.186.239.253
ttl = 9000 (2 hours 30 mins)
-> ns4.vkontakte.ru
AAAA IPv6 address = 2a00:bdc0:ff:4::2
ttl = 9000 (2 hours 30 mins)
-> mail.vk.com
internet address = 93.186.236.94
ttl = 900 (15 mins)

————
vk.com
ttl = 900 (15 mins)
primary name server = ns1.vkontakte.ru
responsible mail addr = ncc.vkontakte.ru
serial = 2013100501
refresh = 3600 (1 hour)
retry = 900 (15 mins)
expire = 604800 (7 days)
default TTL = 900 (15 mins)
vk.com
internet address = 87.240.131.99
ttl = 900 (15 mins)
vk.com
internet address = 87.240.131.119
ttl = 900 (15 mins)
vk.com
AAAA IPv6 address = 2a00:bdc0:3:103:1:0:403:901
ttl = 900 (15 mins)
vk.com
AAAA IPv6 address = 2a00:bdc0:3:103:1:0:403:902
ttl = 900 (15 mins)
vk.com
AAAA IPv6 address = 2a00:bdc0:3:103:1:0:403:903
ttl = 900 (15 mins)
vk.com
nameserver = ns1.vkontakte.ru
ttl = 900 (15 mins)
vk.com
nameserver = ns2.vkontakte.ru
ttl = 900 (15 mins)
vk.com
nameserver = ns4.vkontakte.ru
ttl = 900 (15 mins)
vk.com
MX preference = 10, mail exchanger = mail.vk.com
ttl = 900 (15 mins)
vk.com
text = "v=spf1 ip4:93.186.224.0/20 ip4:87.240.128.0/18 mx include:aspmx.googlemail.com

all"
ttl = 900 (15 mins)
ns1.vkontakte.ru
internet address = 93.186.237.2
ttl = 9000 (2 hours 30 mins)
ns1.vkontakte.ru
AAAA IPv6 address = 2a00:bdc0:ff:1::2
ttl = 9000 (2 hours 30 mins)
ns2.vkontakte.ru
internet address = 93.186.224.100
ttl = 9000 (2 hours 30 mins)
ns2.vkontakte.ru
AAAA IPv6 address = 2a00:bdc0:ff:2::2
ttl = 9000 (2 hours 30 mins)
ns4.vkontakte.ru
internet address = 93.186.239.253
ttl = 9000 (2 hours 30 mins)
ns4.vkontakte.ru
AAAA IPv6 address = 2a00:bdc0:ff:4::2
ttl = 9000 (2 hours 30 mins)
mail.vk.com
internet address = 93.186.236.94
ttl = 900 (15 mins)

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

Команда nslookup — инструмент сетевого администрирования для запросов в доменной системе имен (DNS) с целью получения доменного имени, IP-адреса или другой информации из записей DNS.

Кроме того, эта команда используется для поиска и устранения проблем с DNS. В данном руководстве мы рассмотрим наиболее типичные примеры ее применения.

Команда nslookup может работать в интерактивном и неинтерактивном режимах. Интерактивный режим позволяет пользователю в режиме диалога отправлять DNS-серверу запросы о различных узлах и доменах. Неинтерактивный режим позволяет отправить один запрос об одном узле или домене.

Синтаксис команды nslookup

Наиболее распространенные опции и типы аргументов мы рассмотрим ниже в соответствующих примерах.

Получение IP-адреса домена

Если указать в качестве аргумента команды nslookup доменное имя, она возвращает его «запись A» (A — address, IP-адрес).

Здесь поле Server означает IP-адрес DNS-сервера, а затем выводится информация об IP-адресе домена «yandex.ru».

Авторитативный и неавторитативный ответы

В приведенном результате присутствует фраза «Non- Authoritative Answer» (неавторитативный ответ).

Авторитативным считается ответ от DNS-сервера, на котором есть полная информация о зоне домена. Во многих случаях на DNS-серверах такой информации нет, они хранят кэш с результатами прошлых запросов, на которые был получен авторитативный ответ. Когда такой сервер получает запрос, он осуществляет поиск в файле кэша и при наличии необходимых данных отправляет их как неавторитативный ответ, как в рассматриваемых нами примерах.

Запрос записи MX

Запись MX (Mail eXchange, обмен почтой) хранит соответствие доменного имени почтовому серверу этого домена. Например, для redhat.com в этих записях содержатся почтовые серверы домена, через которые должна отправляться вся электронная почта на адреса «@redhat.com». Получить запись MX можно при помощи опции -query=mx:

Читайте также:  Check в машине загорелась

В рассмотренном выше примере для домена «redhat.com» есть 2 записи MX. Число рядом с именем сервера (5, 10) означает его приоритет. Чем меньше число, тем выше приоритет. То есть при отправке письма на адрес «@redhat.com» сначала будет использоваться сервер mx1.redhat.com, а если он недоступен — mx2.redhat.com.

Запрос записи NS

Запись NS (Name Server, сервер имен) содержит соответствие доменного имени DNS-серверу, авторитативному для заданного домена. Ее можно получить при помощи опции -query=ns:

Запрос записи SOA

Запись SOA (Start of Authority, начальная запись зоны) содержит информацию о зоне домена, адрес его администратора, серийный номер и т.д. Ее можно получить при помощи опции -query=soa:


origin — имя первичного сервера зоны
mail addr – адрес администратора домена (noc@redhat.com, так как символ @ в описании зоны имеет собственное значение, в данном поле он заменен на точку)
serial – серийный номер файла зоны, используется для учета изменений. Здесь может быть любое целое число, но стандартный формат — «ГГГГММДДНН», то есть сначала указывается дата, а НН (в данном случае 01) увеличивается в случае нескольких обновлений в день
refresh – период времени (в секундах), через который вторичный DNS-сервер отправит запрос первичному, чтобы проверить, поменялся ли серийный номер. В случае изменения будет сделан новый запрос для получения информации о зоне
retry – указывает интервал для повторного соединения с первичным DNS-сервером, если он по каким-то причинам не смог ответить на запрос
expire – указывает время хранения кэша вторичным DNS-сервером, по истечении которого он будет считаться устаревшим
minimum – минимальное время хранения кэша вторичным DNS-сервером до повторного запроса

Просмотр всех имеющихся записей DNS

При помощи опции -query=any мы можем просмотреть все записи DNS, которые у нас есть для заданного доменного имени:

Обратный поиск DNS

Если вместо имени указать в качестве аргумента IP-адрес, будет выполнен обратный поиск DNS:

Использование конкретного DNS-сервера

Для разрешения доменного имени можно использовать конкретный сервер имен (в данном случае ns1.redhat.com):

Обратите внимание, что в результате отсутствует фраза «Non-authoritative answer», так как ns1.redhat.com обладает всей информацией о зоне для redhat.com.

Изменение номера порта

По умолчанию DNS-серверы используют порт 53, но при необходимости можно указать другой номер порта посредством опции -port:

Изменение интервала ожидания ответа

Интервал ожидания ответа по умолчанию можно изменить, указав желаемое значение в секундах с опцией -timeout:

$ nslookup -timeout=10 google.com

Режим отладки

При помощи опции -debug вы можете включить режим отладки:

В режиме отладки при поиске выводится информация о пакетах.

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

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

возвращают результат, аналогичный команде

Конечно, при поиске записей для одного имени использовать интерактивный режим бессмысленно. Но при необходимости работы с большим количеством записей он очень удобен, так как позволяет работать в режиме диалога.

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Nslookup
Тип клиент DNS
Разработчик Internet Systems Consortium
Операционная система Unix, Linux, Windows
Лицензия ?

nslookup (англ. name server lookup поиск на сервере имён) — утилита, предоставляющая пользователю интерфейс командной строки для обращения к системе DNS (проще говоря, DNS-клиент). Позволяет задавать различные типы запросов и опрашивать произвольно указываемые сервера. Её аналогом являются утилиты host и dig. Разработана в составе пакета BIND (для UNIX-систем).

Утилита портирована на Windows непосредственно фирмой Microsoft и поставляется вместе с операционной системой.