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

Давайте рассмотрим это по частям.

; > DiG 9.11.3-1ubuntu1.11-Ubuntu> howtogeek.com ;; глобальные параметры: + cmd ;; Получил ответ: ;; — >> ЗАГОЛОВОК

Вот что все это значит:

Первая строка: версия dig и запрошенный домен.
Глобальные параметры: как мы увидим, вы можете использовать dig для одновременного запроса нескольких доменов. В этой строке показаны параметры, которые были применены ко всем запросам домена. В нашем простом примере это была просто опция по умолчанию + cmd (команда).
Код операции: Запрос: это тип запрошенной операции, которая в данном случае была запросом. Это значение также может быть iquery для обратного запроса или состоянием, если вы просто тестируете состояние системы DNS.
Статус: Noerror: ошибок не было, запрос был разрешен правильно.
ID: 12017: этот случайный идентификатор связывает запрос и ответ.
Флаги: qr rd ra: обозначают запрос, желаемую рекурсию и доступную рекурсию. Рекурсия — это одна из форм поиска в DNS (другая — итеративная). Вы также можете увидеть AA, что означает авторитетный ответ, что означает, что авторитетный сервер имен предоставил ответ.
Запрос: 1: количество запросов в этом сеансе, которое было одним.
Ответ: 4: Количество ответов в этом ответе, то есть четыре.
Авторитет: 0: количество ответов, полученных от авторитетного сервера имен, в данном случае нулевое. Ответ был возвращен из кеша сервера-предшественника DNS. В ответе не будет авторитетного раздела.
Дополнительно: 1: Есть одна дополнительная информация. (Как ни странно, ничего не отображается, если это значение не равно двум или выше.)

Выбрать псевдоразрез

Затем мы видим следующее в псевдоразрезе Opt:

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494

Давайте разберемся с этим:

EDNS: версия 0: версия Система расширений для DNS это используется. EDNS передает расширенные данные и флаги, увеличивая размер Протокол пользовательских датаграмм (UDP) пакеты. На это указывает флаг переменного размера.
flags: флаги не используются.
udp: 4096: размер пакета UDP.

Раздел вопросов

В разделе вопросов мы видим следующее:

;; QUESTION SECTION:
;howtogeek.com. IN A

Вот что это значит:

howtogeek.com: доменное имя, которое мы запрашиваем.
IN: Мы делаем запрос в интернет-классе.
A: Если не указано иное, dig запросит запись A (адрес) с DNS-сервера.

Раздел ответов

Раздел ответов содержит следующие четыре ответа, которые мы получили от DNS-сервера:

howtogeek.com. 3551 IN A 151.101.194.217
howtogeek.com. 3551 IN A 151.101.130.217
howtogeek.com. 3551 IN A 151.101.66.217
howtogeek.com. 3551 IN A 151.101.2.217

Вот что означают эти ответы:

  Как смонтировать файловые системы в Linux как доступные только для чтения

3551: это время жизни (TTL), 32-разрядное целое число со знаком, которое содержит временной интервал, в течение которого запись может быть кэширована. Когда он истекает, данные должны использоваться в ответе на запрос, пока он не будет обновлен DNS-сервером.
И.Н .: Мы сделали запрос класса Интернет.
A: Мы запросили запись A с DNS-сервера.

Раздел статистики

Статистика — это последний раздел, который содержит следующую информацию:

;; Query time: 0 msec 
;; SERVER: 127.0.0.53#53(127.0.0.53) 
;; WHEN: Sun Mar 22 07:44:37 EDT 2020 
;; MSG SIZE rcvd: 106

Вот что у нас получилось:

Время запроса: 0 мсек: время, необходимое для получения ответа.
СЕРВЕР: 127.0.0.53 # 53 (127.0.0.53): IP-адрес и номер порта DNS-сервера, который ответил. В этом случае он указывает на локальный преобразователь заглушки кеширования. Это перенаправляет DNS-запросы на любой настроенный вышестоящий DNS-сервер. На тестовом компьютере Manajro адрес, указанный здесь, был 8.8.8.8 # 53, то есть Общедоступный DNS-сервис Google.
КОГДА: 22 марта, 07:44:37 EDT 2020: Когда был сделан запрос.
РАЗМЕР СООБЩЕНИЯ rcvd: 106: Размер сообщения, полученного от DNS-сервера.

Избирательность

Вам не нужно соглашаться на две крайности: молчание и болтливость. Команда dig позволяет выборочно включать или исключать разделы из результатов.

Следующие параметры запроса удаляют этот раздел из результатов:

+ nocomments: не показывать строки комментариев.
+ noauthority: не показывать раздел полномочий.
+ noadditional: не показывать дополнительный раздел.
+ nostats: не показывать раздел статистики.
+ noanswer: не показывать раздел ответов.
+ noall: Ничего не показывать!

Параметр запроса + noall обычно сочетается с одним из приведенных выше, чтобы включить раздел в результаты. Таким образом, вместо того, чтобы вводить длинную строку параметров запроса для отключения нескольких разделов, вы можете использовать + noall, чтобы отключить их все.

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

+ комментарии: Показать строки комментариев.
+ авторитет: показать раздел полномочий.
+ additional: Показать дополнительный раздел.
+ статистика: показать раздел статистики.
+ ответ: Показать раздел ответов.
+ все: Показать все.

Мы вводим следующее, чтобы сделать запрос и исключить строки комментариев:

dig howtogeek.com +nocomments

В

Если мы будем использовать параметр запроса + noall отдельно, как показано ниже, мы не получим никакого полезного вывода:

dig howtogeek.com +noall

