Использование утилиты nslookup

Обновлено Обновлено: Опубликовано Опубликовано:

Утилита и одноименная команда nslookup позволяет обращаться к серверу имен (NS) из командной строки. С ее помощью можно выполнить проверку работы DNS-сервера и созданных в нем записей. В данной инструкции подробно разберем работу с данной утилитой.

Ввод команды и синтаксис

Для работы с утилитой необходимо открыть командную строку (cmd или powershell в Windows и unix-shell в UNIX). В системах на базе Windows утилита встроена, и мы можем работать с ней в любой момент. Для некоторых дистрибутивов Linux потребуется установка утилиты одной из команд:

yum install bind-utils

apt install dnsutils

* первая команда для систем на базе Red Hat, вторая — Debian.

Для выполнения запросов используем команду:

nslookup [опции] <имя хоста для опроса или IP-адрес> [сервер DNS]

Самый простой пример использования команды:

nslookup dmosk.ru

... позволит получить IP-адрес для узла dmosk.ru.

Утилита также поддерживает работу в интерактивном режиме — вводим команду:

nslookup

После можно делать запросы.

Опции nslookup

При выполнении запросов мы можем использовать следующие опции:

Опция Описание
Применяются для команды и интерактивного режима
all Выводит параметры текущего запроса и настроек сервера DNS.
class=X Задает класс запроса, который указывает группу протоколов информации. Возможны варианты:
1. IN — Internet. Более, чем в 99% случаев используется он.
2. CHAOS, HESIOD — данные классы используются, крайне, редко.
3. ANY — запрос по всем возможным классам.
d2 Выводит полной информации по осуществлению запроса.
nod2 Обычный вывод (по умолчанию).
debug Покажет отладочную информацию по запросу.
nodebug Запрос без отображения отладочной информации (по умолчанию).
defname При запросе к хосту не FQDN автоматически подставит домен, который находится в настройках системы (DNS-суффикс).
nodefname Не подставлять домен.
domain='NAME' Задает домен, который должен быть подставлен к имени хоста (альтернатива DNS-суффиксу).
querytype=TYPE Указывает на тип запроса или тип записи, например, А, mx, txt и так далее. Аналогична опции type.
recurse Рекурсивный запрос (информация запрашивается у других серверов, если ее нет на используемом в запросе).
norecurse Запрет на использование рекурсивного запроса.
retry=X В случае долгого ответа, параметр позволяет указать количество повторов опроса.
root Назначает текущий DNS в качестве корневого сервера по умолчанию.
root=NAME Позволяет задать корневой сервер.
search Добавлять DNS-имена к имени хоста из списка доменов (сам список задается опцией srchlist).
nosearch Не использовать список доменов для подстановки к имени хоста.
srchlist=N1[/N2/.../N6] Задает список доменов, который нужно подставлять при использовании опции search.
timeout=X Задает время в секундах, сколько утилита должна ждать ответа от сервера.
type=X Указывает на тип записи, которую будем опрашивать. Например, для получения записи AAAA мы вводим опцию type=АААА.
vc Позволяет использовать виртуальную схему при отправке запросов. К сожалению, я не нашел подробного описания, что это значит.
novc Не использовать виртуальную схему при отправке запросов.
Работают только в интерактивном режиме (задается без SET)
lsserver NAME Задает имя сервера DNS. При определении имени NAME используется начальная настройка DNS.
server NAME Задает имя сервера DNS. При определении имени NAME используется текущее значение для DNS.

Также мы можем вызвать описание для nslookup.

а) в системах на базе Windows:

nslookup

> help 

б) в Linux:

man nslookup

Использование опций

При вводе команды nslookup к опциям добавляем дефис, например:

nslookup -timeout=1 -type=MX dmosk.ru

Если мы работаем с nslookup в интерактивном режиме, то опции задаются с помощью команды set:

> set debug

> dmosk.ru

* первая команда задает опцию для выполнения подробных запросов. Вторая — делает запрос для домена dmosk.ru.

Примеры использования

1. Запрос записи ipv6 для домена mail.ru.

а) команда:

nslookup -type=AAAA mail.ru

б) интерактивный режим:

> set type=AAAA

> mail.ru

2. Узнать NS серверы для домена google.com.

а) команда:

nslookup -type=NS google.com

б) интерактивный режим:

> set type=NS

> google.com

3. Определить mx-записи для yandex.ru через DNS-сервер 8.8.8.8

а) команда:

nslookup -type=MX yandex.ru 8.8.8.8

б) интерактивный режим:

> set type=MX

> server 8.8.8.8

> yandex.ru

* где мы указываем:

  • type — тип записи, которую должны найти.
  • server — сервер DNS, который будем опрашивать.

4. Запрос имени по IP-адресу (обратная зона)

а) команда:

nslookup -type=ptr 94.100.180.31

б) интерактивный режим:

> set type=ptr

> 94.100.180.31

Аналоги nslookup

1) В качестве альтернативы командной строке, можно воспользоваться различными онлайн сервисами для выполнения запросов к DNS. Например, на 2whois.ru.

2) Для Linux можно воспользоваться утилитой dig, которая также предназначена для выполнения запросов к DNS.

3) На мобильных устройствах, например, под управлением Android есть свои утилиты для опроса DNS. Например, Ping & Net.

# Windows # Интернет
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет