Команда NSLOOKUP - работа с сервером DNS из командной строки

7 июня 2015

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

При запуске nslookup без параметров, утилита переходит в интерактивный режим, ожидая ввод команд пользователя. Ввод знака вопроса или help позволяет отобразить справку о внутренних командах и опциях nslookup:

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

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

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

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

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

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 и направленный на обработку DNS-серверу Google прведет к отображению следующих данных:


Address: 8.8.8.8 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.googlem ail.com ~all"

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


Server: ns1.vkontakte.ru Address: 93.186.237.2 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 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.googlem ail.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, id = 5, rcode = NXDOMAIN header flags: response, want recursion, recursion avail. questions = 1, answers = 0, authority records = 1, additional = 0 QUESTIONS: ns1.vkontakte.ru, type = A, class = IN 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) ------------ ------------ Got answer: HEADER: opcode = QUERY, id = 6, rcode = NOERROR header flags: response, want recursion, recursion avail. questions = 1, answers = 1, authority records = 0, additional = 0 QUESTIONS: ns1.vkontakte.ru, type = A, class = IN 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 ------------ Got answer: HEADER: opcode = QUERY, id = 7, rcode = REFUSED header flags: response, want recursion questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: vk.com, type = ANY, class = IN ------------ ------------ Got answer: HEADER: opcode = QUERY, id = 8, rcode = NOERROR header flags: response, auth. answer, want recursion questions = 1, answers = 11, authority records = 0, additional = 7 QUESTIONS: vk.com, type = ANY, class = IN 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.googlem ail.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.googlem ail.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 -ls -d mydomain.ru. > listdns.txt - отобразить все записи для домена mydomain.ru, обслуживаемого текущим DNS-сервером. Вывод направляется в файл listdns.txt текущего каталога. Задавать абсолютный путь к файлу не следует, поскольку все существующие на данный момент версии nslookup.exe успешно перенаправляют стандартный вывод в файл, только если он располагается в текущем каталоге.

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

Источник: http://ab57.ru/cmdlist/nslookup.html

Написать комментарий

Адрес и телефон
E-mail: rs@corp2.net Skype: rudjuk
г. Киев, ул. Белорусская 30, офис. К2Р (схема проезда)
Мы в сети
Меню
www.megastock.ru Здесь находится аттестат нашего WM идентификатора 000000000000
Проверить аттестат
Наверх