Основы работы с утилитой Dig: Эффективное управление DNS-запросами
Утилита dig (Domain Information Groper) - это мощный инструмент командной строки, используемый в системах Unix и Linux для запросов к DNS-серверам. Она предназначена для получения информации о DNS-записях и диагностики проблем связанных с DNS. Dig позволяет пользователям выполнять запросы к определенным DNS-серверам, получать подробную информацию о различных типах DNS-записей, включая A-записи (адреса), MX-записи (почтовые серверы), NS-записи (серверы имен) и другие.
В Ubuntu утилита dig входит в пакет dnsutils, для установки запустите команду
apt install dnsutils
Параметры dig
Утилита dig использует обычную командную строку для формирования запросов о доменах DNS-серверам. Формат команды dig следующий:
dig [@server] domain [query-type] [query-class] [+query-option] [-dig-otion] [%comment]
Здесь server — необязательное имя DNS-сервера. По умолчанию в dig будет использоваться DNS-сервер, указанный в файле /etc/resolv.conf. Можно указать опцию server либо по имени хоста, либо через его IP-адрес. Если для опции server используется имя хоста, то для преобразования его в IP-адрес dig воспользуется DNS-сервером по умолчанию и будет его использовать далее для получения информации о домене. Параметр query-type — тип исходной записи, который можно указать в запросе (A, SOA, NS и MX). Для получения всей информации о домене можно указать query-type any. Параметр query-class — класс сетевой информации, который также можно указывать в запросе. По умолчанию этот параметр всегда будет IN для сети Internet.
Параметр +query-option используется для изменения значения параметра в пакете DNS или для изменения формата вывода результатов работы dig. Большинство этих параметров пересекаются с параметрами программы nslookup. Ниже показаны параметры, которые можно использовать в запросе с dig.
- Параметры утилиты dig
Параметр Описание [no]debug Включает/выключает режим отладки [no]d2 Включает/выключает режим полной отладки [no]recurse Использовать/не использовать рекурсивные цепи retry=# Устанавливает число повторов запроса time=# Устанавливает длину интервала ожидания [no]ko Оставляет открытой опцию (реализует vc ) [no]vc Использовать/не использовать виртуальную цепь [no]defname Использовать/не использовать домен по умолчанию [no]search Использовать/не использовать список поиска domain=NAME Устанавливает домен по умолчанию с именем NAME [no]ignore Игнорировать/не игнорировать ошибки при усечении [no]primary Использовать/не использовать главный сервер [no]aaonly Флажок для авторитетного запроса [no]trace Показыввать трассу запросов [no]cmd Отображать аргументы при анализе [no]stats Вывод статистики по запросу [no]Header Вывод основного заголовка [no]header Вывод флагов заголовка [no]ttlid Отображение TTL [no]cl Вывод информации о классе [no]qr Отображение исходящего запроса [no]reply Вывод ответа [no]ques Вывод поля вопроса [no]answer Вывод поля ответа [no]author Вывод поля полномочий [no]addit Вывод поля дополнительной информации pfdef Устанавливает вывод флагов по умолчанию pfmin Устанавливает минимальный вывод флагов pfset=# Устанавливает число выводимых флагов # pfand=# Вывод # флагов поразрядно через операцию AND pfor=# Вывод # флагов поразрядно через операцию OR
Параметр -dig-otion используется для задания других опций, влияющих на работу dig.
- Параметры, влияющие на работу dig
Параметр Описание -x Указывает инверсное преобразование адреса в нормальном написании -f Считывает файл для дальнейшей пакетной обработки -T Время в секундах до включения режима пакетной обработки -p Номер используемого порта -P После получения ответа выдать команду ping -t Указывает тип запроса -c Указывает класс запроса -envsav Параметры dig должны быть сохранены для дальнейшего использования по умолчанию
Примеры использования dig
В dig для вывода только секции ответа используйте ключи +noall +answer
# dig dieg.info +noall +answer dieg.info. 891 IN A 185.253.219.218
- Как узнать обновились ли зоны на slave серверах DNS? Для этого нужно запросить записи SOA для master и slave серверов DNS. После знака '@' указывается опрашиваем DNS сервер:
dig @195.x.x.254 your.domen SOA dig @195.x.x.164 your.domen SOA
- Работает ли jabber?
dig @195.x.x.254 srv _jabber._tcp.your.domen dig @195.x.x.164 srv _jabber._tcp.your.domen
- Обратный DNS запрос:
$ dig -x 209.85.210.2 ; <<>> DiG 9.6.1-P2 <<>> -x 209.85.210.2 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31663 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4 ;; QUESTION SECTION: ;2.210.85.209.in-addr.arpa. IN PTR ;; ANSWER SECTION: 2.210.85.209.in-addr.arpa. 86400 IN PTR mail-yx0-f2.google.com.
- Трансфер зоны - если конечно разрешено с вашего IP
dig @195.x.x.254 YourDomen.net axfr
- Создать файл содержащий адреса корневых серверов
dig @f.root-servers.net . ns >> root.cache
- any
# dig news.kh.ua any @8.8.8.8
- Чтобы узнать запись SPF определённого домена нужно запросить TXT записи
dig example.com txt @8.8.8.8
Как в dig вывести только IP адрес без дополнительных строк
С помощью опции +short вывод команды dig будет ограничен исключительно IP адресом. Ниже примеры для А и MX записей:
# dig dieg.info +short 185.253.219.218 # dig dieg.info mx +short 0 mail.dieg.info.
Как просмотреть MX записи для домена
Программа dig позволяет делать запрос и выводить информацию для различных типов DNS ресурсов. Чтобы показать какие MX записи у домена выполните команду:
dig dieg.info mx
Для сокращения выводимой информации запрашиваемый тип записи (а также другие опции) можно комбинировать с опцией +short:
dig dieg.info mx +short
Подтверждение права собственности на домен в Google Console при помощи TXT записи DNS
Подтверждение права собственности на домен в Google Console на примере провайдера Namecheap.
Подтвердив право собственности на домен, вы сможете пользоваться своим сервисом Google, например G Suite, Drive Enterprise или Cloud Identity. Аккаунт G Suite открывает доступ к Gmail, Google Диску и другим службам.
При регистрации в сервисе Google вы получите проверочную запись, которую нужно скопировать и добавить в настройки домена (обычно они находятся у регистратора домена).
Проверочная запись Google имеет следующий формат: google-site-verification=[уникальная буквенно-цифровая строка].
На сайте Namecheap нажмите Manage (Управление). Откройте вкладку Advanced DNS (Расширенные настройки DNS) на панели инструментов. В раскрывающемся списке выберите TXT Record (Запись TXT). Вставьте текст проверочной записи в поле Value (Значение). Укажите значение @ в поле Host (Хост). Для параметра TTL выберите значение Automatic (Авто). Нажмите на галочку, чтобы сохранить запись
Проверить правильность настройки при помощи утилиты dig
dig example.com txt @8.8.8.8
Вывести все TXT записи в том числе и проверочную запись от Google:
dig dieg.info txt +short "v=spf1 include:zoho.eu mx a ~all" "v=DMARC1; p=none; rua=mailto:darkfire@dieg.info" "google-site-verification=sm5d51AVXlIwW5ODgl6ookFgezviNuMfY4kBNkfm6fk" "zoho-verification=zb69704592.zmverify.zoho.eu" "google-site-verification=1Vnvx7hF8QBHyu7G5S-q2rNf6z5R4cbcW13jflMqmMQ"
DIG: Вывести трассу DNS запросов к запрашиваемую домену
- Вывести трассу DNS запросов к запрашиваемую домену
# dig +trace man.com
DIG: Проверка DNSSEC
dig позволяет увидеть подробную картину разрешения имени. Для того чтобы убедиться, что сервер или резолвер работает корректно, можно использовать следующие команды, предварительно добавив в конфигурационный файл ключ домена в качестве доверенного:
dig @xx.xx.xx.xx www.m-system.net +dnssec
xx.xx.xx.xx — ip адрес Вашего резолвера, поддерживающего ГОСТ. После выполнения этой команды в ответе должен присутствовать флаг ad — данные подтверждены. Если ad флаг отсутствует, но Вы запрашиваете адрес имени из домена, ключ которого Вы добавили в доверенные — что-то не так.
Ответ SERVFAIL значит, что подпись не соответствует доверенному ключу либо отсутствует.
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах