Что такое 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 😉
Свежие комментарии