Использование утилиты 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.