Программа интерактивного тестирования серверов DNS – nslookup |

Что значит «не заслуживающий доверия ответ»?

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

Authoritative vs non-authoritative response

In the output of nslookup, you will often notice the statement “non-authoritiative answer” (as illustrative below) as part of the lookup result. This is to tell you know that the results was provided by a server that is not the authoritative (primary) source.

Typically, this means the result was provided by a server (such as your Internet service provider) that held a cached copy of the DNS record. This is important because the DNS record may have been changed recently and the cached copy may not reflect the most up-to-date information.

An authoritative answer is when the DNS server hosting the primary copy of the DNS record responses to your lookup. See the example below on how to get an authoritative response.

The reason why the primary authoritative server isn’t involved in responding to all nslookup queries is to reduce server load. By maintaining cached copy of DNS records on secondary servers (which is updated from the primary server at a defined interval), query response time is minimized and the primary server isn’t inundated with queries.

 Back to Top

Common error messages

Connection Refused or Network is Unreachable – The connection to the DNS name server or finger server could not be made. This error commonly occurs with ls and finger requests.

Format Error – The DNS name server found that the request packet was not in the proper format. It may indicate an error in nslookup.

No Records – The DNS name server does not have resource records of the current query type for the computer, although the computer name is valid. The query type is specified with the set querytype command.

No Response From Server – No DNS name server is running on the server computer.

Non-Existent Domain – The computer or domain name does not exist. Check to make sure your spelling is correct.

Refused – The DNS name server refused to service the request.

Server Failure – The DNS name server found an internal inconsistency in its database and could not return a valid answer.

Timed Out – The server did not respond to a request after a certain amount of time and a certain number of retries. You can set the time-out period with the set timeout subcommand. You can set the number of retries with the set retry subcommand.

 Back to Top

How to find an authoritative response

Typically, most of the responses to your nslookup queries are going to be non-authoritative. Meaning the response is from a cached copy from a third-party and not from the primary DNS server holding the master copy. For troubleshooting purposes, it’s important to realize that a cached copy may not contain the most up-to-date information.

How to open command prompt

To use this utility, you will need to launch the Command Prompt window. The three common ways to launch the Command Prompt window are:

  1. Search for cmd using the built-in Windows search tool.
  2. Right-click on the Start icon and select Command Prompt.

    Программа интерактивного тестирования серверов DNS - nslookup |

  3. Press the keyboard combination WinKey R, then type cmd at the Run window that appears.

    Run cmd

 Back to Top

How to perform a reverse dns lookup

A reverse DNS lookup with querying for a server name based on an IP address you provide. For example, to identify the server name for the IP address 98.139.253.105, type the following in the command window then press Enter: nslookup 98.139.253.105.

Interactive vs non-interactive mode

The nslookup utility can be used in one of two modes: interactive and non-interactive. In interactive mode, you are able to query for information about a website or a server, and to also print a list of hosts on a domain. To go into interactive mode, type nslookup at the command window then press Enter.

In the screenshot example below, you can tell you are in interactive mode by looking at style of the prompt.

To get help on available switches, type help then press Enter.

To exit interactive mode, simply type exit then press Enter.

With non-interactive mode, you would typically use this when you only need to execute a single lookup.

 Back to Top

Redirect output to text file

 Back to Top

Summary

The nslookup utility can provide a wealth of information for troubleshooting DNS issues.While not a common tool used for most troubleshooting calls, it is a useful utility to use when transferring a domain from one hosting provider to another or when configuring the DNS record for a new domain name.

 Back to Top

:/>  How to change text color of cmd with windows batch script every 1 second - Stack Overflow

Как узнать mx запись домена с помощью nslookup?

Для того, чтобы узнать MX запись домена используйте подкоманду type:

