Як використовувати команду dig в Linux

Давайте розберемо це шматочок за шматком.

; > DiG 9.11.3-1ubuntu1.11-Ubuntu > wdzwdz.com ;; глобальні параметри: +cmd ;; Отримано відповідь: ;; ->>ЗАГОЛОВНИК

Тепер ось що все це означає:

Перший рядок: версія dig і запитуваний домен.
Глобальні параметри: як ми побачимо, ви можете використовувати dig для одночасного запиту кількох доменів. Цей рядок показує параметри, які були застосовані до всіх запитів домену. У нашому простому прикладі це був просто параметр +cmd (команда) за замовчуванням.
Код операції: Запит: це тип запитаної операції, яка в даному випадку була запитом. Це значення також може бути iquery для зворотного запиту або статусом, якщо ви просто тестуєте стан системи DNS.
Статус: Немає помилки: Помилок не було, запит було вирішено правильно.
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) пакети. Це позначається прапорцем змінного розміру.
прапори: прапори не використовуються.
udp: 4096: Розмір пакета UDP.

Розділ запитань

У розділі Питання ми бачимо наступне:

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

Ось що це означає:

wdzwdz.com: доменне ім’я, яке ми запитуємо.
IN: Ми робимо запит на Інтернет-клас.
Відповідь: Якщо ми не вказуємо інше, dig запитає запис A (адреси) від DNS-сервера.

Розділ відповідей

Розділ «Відповідь» містить такі чотири відповіді, які ми отримали від DNS-сервера:

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

Ось що означають ці відповіді:

3551: Це час життя (TTL), 32-розрядне ціле число зі знаком, яке містить інтервал часу, протягом якого запис може бути кешований. Коли термін його дії закінчиться, дані повинні використовуватися у відповіді на запит, доки вони не будуть оновлені DNS-сервером.
IN: Ми зробили запит Інтернет-класу.
В: Ми попросили запис A від DNS-сервера.

  Як використовувати команду timeout в Linux

Розділ статистики

Статистика є заключним розділом, і він містить таку інформацію:

;; 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: Коли було зроблено запит.
MSG SIZE rcvd: 106: Розмір повідомлення, отриманого від DNS-сервера.

Бути вибірковим

Вам не потрібно задовольнятися двома крайнощами: стислим словом і словоблудливістю. Команда dig дозволяє вибірково включати або виключати розділи з результатів.

Наступні параметри запиту видалять цей розділ із результатів:

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

Параметр запиту +noall зазвичай поєднується з одним із наведених вище, щоб включити розділ у результати. Отже, замість того, щоб вводити довгий рядок параметрів запиту, щоб вимкнути кілька розділів, ви можете використовувати +noall, щоб вимкнути їх усі.

Потім ви можете використовувати такі параметри запиту, щоб знову ввімкнути ті, кого ви хочете бачити:

+коментарі: Показати рядки коментарів.
+авторитет: Показати розділ повноважень.
+додатковий: Показати додатковий розділ.
+статистика: Показати розділ зі статистикою.
+відповідь: Показати розділ відповідей.
+все: Показати все.

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

dig wdzwdz.com +nocomments

The

Якщо ми використовуємо опцію запиту +noall окремо, як показано нижче, ми не отримаємо жодного корисного результату:

dig wdzwdz.com +noall

The

Ми можемо вибірково додавати розділи, які хочемо бачити. Щоб додати розділ відповідей, ми вводимо наступне:

dig wdzwdz.com +noall +answer

The

Якщо ми введемо наступне, щоб увімкнути +stats, ми також побачимо розділ зі статистикою:

dig wdzwdz.com +noall +answer +stats

The

Комбінація +noall +відповідь часто використовується. За потреби ви можете додати інші розділи до командного рядка. Якщо ви не хочете вводити +noall +answer у командному рядку кожного разу, коли ви використовуєте dig, ви можете помістити їх у файл конфігурації під назвою «.digrc». Він розташований у вашому домашньому каталозі.

  Як транслювати, щоб Twitch з командного рядка в Linux

Ми вводимо наступне, щоб створити його з echo:

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

Потім ми можемо ввести наступне, щоб перевірити його вміст:

cat .digrc

The команди $HOME/.digrc” та “cat .digrc” у вікні терміналу.” width=”646″ height=”122″ >

