Работа с DNS из командной строки с помощью утилиты nslookup

Мы предоставляем услуги удаленного администрирования серверов

Работа с DNS из командной строки с помощью утилиты nslookup

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

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

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

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

yum install nslookup

apt-get install nslookup

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

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

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

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

nslookup admins24.com

… позволит получить IP-адрес для узла admins24.com.

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

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

Опции 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:

б) в Linux:

man nslookup

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

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

nslookup -timeout=1 -type=MX admins24.com

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

> set debug

> admins24.com

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

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

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

а) команда:

nslookup -type=AAAA mail.ru

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

> set type=AAAA

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

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.


   Мы принимаем