Различия

Показаны различия между двумя версиями страницы.


Предыдущая версия
dig [2023/11/28 13:27] (текущий) darkfire
Строка 1: Строка 1:
 +====== Основы работы с утилитой Dig: Эффективное управление DNS-запросами ======
  
 +{{htmlmetatags>
 +metatag-description=(Dig DNS, проверка DNS напрямую, просмотр DNS записей ANY, A, NS, MX, CNAME, PTR, TXT, SOA.)
 +}}
 +
 +{{::dig_ns_domain-01.png?600|}}
 +
 +Утилита dig (Domain Information Groper) - это мощный инструмент командной строки, используемый в системах Unix и Linux для запросов к [[DNS|DNS]]-серверам. Она предназначена для получения информации о DNS-записях и диагностики проблем связанных с DNS. Dig позволяет пользователям выполнять запросы к определенным DNS-серверам, получать подробную информацию о различных типах DNS-записей, включая A-записи (адреса), MX-записи (почтовые серверы), NS-записи (серверы имен) и другие. 
 +
 +В Ubuntu утилита dig входит в пакет dnsutils, для установки запустите команду
 +<file bash>
 +apt install dnsutils
 +</file>
 +
 +===== Параметры dig =====
 +
 +Утилита **dig** использует обычную командную строку для формирования запросов о доменах DNS-серверам. Формат команды dig следующий:
 +<file>
 +dig [@server] domain [query-type] [query-class] [+query-option] [-dig-otion] [%comment]
 +</file>
 +Здесь 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
 +<file>
 +Параметр Описание
 +[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
 +</file>
 +Параметр -dig-otion используется для задания других опций, влияющих на работу dig.
 +
 +  * Параметры, влияющие на работу dig
 +<file>
 +Параметр Описание
 +-x Указывает инверсное преобразование адреса в нормальном написании
 +-f Считывает файл для дальнейшей пакетной обработки
 +-T Время в секундах до включения режима пакетной обработки
 +-p Номер используемого порта
 +-P После получения ответа выдать команду ping
 +-t Указывает тип запроса
 +-c Указывает класс запроса
 +-envsav Параметры dig должны быть сохранены для дальнейшего использования по умолчанию
 +</file>
 +
 +===== Примеры использования dig =====
 +<panel type="success"> В dig для вывода только секции ответа используйте ключи +noall +answer
 +<file>
 +# dig dieg.info +noall +answer
 +dieg.info. 891 IN A 185.253.219.218
 +</file>
 +</panel>
 +
 +  * Как узнать обновились ли зоны на slave серверах DNS? Для этого нужно запросить записи SOA для master и slave серверов DNS. После знака '@' указывается опрашиваем DNS сервер:<code bash>
 +dig @195.x.x.254 your.domen SOA 
 +dig @195.x.x.164 your.domen SOA
 +</code>
 +  * Работает ли jabber? <code bash>
 +dig @195.x.x.254 srv _jabber._tcp.your.domen
 +dig @195.x.x.164 srv _jabber._tcp.your.domen
 +</code>
 +  * Обратный DNS запрос:<code>
 +$ 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.
 +</code>
 +  * Трансфер зоны - если конечно разрешено с вашего IP<file>
 +dig @195.x.x.254 YourDomen.net axfr
 +</file>
 +  * Создать файл содержащий адреса корневых серверов<file>
 +dig @f.root-servers.net . ns >> root.cache
 +</file>
 +  * any<file>
 +# dig news.kh.ua any @8.8.8.8
 +</file>
 +  * Чтобы узнать запись [[SPF|SPF]] определённого домена нужно запросить TXT записи<code bash>
 +dig example.com txt @8.8.8.8
 +</code>
 +===== Как в dig вывести только IP адрес без дополнительных строк =====
 +С помощью опции +short вывод команды dig будет ограничен исключительно IP адресом. Ниже примеры для А и MX записей:
 +<file bash>
 +# dig dieg.info +short
 +185.253.219.218
 +
 +# dig dieg.info mx +short
 +0 mail.dieg.info.
 +</file>
 +===== Как просмотреть MX записи для домена =====
 +
 +Программа dig позволяет делать запрос и выводить информацию для различных типов DNS ресурсов. Чтобы показать какие MX записи у домена выполните команду:
 +
 +<file>
 +dig dieg.info mx
 +</file>
 +Для сокращения выводимой информации запрашиваемый тип записи (а также другие опции) можно комбинировать с опцией +short:
 +
 +<file>
 +dig dieg.info mx +short
 +</file>
 +====== Подтверждение права собственности на домен в Google Console при помощи TXT записи DNS ======
 +Подтверждение права собственности на домен в Google Console на примере провайдера [[https://dieg.info/review/namecheap/|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<code bash>
 +dig example.com txt @8.8.8.8
 +</code>
 +Вывести все TXT записи в том числе и проверочную запись от Google:
 +<file bash>
 +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"
 +</file>
 +===== DIG: Вывести трассу DNS запросов к запрашиваемую домену =====
 +
 +  * Вывести трассу DNS запросов к запрашиваемую домену<file>
 +# dig +trace man.com
 +</file>
 +
 +===== DIG: Проверка DNSSEC =====
 +
 +dig позволяет увидеть подробную картину разрешения имени. Для того чтобы убедиться, что сервер или резолвер работает корректно, можно использовать следующие команды, предварительно добавив в конфигурационный файл ключ домена в качестве доверенного:
 +
 +<file>
 +dig @xx.xx.xx.xx www.m-system.net +dnssec
 +</file>
 +xx.xx.xx.xx — ip адрес Вашего резолвера, поддерживающего ГОСТ. После выполнения этой команды в ответе должен присутствовать флаг ad — данные подтверждены.
 +Если ad флаг отсутствует, но Вы запрашиваете адрес имени из домена, ключ которого Вы добавили в доверенные — что-то не так.
 +
 +Ответ SERVFAIL значит, что подпись не соответствует доверенному ключу либо отсутствует.

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!