Ці два параметри тепер будуть застосовані до всіх майбутніх видів використання dig, як показано нижче:

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

Цей файл конфігурації dig буде використовуватися для інших прикладів у цій статті.

Записи DNS

Інформація, що повертається у ваші запити на копання, витягується з різних типів записів, що зберігаються на сервері DNS. Якщо ми не просимо щось інше, dig запитує запис A (адреса). Нижче наведено типи записів, які зазвичай використовуються з dig:

Запис: пов’язує домен з IP-адресою версії 4.
Запис MX: поштовий обмін записує прямі електронні листи, надіслані в домени на правильний поштовий сервер.
NS Record: записи сервера імен делегують домен (або субдомен) набору DNS-серверів.
Запис TXT: текстові записи зберігають текстову інформацію про домен. Як правило, вони можуть використовуватися для придушення підробленої або підробленої електронної пошти.
Запис SOA: початок авторитетних записів може містити багато інформації про домен. Тут ви можете знайти основний сервер імен, відповідальну сторону, мітку часу для змін, частоту оновлення зони та ряд часових обмежень для повторних спроб і відмов.
TTL: Час життя — це параметр для кожного запису DNS, який визначає, скільки часу серверу-попереднику DNS дозволено кешувати кожен запит DNS. Коли цей час закінчиться, дані необхідно оновити для наступних запитів.
ANY: Це вказує dig повертати всі типи записів DNS, які він може.

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

dig redhat.com A

The

Щоб запитувати записи обміну поштою, ми використовуємо такий прапорець MX:

dig yahoo.com MX

The

Прапор сервера імен повертає таку назву кореневих серверів імен, пов’язаних з доменом верхнього рівня:

dig fedora.com NS

The

Щоб запитати початок авторитетного запису, ми вводимо такий прапорець SOA:

dig manjaro.com SOA

The

Прапор TTL покаже час, який потрібно жити для даних у кеші DNS-сервера. Якщо ми надаємо серію запитів, ми бачимо, що час життя зводиться до нуля, а потім повертається до початкового значення.

  Як встановити тему значків Moka на Linux

Набираємо наступне:

dig usa.gov TTL

The

Щоб побачити текстові записи, ми вводимо прапор TX:

dig usa.gov TXT

The

Визначення DNS-сервера

Якщо ви хочете використовувати певний DNS-сервер для свого запиту, ви можете використовувати знак at (@), щоб передати його в 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

The

Використання dig з кількома доменами

Ми можемо передати кілька доменів для копання в командному рядку, як показано нижче:

dig ubuntu.org fedora.org manjaro.com

The

Якщо ви регулярно перевіряєте набір доменів, ви можете зберегти їх у текстовому файлі та передати його в dig. Усі домени у файлі будуть перевірені по черзі.

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

cat domains.txt
dig -f domains.txt

The

Зворотні пошуки DNS

Якщо у вас є IP-адреса і ви хочете знати, куди вона йде, ви можете спробувати зворотний пошук DNS. Якщо він переходить на сервер, зареєстрований на сервері DNS, ви можете дізнатися його домен.

Чи можна, залежить від наявності PTR (запису покажчика). PTR перетворюють IP-адресу на a повне доменне ім’я. Однак, оскільки вони не є обов’язковими, вони не завжди присутні в домені.

Давайте подивимося, чи зможемо ми дізнатися, куди нас веде IP-адреса 209.51.188.148. Ми вводимо наступне, використовуючи параметр -x (зворотний пошук):

dig -x 209.51.188.148

The

Presto! IP-адреса перетворюється на gnu.org.

Оскільки PTR є записом DNS, і ми знаємо, що dig може запитувати певні записи DNS, чи не могли б ми просто попросити dig отримати PTR для нас? Так, ми можемо, але це вимагає трохи більше роботи.

Нам потрібно надати IP-адресу в зворотному порядку та прикріпити .in-addr.arpa в кінці, як показано нижче:

dig ptr 148.188.51.209.in-addr.arpa

The

Отримуємо той самий результат; просто потрібно було трохи більше зусиль.

Ви можете це копати?

Ми всі користуємося Інтернетом щодня, і допитливі уми часто задавалися питанням, як відбувається магія, коли ми вводимо назву веб-сайту в браузер. За допомогою dig ви можете досліджувати процеси створення мережі.