В

Мы можем выборочно добавлять разделы, которые хотим видеть. Чтобы добавить раздел ответов, мы набираем следующее:

dig howtogeek.com +noall +answer

В

Если мы введем следующее, чтобы включить + stats, мы также увидим раздел статистики:

dig howtogeek.com +noall +answer +stats

В

Комбинация + noall + answer используется часто. При необходимости вы можете добавить другие разделы в командную строку. Если вы не хотите вводить + noall + answer в командной строке каждый раз, когда используете dig, вы можете поместить их в файл конфигурации с именем «.digrc». Он находится в вашем домашнем каталоге.

  Как играть в Path of Exile в Linux

Мы вводим следующее, чтобы создать его с эхо:

echo "+noall +answer" > $HOME/.digrc

Затем мы можем ввести следующее, чтобы проверить его содержимое:

cat .digrc

В Команды $ HOME / .digrc «и» cat .digrc «в окне терминала.» width = «646» height = «122» onload = «pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon (это);» onerror = «this.onerror = null; pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon (this);»>

Эти два параметра теперь будут применяться ко всем будущим применениям dig, как показано ниже:

dig ubuntu.org
dig linux.org
dig github.com

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

Записи DNS

Информация, возвращаемая в ваши запросы на копание, извлекается из различных типов записей, хранящихся на DNS-сервере. Если мы не просим чего-то другого, dig запрашивает запись A (адрес). Следующие типы записей обычно используются с dig:

Запись: связывает домен с IP-адресом версии 4.
Запись MX: записи почтового обмена направляют электронные письма, отправленные в домены, на правильный почтовый сервер.
Запись NS: записи сервера имен делегируют домен (или субдомен) набору DNS-серверов.
Запись TXT: текстовые записи хранят текстовую информацию о домене. Как правило, они могут использоваться для подавления поддельной или поддельной электронной почты.
Запись SOA: начало авторитетных записей может содержать много информации о домене. Здесь вы можете найти основной сервер имен, ответственную сторону, отметку времени для изменений, частоту обновления зоны и ряд временных ограничений для повторных попыток и отказов.
TTL: время жизни — это параметр для каждой записи DNS, который указывает, как долго серверу-предшественнику DNS разрешено кэшировать каждый запрос DNS. По истечении этого времени данные необходимо обновить для последующих запросов.
ЛЮБОЙ: Это говорит dig, что нужно возвращать все возможные типы DNS-записей.

Указание типа записи A не меняет действия по умолчанию, которое заключается в запросе записи адреса и получении IP-адреса, как показано ниже:

dig redhat.com A

В

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

dig yahoo.com MX

В

Флаг сервера имен возвращает следующее имя корневых серверов имен, связанных с доменом верхнего уровня:

dig fedora.com NS

В

Чтобы запросить начало авторитетной записи, мы вводим следующий флаг SOA:

dig manjaro.com SOA

В

Флаг TTL покажет нам время жизни данных в кеше DNS-сервера. Если мы сделаем серию запросов, мы увидим, что время жизни уменьшится до нуля, а затем вернемся к своему начальному значению.

  Как перейти с Bash на Fish Shell в Linux

Набираем следующее:

dig usa.gov TTL

В

Чтобы увидеть текстовые записи, набираем флаг TX:

dig usa.gov TXT

В

Указание DNS-сервера

Если вы хотите использовать определенный DNS-сервер для своего запроса, вы можете использовать знак (@), чтобы передать его в dig в качестве параметра командной строки.

При использовании DNS-сервера по умолчанию (см. Ниже) dig ссылается на локальный кэширующий преобразователь заглушки на 127.0.0.53.

dig usa.gov +stats

Теперь мы вводим следующее, чтобы использовать общедоступный DNS-сервер Google на 8.8.8.8:

dig @8.8.8.8 usa.gov +stats

В

Использование dig с несколькими доменами

Мы можем передать несколько доменов, чтобы копаться в командной строке, как показано ниже:

dig ubuntu.org fedora.org manjaro.com

В

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

Наш файл называется «domains.txt». Мы будем использовать cat, чтобы показать его содержимое, а затем передадим его в копать с параметром -f (файл). Набираем следующее:

cat domains.txt
dig -f domains.txt

В

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

Если у вас есть IP-адрес и вы хотите знать, куда он идет, вы можете попробовать обратный поиск в DNS. Если он разрешается на сервер, зарегистрированный на DNS-сервере, вы можете узнать его домен.

Сможете ли вы, зависит от наличия PTR (записи указателя). PTR разрешают IP-адрес в полное доменное имя. Однако, поскольку они не являются обязательными, они не всегда присутствуют в домене.

Посмотрим, сможем ли мы узнать, куда нас приведет IP-адрес 209.51.188.148. Мы вводим следующее, используя параметр -x (обратный поиск):

dig -x 209.51.188.148

В

Престо! IP-адрес преобразуется в gnu.org.

Поскольку PTR — это запись DNS, и мы знаем, что dig может запрашивать указанные записи DNS, не могли бы мы просто попросить dig получить для нас PTR? Да, можем, но это требует немного больше работы.

Мы должны предоставить IP-адрес в обратном порядке и добавить .in-addr.arpa в конце, как показано ниже:

dig ptr 148.188.51.209.in-addr.arpa

В

Получаем тот же результат; просто потребовалось немного больше усилий.

Вы можете выкопать это?

Все мы ежедневно пользуемся Интернетом, и пытливые умы часто задавались вопросом, как происходит волшебство, когда мы вводим название веб-сайта в браузер. С помощью dig вы можете изучить процессы создания сети.