Команда dig в Linux используется для сбора информации о DNS. Она расшифровывается как Domain Information Groper (сборщик информации о домене) и, как очевидно из названия, собирает данные о серверах доменных имен. Команда dig полезна для устранения проблем с DNS, но также используется для отображения информации о доменах.

Это руководство поможет вам понять и использовать команду dig в Linux.

Что вам потребуется

Для работы нам понадобится:

  • Операционная система Linux
  • Доступ к правам администратора
  • Доступ к терминалу (командной строке)

Установка утилиты dig

В большинстве современных систем Linux команда dig уже установлена.

Убедитесь, что она установлена, проверив версию программного обеспечения. Для этого откройте командную строку и введите следующее:

Убедитесь, что она установлена, проверив версию программного обеспечения. Для этого откройте командную строку и введите следующее:

dig -v

Если же вместо номера версии вы получили ошибку, значит утилита dig не установлена. Для того, чотбы установить её, выполните следующую колма

sudo apt-get install dnsutils

Синтаксис команды dig

Команда dig имеет следующий синтаксис:

dig [домен] [сервер] [тип]

Здесь [домен] - это адрес, информацию о котором вы хотите получить

[сервер] - адрес DNS-сервера, с которого нужно получить информацию

[тип] - тип NS-записи.

Наиболее распространены следующие типы записей:

  • A – Запись об адресе, которая определяет соответствие между доменными именем и IP-адресом
  • MX – Почтовая запись, содержит информацию для передачи почты
  • SIG – Запись о подписи, которая используется в протоколах шифрования

Как использовать команду dig с примерами

Давайте рассмотрим, как использовать команду dig.

Поиск DNS

Команда dig позволяет производить поиск по записям DNS, для чего необходимо выполнить в терминале следующую команду:

dig yandex.ru

Результат будет примерно следующим:

Самая важная информация содержится в разделе A

  • В первой колонке указано название сервера, по которому выполнялся запрос
  • Вторая колонка содержит Время жизни (Time to Live), время, через которое запись будет обновлена
  • Третья колонка указывает на класс запроса – здесь “IN” обозначает интернет
  • В четвертой колонке указан тип запроса – в этом случае “A” обозначает запись типа A (адрес)
  • В последней колонке выводится IP-адрес, связанный с доменными именем

Поиск DNS на определенном сервере

По умолчанию команда dig использует системные сетевые настройки. Но можно указать ей, с какого сервера имен брать информацию. Например, для того, чтобы запросить запись с серверов Google, нужно выполнить следующую команду:

dig @8.8.8.8 yandex.ru

Результат будет похожим, но информация будет получена с указанного вами сервера:

Эта функция может быть полезной, если вы настраиваете запись для сайта на нейм-серверах хостинг-провайдера.

Получение всех записей домена

Для того, чтобы получить не только A, но и все остальные записи, указанные на сервере для домена, добавьте к команде параметр ANY:

dig yandex.ru ANY

Результат будет более развернутым:

Вместо опции ANY можно использовать записи любого другого типа. К таким типам относятся MX (почтовый обмен), A (адрес), SIG (подпись) и т.д. Существует множество различных типов записей DNS. Если вы не уверены, какая вам нужна, оставьте опцию типа пустой.

Короткий ответ

Если вам не нужна вся вспомогательная информация, с помощью опции +short можно получить только главное:

dig yandex.ru +short

Результат будет лаконичным:

Компромиссный вариант с исопльзованием опций +noall +answer позволяет выводить только раздел ответа:

dig yandex.ru +noall +answer

Обратный поиск DNS

Для того, чтобы узнать, какой домен привязан к IP-адресу, используйте параметр -x:

dig -x 77.88.55.88

Заключение

Приведенной здесь информации будет достаточно для базового использования команды dig. Если вы желаете ознакомиться с дополнительными функциями, обратитесь к документации:

man dig