0

Использования команды dig для просмотра параметров DNS (DNS Lookup) в Linux

Что такое dig?

dig (англ. слово «копать», а формально — сокращение от «domain information groper») — утилита (DNS-клиент), предоставляющая пользователю интерфейс командной строки для обращения к системе DNS. Позволяет задавать различные типы запросов и запрашивать произвольно указываемые сервера. Является аналогом утилиты nslookup.

  • Простой вывод команды dig (для понимания вывода, без доп.параметров )

Когда вы задаете имя домена в команде dig по-умолчанию вы получаете A-запись домена (ip-адрес сайта (домена) который мы запрашивали) как показано на листинге ниже:

В примере можно увидеть A-записи домена google.com в разделе ANSWER SECTION

Давайте рассмотрим разделы данного вывода подробней:
– HEADER (заголовок): показывает версию dig, глобальные опции используемые с командой и другую дополнительную информацию
– QUESTION SECTION (секция запроса): Показывает наш запрос, то бишь мы запросили показать A-запись (команда dig без параметров) для домена ya.ru
– ANSWER SECTION (секция ответа): Показывает ответ полученный от DNS, в нашем случае показывает A-запись для google.com
Последняя секция это статистика по запросу (служебная информация) – время выполнения запроса, имя DNS-сервера который запрашивался, когда был создан запрос и размер сообщения.

  • Вывод только секции ANSWER SECTION

В большинстве случаев требуется только ip адрес домена, то бишь вывод секции “ANSWER SECTION”
Для этого существуют следующие ключи:
-+nocomments – отключает линию комментариев
-+noauthority – отключает секцию “AUTHORITY SECTION”
-+noadditional – отключает секцию “ADDITIONAL SECTION”
-+nostats – отключает секцию статистики
-+noanswer – выключает секцию ответа (ANSWER SECTION)

Можно сделать проще, существует ключ +noall, который выключает все секции. Таким образом мы используем ключ +noall и добавляем ключ +answer, уменьшая длину команды.

  • Запрос MX-записи

Для запроса MX-записи домена мы используем одноименный аргумент командной строки (MX)

Этот же запрос можно выполнить с ключом -t (тип)

  • Запрос NS-записи

По аналогии с предыдущим пунктом, используем аргумент NS

Вы также можете использовать ключ -t для указания типа запроса

  • Просмотр всех типов DNS-записей

Для этого используется ключ ANY

dig ya.ru ANY +noall +answer

Также допустим ключ -t

dig -t ANY google.com  +noall +answer

  • Краткий вывод команды dig

Допустим чтобы просмотреть только ip-адрес, без лишней информации, используем опцию +short

Вы также можете вывести информацию по любому виду информации с ключем +short
Пример:

  • Просмотр информации об обратной зоне домена (PTR)

Для просмотра обратной зоны необходимо использовать ключ -х
Для примера, мы хотим узнать имя домена по ip 64.233.164.138

Для вывода полной информации убираем ключ +short

  • Использование конкретного DNS-сервера для выполнения запроса

Для использования конкретного DNS-сервера используется запись вида – @dnsserver, где dnsserver это или имя или ip-адрес DNS-сервера
Данный пример мы рассмотрели в п.1

  • Объемный запрос (запрос информации сразу о нескольких доменах)

Для запроса информации о нескольких доменах возможно использование текстовых файлов с перечислением доменов.
Создадим файл names.txt с именами доменов:

Далее используем ключ -f для чтения из файла:

Также можно комбинировать тип DNS записи c опцией -f:

Также возможно перечисление доменов непосредственно в командной строке. Для примера узнаем MX-запись для домена ya.ru и NS-запись для домена google.com:

  • Изменение параметров по умолчанию для команды dig

Например вы хотите, чтобы утилита dig по умолчанию выводила только секцию ответа (ANSWER SECTION).
Для этого необходимо внести в файл .digrc необходимые ключи, в нашем случае +noall +answer:

nano $HOME/.digrc
+noall +answer

Таким образом мы рассмотрели мизерную часть этой замечательной утилиты, для тех, кто хочет большего, добро пожаловать в man dig 😉

Облачная платформа

Свежие комментарии

Подписка

Лучшие статьи

Рубрики

Популярное

1

100500+ команд Linux.

Команды для навигации в терминале Команды Linux для получения прав суперпользователя Для выполнения множества действий в системе, например для установки и удаления
Previous Story

100500+ команд Linux.

Next Story

Nextcloud: запуск в Docker Compose с SSL от Let’s Encrypt

Latest from Blog

Проброс портов в роутере MikroTik 2

Проброс портов в роутере MikroTik (port forwarding) позволяет организовать удаленный доступ из интернета к какому-нибудь устройству внутри вашей локальной сети (к IP-камере, Web, FTP или игровому серверу). В данной статье мы рассмотрим пример, как

How to set up WireGuard Client on Debian?

WireGuard is an extremely simple yet fast and modern VPN. Setting up the WireGuard VPN client on Debian is straightforward. In this tutorial, we will set up WireGuard VPN client on Debian
Go toTop

Don't Miss

100500+ команд Linux.

Команды для навигации в терминале Команды Linux для получения прав