DataLife Engine / Dig в Linux: Полное руководство по мощному DNS-детективу

Dig в Linux: Полное руководство по мощному DNS-детективу

Команда dig (domain information groper) — многофункциональный инструмент для опроса DNS-серверов. Она позволяет получить больше информации о конкретном домене, для того чтобы, например, узнать используемые им IP-адреса.

Этот инструмент может оказаться полезным сетевым администраторам для выявления неисправностей DNS. Аналоги чаще всего предлагают меньше функций и возможностей, чем может предоставить утилита командной строки dig. В этой статье мы рассмотрим что из себя представляет команда dig Linux, а также как ею пользоваться.


Содержание статьи

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

Использовать команду dig несложно. Достаточно ввести название сервера, имя домена и передать команде подходящие опции:

$ dig @сервер доменное.имя тип записи флаги

Где:

Опции и флаги dig

Во время работы утилиты dig могут использоваться следующие флаги:

Вместе с dig можно применять следующие опции:

Здесь указаны лишь некоторые флаги и опции. Если необходимо узнать больше, используйте команду:

man dig

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

1. Получение информации о домене

Для того чтобы получить информацию о домене необходимо передать имя домена команде. Например, для google.com:

dig google.com

Dig в Linux: Полное руководство по мощному DNS-детективу

Рассмотрим каждую секцию вывода подробнее:

По умолчанию утилита выводит много лишней информации. Для получения только основных данных используйте запрос с флагом +short. Например:

dig google.com +short

Dig в Linux: Полное руководство по мощному DNS-детективу

Если использовать команду dig вместе с +noall, вы ничего не увидите, поскольку этот флаг отключает вывод всех секций.

dig google.com +noall

Dig в Linux: Полное руководство по мощному DNS-детективу

Если вместе с флагом +noall использовать флаг +answer, dig выведет только ту информацию, которая есть в секции ANSWER (IP-адрес, тип записи и пр.).

dig доменное.имя +noall +answer

Dig в Linux: Полное руководство по мощному DNS-детективу

Для создания комбинированного запроса можно использовать текстовый файл со списком сайтов, например, sites.txt. Чтобы создать текстовый документ с таким именем, введите следующую команду в терминале:

nano sites.txt

Dig в Linux: Полное руководство по мощному DNS-детективу

В файл необходимо добавить список доменов, для которых необходимо получить данные, например:

google.com
ya.ru
losst.pro

Dig в Linux: Полное руководство по мощному DNS-детективу

Для того чтобы получить информацию о перечисленных в файле sites.txt доменах, используйте команду:

dig -f sites.txt +noall +answer

Dig в Linux: Полное руководство по мощному DNS-детективу

2. Получение определённой записи

Согласно синтаксису команды dig linux, тип записи указывается после доменного имени. Для того чтобы получить MX-запись домена google.com, используйте команду:

dig google.com MX +noall +answer

Dig в Linux: Полное руководство по мощному DNS-детективу

Чтобы получить NS-запись для домена, введите в терминале такую команду:

dig google.com NS +noall +answer

Dig в Linux: Полное руководство по мощному DNS-детективу

Запрос записи A происходит по умолчанию. Однако мы можем прописать этот запрос отдельно, чтобы обеспечить её вывод без дополнительной информации:

dig google.com A +noall +answer

Dig в Linux: Полное руководство по мощному DNS-детективу

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

dig google.com TXT +noall +answer

Dig в Linux: Полное руководство по мощному DNS-детективу

Для просмотра всех типов записей одновременно используйте запрос вида:

dig google.com ANY +noall +answer

Dig в Linux: Полное руководство по мощному DNS-детективу

3. Использование определённого DNS-сервера

Если DNS-сервер не был указан, как это было показано в предыдущих примерах, утилита dig linux будет по очереди пробовать все серверы из файла /etc/resolv.conf. Если же и там ничего нет, dig отправит запрос на localhost.

Указывать DNS-серверы можно в формате IPv4 или IPv6. Это не имеет значения и не повлияет на вывод dig. Отправим запрос на публичный DNS-сервер Google. Его IP-адрес: 8.8.8.8. В этом случае запрос в dig будет выглядеть следующим образом:

dig @8.8.8.8 google.com +noall +answer

Dig в Linux: Полное руководство по мощному DNS-детективу

Как видно, для домена google.com используется IP-адрес: 142.250.75.14.

4. Получение домена по IP

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

dig -x 87.250.250.242

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

dig -x 87.250.250.242 +short

Команда отображает информацию о том, что это google.com. Как видите команда dig Linux способна на многое.

Выводы

В этой небольшой статье мы рассмотрели, как можно использовать dig для опроса DNS-серверов. Несмотря на то что команда достаточно простая, она позволяет получить много полезной информации. А чем вы пользуетесь для обращения к серверам DNS? Напишите об этом в комментариях ниже.

24-10-2025, 23:00
Вернуться назад