Примечания

  • Если computerTofind является IP-адресом, а запрос хочет получить A или PTR запись, возвращается имя компьютера. Если computerTofind является именем и у него нет точки в конце, к имени добавляется имя домена DNS по умолчанию. Это зависит от состояния следующих заданных подкоманд: domain, srchlist, defname и search.
  • Если вы используете дефис (-) вместо computerTofind, утилита nslookup перейдёт в интерактивный режим.
  • Длина строки не может превышать 256 символов.
  • nslookup имеет два режима: интерактивный и неинтерактивный. Если вы собираетесь воспользоваться утилитой единожды — используйте неинтерактивный режим. Первым параметром введите имя или IP-адрес компьютера, который вы хотите найти, а вторым параметром введите имя или IP-адрес сервера DNS-имен. Если вы опустите второй аргумент, nslookup использует DNS-сервер по умолчанию.
    Если вам нужно использовать утилиту несколько раз, вы можете войти в интерактивный режим. Для этого введите дефис (-) для первого параметра и имя или IP-адрес сервера имен DNS для второго параметра. Или опустите оба параметра, и nslookup использует DNS-сервер по умолчанию.
    Ниже приведены некоторые советы о работе в интерактивном режиме:
    • Чтобы прервать линию интерактивных команд в любое время, нажмите CTRL B.
    • Чтобы выйти, введите exit.
    • Чтобы обработать встроенную команду в качестве имени компьютера, перед ним следует использовать escape-символ ().
    • Неопознанная команда интерпретируется как имя компьютера.
  • Если поиск не сработал, утилита nslookup выдаст сообщение об ошибке. В следующей таблице перечислены возможные сообщения об ошибках:

Программа интерактивного тестирования серверов dns – nslookup |

В данном материале рассматриваются различные режимы работы программы nslookup – одного из основных средств тестирования работы сервера доменных имен.

Среди средств тестирования системы доменных имен nslookup подвергается наибольшей критике. Во всяком случае, авторы bind рекомендуют использовать dig вместо nslookup, как написано в руководстве по BIND 9 – “из-за загадочности пользовательского интерфейса и часто противоречивого поведения” последней. Тем не менее, nslookup – это одно из самых популярных средств тестирования DNS. Эта программа есть в большинстве версий Unix-систем.

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

Сначала рассмотрим неинтерактивный режим работы. Как уже было сказано, он
используется для получения информации из системы DNS непосредственно из командной строки интерпретатора. В аргументах командной строки nslookup можно указывать значения опций, имя или адрес хоста для которого производится поиск, и сервер доменных имен.

% nslookup www.ru
Server: polyn.net.kiae.su
Address: 144.206.160.32

Non-authoritative answer:
Name: www.ru
Address: 194.87.0.50

%

В данном случае мы просто используем сервер доменных имен из resolv.conf для поиска IP-адреса www.ru. Из отчета видим, что этот сервер не является авторитативным для искомого имени.

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

% nslookup gaga.ru
Server: polyn.net.kiae.su
Address: 144.206.160.32

Name: gaga.ru.net.kiae.su

%

За нашим именем появилась вставка net.kiae.su, которая взята из resolv.conf. Вот его (resolv.conf) содержание:

% more /etc/resolv.conf
nameserver 144.206.160.32
nameserver 144.206.192.10
search net.kiae.su polyn.kiae.su .
%

На самом деле можно получить более полный отчет, если включить режим отладки:

% nslookup -debug gaga.ru
;; res_mkquery(0, 32.160.206.144.in-addr.arpa, 1, 12)
————
Got answer:
HEADER:
opcode = QUERY, id = 22021, rcode = NOERROR
header flags: response, auth. answer, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 3, additional = 3

QUESTIONS:
32.160.206.144.in-addr.arpa, type = PTR, class = IN
ANSWERS:
-> 32.160.206.144.in-addr.arpa
name = polyn.net.kiae.su
ttl = 3600 (1 hour)
AUTHORITY RECORDS:
-> 160.206.144.in-addr.arpa
nameserver = polyn.net.kiae.su
ttl = 3600 (1 hour)
-> 160.206.144.in-addr.arpa
nameserver = ns.spb.su
ttl = 3600 (1 hour)
-> 160.206.144.in-addr.arpa
nameserver = ns.ussr.eu.net
ttl = 3600 (1 hour)
ADDITIONAL RECORDS:
-> polyn.net.kiae.su
internet address = 144.206.160.32
ttl = 49698 (13 hours 48 mins 18 secs)
-> ns.spb.su
internet address = 193.124.83.69
ttl = 49556 (13 hours 45 mins 56 secs)
-> ns.ussr.eu.net
internet address = 193.125.152.3
ttl = 3083 (51 mins 23 secs)

————
Server: polyn.net.kiae.su
Address: 144.206.160.32

;; res_mkquery(0, gaga.ru, 1, 1)
————
Got answer:
HEADER:
opcode = QUERY, id = 22022, rcode = NXDOMAIN
header flags: response, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 1, additional = 0

QUESTIONS:
gaga.ru, type = A, class = IN
AUTHORITY RECORDS:
-> ru
ttl = 10530 (2 hours 55 mins 30 secs)
origin = ns.ripn.net
mail addr = hostmaster.ripn.net
serial = 4005295
refresh = 7200 (2 hours)
retry = 900 (15 mins)
expire = 2592000 (30 days)
minimum ttl = 345600 (4 days)

————
;; res_mkquery(0, gaga.ru.net.kiae.su, 1, 1)
————
Got answer:
HEADER:
opcode = QUERY, id = 22023, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 1, additional = 0

QUESTIONS:
gaga.ru.net.kiae.su, type = A, class = IN
AUTHORITY RECORDS:
-> kiae.su
ttl = 10530 (2 hours 55 mins 30 secs)
origin = ns.kiae.ru
mail addr = noc-dns.relarn.ru
serial = 650127450
refresh = 28800 (8 hours)
retry = 3600 (1 hour)
expire = 604800 (7 days)
minimum ttl = 86400 (1 day)

————
Name: gaga.ru.net.kiae.su

%

О чем говорит этот отчет. Сначала производится поиск по обратной зоне имени сервера доменных имен, который имеет IP-адрес 144.206.160.32. Затем производится поиск gaga.ru, а затем gaga.ru.net.kiae.su. По идее, следовало бы выполнить и другие подстановки, но nslookup этого не сделала. И вообще, в данном случае программа ведет себя несколько не так, как это предписано для системы resolver.

:/>  Российский аналог Microsoft Office 365 покоряет Африку

В данном случае аргумент -debug – это опция командной строки, которая позволяет управлять объемом и типом информации в отчетах nslookup при неинтерактивном режиме работы.

Вот еще один пример применения опционного аргумента:

% nslookup -type=SOA ru.
Server: polyn.net.kiae.su
Address: 144.206.160.32

Non-authoritative answer:
ru
origin = ns.ripn.net
mail addr = hostmaster.ripn.net
serial = 4005295
refresh = 7200 (2 hours)
retry = 900 (15 mins)
expire = 2592000 (30 days)
minimum ttl = 345600 (4 days)

Authoritative answers can be found from:
ru nameserver = NS2.NIC.FR
ru nameserver = ns.ripn.net
ru nameserver = NS2.ripn.net
ru nameserver = SUNIC.SUNET.SE
ru nameserver = NS.UU.net
ru nameserver = NS1.RELCOM.ru
NS2.NIC.FR internet address = 192.93.0.4
ns.ripn.net internet address = 194.85.119.1
NS2.ripn.net internet address = 194.226.96.30
SUNIC.SUNET.SE internet address = 192.36.125.2
NS.UU.net internet address = 137.39.1.3
NS1.RELCOM.ru internet address = 193.125.152.3
%

В данном случае мы просим доставить нам информацию о записи SOA зоны ru. Точка в конце имени зоны указана для определенности. Сервер выдает не авторитативный ответ и сообщает, где можно получить авторитативные ответы.

Опции всегда указываются перед именем или IP-адресом хоста, для которого ищется информация. На самом деле опции – это аргументы команды set интерактивного режима работы, о котором речь пойдет несколько позже.

Опции можно также указать в файле .nslookuprc, который может быть размещен в домашнем каталоге пользователя. Каждая опция должна занимать отдельную строку. Ниже приведен пример содержания этого файла:

% more .nslookuprc
type=NS
db2
%

Первая строка задает тип записей описания зоны, которые ищутся. В данном случае это записи NS. А вторая запись задает уровень подробности отчета (отладка – debug второго уровня).

До сих пор мы рассматривали работу nslookup с сервером доменных имен, который определен в resolv.conf. Имя сервера доменных имен, который будет выполнять рекурсивные запросы, можно задать в качестве последнего аргумента командной строки nslookup:

% nslookup -type=A www.ru. ns.relarn.ru.
Server: ns.relarn.ru
Address: 194.226.65.3

Non-authoritative answer:
Name: www.ru
Address: 194.87.0.50

%

В данном случае мы посылаем рекурсивный запрос не серверу умолчания из resolv.conf, а ns.relarn.ru, который присылает нам неавторитативный ответ.

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

% nslookup
Default Server: polyn.net.kiae.su
Address: 144.206.160.32

>

В данном случае, в качестве сервера доменных имен программа использует сервер доменных имен умолчания, который указывается в файле настройки resolver (resolv.conf).

Во-вторых, в интерактивный режим можно попасть, задав nslookup c двумя аргументами: символом “-” и именем или IP-адресом сервера доменных имен, который будет использоваться для выполнения рекурсивных запросов:

% nslookup – 144.206.192.10
Default Server: IRIS.polyn.kiae.su
Address: 144.206.192.10

>

Для того, чтобы покинуть интерактивный режим nslookup и вернуться в командную строку интерпретатора следует выполнить команду exit:

% nslookup
Default Server: polyn.net.kiae.su
Address: 144.206.160.32
> exit
%

Вообще говоря, у nslookup довольно большое множество команд интерактивного режима, но мы их все рассматривать не будем. Для этого существуют руководства и система man. Рассмотрим только наиболее часто используемые случаи.

Самый простой из них – это поиск IP-адреса по доменному имени:

> quest.polyn.kiae.su.
Server: polyn.net.kiae.su
Address: 144.206.160.32

Name: quest.polyn.kiae.su
Address: 144.206.192.2

>

Лучше всего задавать на конце доменного имени символ “.”. По умолчанию nslookup включает перебор доменных имен, а работает он не совсем корректно, как мы уже убедились выше.

Теперь попробуем найти обратное соответствие:

> 144.206.192.11
Server: polyn.net.kiae.su
Address: 144.206.160.32

Name: www.kiae.ru
Address: 144.206.192.11

>

Как мы видим из полученного отчета, этому адресу соответствует имя www.kiae.ru. Увеличим подробность отчета:

> set debug
> 144.206.192.11
Server: polyn.net.kiae.su
Address: 144.206.160.32

;; res_mkquery(0, 11.192.206.144.in-addr.arpa, 1, 12)
————
Got answer:
HEADER:
opcode = QUERY, id = 31436, rcode = NOERROR
header flags: response, auth. answer, want recursion, recursion avail.
questions = 1, answers = 2, authority records = 3, additional = 2

QUESTIONS:
11.192.206.144.in-addr.arpa, type = PTR, class = IN
ANSWERS:
-> 11.192.206.144.in-addr.arpa
name = www.kiae.ru
ttl = 3600 (1 hour)
-> 11.192.206.144.in-addr.arpa
name = kiae.polyn.kiae.su
ttl = 3600 (1 hour)
AUTHORITY RECORDS:
-> 192.206.144.in-addr.arpa
nameserver = polyn.net.kiae.su
ttl = 3600 (1 hour)
-> 192.206.144.in-addr.arpa
nameserver = ns.spb.su
ttl = 3600 (1 hour)
-> 192.206.144.in-addr.arpa
nameserver = ns.ussr.eu.net
ttl = 3600 (1 hour)
ADDITIONAL RECORDS:
-> polyn.net.kiae.su
internet address = 144.206.160.32
ttl = 46562 (12 hours 56 mins 2 secs)
-> ns.spb.su
internet address = 193.124.83.69
ttl = 46420 (12 hours 53 mins 40 secs)

————
Name: www.kiae.ru
Address: 144.206.192.11

>

Подробность отчета мы увеличиваем командой set debug. Из полученного отчета видно, что nslookup производит поиск в обратной зоне, предварительно преобразовав соответствующим образом введенную нами строку IP-адреса.

Обратим внимание еще на один момент. Если при поиске IP-адреса тип запроса был A, то, как видно из выше приведенного примера, в случае поиска доменного имени по IP-адресу мы посылаем запрос на указатель (PTR).

Среди ответов мы находим два имени, которые соответствуют IP-адресу: www.kiae.ru и kiae.polyn.kiae.ru. Это отражает тот факт, что в описании обратной зоны 192.206.144.in-addr.arpa у нас есть что-то похожее на:

11 IN PTR www.kiae.ru.
IN PTR kiae.polyn.kiae.su.

:/>  Опция "Отход ко сну" на Айфоне: что это такое, как работает и как использовать

Если теперь мы захотим получить параметры SOA записи для этой обратной зоны, то нам следует заказать именно эту запись описания зоны:

> set type=soa
> 192.206.144.in-addr.arpa.
Server: polyn.net.kiae.su
Address: 144.206.160.32

192.206.144.in-addr.arpa
origin = polyn.net.kiae.su
mail addr = paul.kiae.su
serial = 80
refresh = 3600 (1 hour)
retry = 300 (5 mins)
expire = 9999999 (115 days 17 hours 46 mins 39 secs)
minimum ttl = 3600 (1 hour)
192.206.144.in-addr.arpa nameserver = polyn.net.kiae.su
192.206.144.in-addr.arpa nameserver = ns.spb.su
192.206.144.in-addr.arpa nameserver = ns.ussr.eu.net
polyn.net.kiae.su internet address = 144.206.160.32
ns.spb.su internet address = 193.124.83.69
ns.ussr.eu.net internet address = 193.125.152.3
>

На самом деле мы получили не только параметры записи SOA, но и информацию о серверах доменных имен, которые эту зону поддерживают.

Приведенный выше отчет ни чем не отличается от того, который мы получили бы, если вместо обратной зоны использовали имя прямой зоны, например, polyn.kiae.su:

> set type=soa
> polyn.kiae.su.
Server: polyn.net.kiae.su
Address: 144.206.160.32

polyn.kiae.su
origin = polyn.net.kiae.su
mail addr = paul.kiae.su
serial = 80
refresh = 3600 (1 hour)
retry = 300 (5 mins)
expire = 9999999 (115 days 17 hours 46 mins 39 secs)
minimum ttl = 3600 (1 hour)
192.206.144.in-addr.arpa nameserver = polyn.net.kiae.su
192.206.144.in-addr.arpa nameserver = ns.spb.su
192.206.144.in-addr.arpa nameserver = ns.ussr.eu.net
polyn.net.kiae.su internet address = 144.206.160.32
ns.spb.su internet address = 193.124.83.69
ns.ussr.eu.net internet address = 193.125.152.3
>

Внимательный читатель обнаружит в приведенных выше примерах чудовищно большое время автономной работы для slave серверов для обеих зон (Устанавливается в SOA записи). Лучше всего следовать рекомендациям RIPE-203.

Рассмотрим еще два параметра интерактивного режима: server и lserver. Они нужны для изменения сервера доменных имен, которому nslookup посылает рекурсивные запросы (текущий сервер):

origin 16% nslookup
Default Server: IRIS.polyn.kiae.su
Address: 144.206.192.10

>

В данном случае в nslookup работает в качестве клиента и посылает рекурсивные запросы на сервер IRIS.polyn.kiae.su (144.206.192.10). Мы можем изменить этот сервер при помощи команд server или lserver:

> server 144.206.160.32
Default Server: polyn.net.kiae.su
Address: 144.206.160.32

>

В данном случае мы меняем адрес текущего сервера, используя текущий же сервер. Но текущий сервер может не отвечать:

> server 144.206.130.137
Default Server: [144.206.130.137]Address: 144.206.130.137

> 144.206.160.1
Server: [144.206.130.137]Address: 144.206.130.137

В этом месте мы “залипли”, т.к. по адресу 144.206.130.137 до сервера доменных имен мы достучаться не можем (он там когда-то был, но сейчас его уже там нет). Нам нужно поменять текущий сервер, т.е. тот, которые мы используем для рекурсивных запросов:

> lserver 144.206.160.32
Default Server: polyn.net.kiae.su
Address: 144.206.160.32

> 144.206.160.1
Server: polyn.net.kiae.su
Address: 144.206.160.32

*** polyn.net.kiae.su can’t find 144.206.160.1: Non-existent host/domain
>

Перед тем, как выдать команду мы вернулись в режим командной строки (^c) и потом выдали команду на изменение текущего сервера доменных имен.

Следует признать, что отклик nslookup на наш запрос не очень информативен. На самом деле просто в обратной зоне нет записи, которая бы устанавливала соответствие между IP адресом 144.206.160.1 и доменным именем. Впрочем, и более “свежие” программы тестирования DNS не более информативны. Вот пример отчета команды host:

> host 144.206.160.32
32.160.206.144.IN-ADDR.ARPA domain name pointer polyn.net.kiae.su
> host 144.206.160.1
Host not found.
>

В случае присутствия PTR записи, она выдается, при ее отсутствии – “хост не найден”.

Теперь рассмотрим еще один важный момент тестирования – передачу зоны. В этом случаи nslookup выступает как slave сервер, которые “срисовывает” зону с master сервера. Делается это при помощи команды интерактивного режима ls:

> ls bard.kiae.ru
[IRIS.polyn.kiae.su]$ORIGIN bard.kiae.ru.
@ 1H IN A 144.206.192.32
mail 1H IN A 144.206.192.32
www 1H IN A 144.206.192.32
>

На самом деле по команде ls в данном случае мы получили в отчете только адресные записи. Для того, чтобы получить все записи нужно указать либо флаг “-d”, либо “-t any”:

> ls -d bard.kiae.ru
[IRIS.polyn.kiae.su]$ORIGIN bard.kiae.ru.
@ 1H IN SOA ns.polyn.kiae.ru. paul.polyn.kiae.su. (
7 ; serial
1H ; refresh
5M ; retry
16w3d17h46m39s ; expiry
1H ) ; minimum

1H IN NS polyn.kiae.ru.
1H IN NS iris.polyn.kiae.su.
1H IN MX 10 mail
1H IN MX 20 iris.polyn.kiae.ru.
1H IN A 144.206.192.32
mail 1H IN A 144.206.192.32
1H IN MX 10 mail
www 1H IN A 144.206.192.32
@ 1H IN SOA ns.polyn.kiae.ru. paul.polyn.kiae.su. (
7 ; serial
1H ; refresh
5M ; retry
16w3d17h46m39s ; expiry
1H ) ; minimum

>

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

Следует еще раз напомнить, что nslookup считается не самым лучшим средством тестирования работы системы DNS и настройки серверов. Тем не менее, эта программа есть на любой Unix-платформе, и по этой причине ее применяют достаточно часто.


Рекомендованная литература:

  1. P. Mockapetris. RFC-1034. DOMAIN NAMES – CONCEPTS AND FACILITIES. ISI, 1987. (http://www.ietf.org/rfc/rfc1034.txt?number=1034)
  2. P. Mockapetris. RFC-1035. DOMAIN NAMES – IMPLEMENTATION AND SPECIFICATION. ISI, 1987. (http://www.ietf.org/rfc/rfc1035.txt?number=1035)
  3. Альбитц П., Ли К.. DNS и BIND. – Пер. с англ. – СПб: Символ-Плюс, 2002. – 696 с.


Полезные ссылки:

  1. Peter Koch. Ripe-203. Recommendations for DNS SOA Values. 1999. (http://www.ripe.net/docs/ripe-203.html)
  2. http://tom.imm.uran.ru/cgi-bin/man?nslookup(8) – страница man по nslookup.

Синтаксис

Список команд на сайте Майкрософт.

Оставьте комментарий

Adblock
detector