В этой публикации мы рассмотрим использование команды DIG в Linux на реальных примерах. Команда DIG – это инструмент диагностики DNS в командной строке, который извлекает параметры DNS, такие как записи DNS, IP-адреса или имена хостов. Команда DIG полезна для поиска неисправностей в сети и может работать на основе опций командной строки и аргументов флага или путем чтения запросов из файла операционной системы. Команда DIG ежедневно используется системными администраторами и ее нужно знать каждому.
В этой статье мы будем использовать ОС Ubuntu 24.04, но вы можете выбрать любой дистрибутив Linux. Все зависит от вас. Приступим!
Необходимые условия
- Сервер под управлением Ubuntu 24.04 или любой другой ОС Linux (CentOS, Debian или AlmaLinux)
- Привилегии пользователя: root или не root пользователь с привилегиями sudo
Обновление системы
Прежде чем приступить к выполнению команд, обновим системные пакеты до последних доступных версий. Для этого выполните следующую команду:
sudo apt update -y && sudo apt upgrade -y
Установка DIG
В системе Linux команда DIG обычно установлена по умолчанию, что можно проверить с помощью следующей команды:
dig -v
Вы должны получить следующий результат:
dig -v DiG 9.18.28-0ubuntu0.24.04.1-Ubuntu
Если вы по какой-то причине не получили этот вывод, то можете попробовать установить dig с помощью следующих команд:
sudo apt install dnsutils -y
Синтаксис команды DIG
Основной синтаксис команды dig следующий:
dig [server] [name] [type]
Фактические примеры будут показаны далее.
Показать все записи
Чтобы вернуть все записи имени хоста, в нашем примере google.com, выполните следующую команду:
dig google.com any
Вы должны получить следующий результат:
; DiG 9.18.28-0ubuntu0.24.04.1-Ubuntu google.com any ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46602 ;; flags: qr rd ra; QUERY: 1, ANSWER: 30, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;google.com. IN ANY ;; ANSWER SECTION: google.com. 248 IN A 209.85.200.113 google.com. 248 IN A 209.85.200.139 google.com. 248 IN A 209.85.200.101 google.com. 248 IN A 209.85.200.100 google.com. 248 IN A 209.85.200.138 google.com. 248 IN A 209.85.200.102 google.com. 248 IN AAAA 2607:f8b0:4001:c16::8b google.com. 248 IN AAAA 2607:f8b0:4001:c16::66 google.com. 248 IN AAAA 2607:f8b0:4001:c16::8a google.com. 248 IN AAAA 2607:f8b0:4001:c16::71 google.com. 3548 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e" google.com. 3548 IN TXT "MS=E4A68B9AB2BB9670BCE15412F62916164C0B20BB" google.com. 21548 IN NS ns3.google.com. google.com. 3548 IN TXT "onetrust-domain-verification=de01ed21f2fa4d8781cbc3ffb89cf4ef" google.com. 3548 IN TXT "google-site-verification=wD8N7i1JTNTkezJ49swvWW48f8_9xveREV4oB-0Hf5o" google.com. 21548 IN NS ns4.google.com. google.com. 21548 IN CAA 0 issue "pki.goog" google.com. 21548 IN NS ns1.google.com. google.com. 3548 IN TXT "google-site-verification=TV9-DBe4R80X4v0M4U_bd_J9cpOJM0nikft0jAgjmsQ" google.com. 21548 IN HTTPS 1 . alpn="h2,h3" google.com. 3548 IN TXT "cisco-ci-domain-verification=479146de172eb01ddee38b1a455ab9e8bb51542ddd7f1fa298557dfa7b22d963" google.com. 248 IN MX 10 smtp.google.com. google.com. 3548 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 3548 IN TXT "globalsign-smime-dv=CDYX+XFHUw2wml6/Gb8+59BsH31KzUr6c1l2BPvqKX8=" google.com. 8 IN SOA ns1.google.com. dns-admin.google.com. 698728253 900 900 1800 60 google.com. 21548 IN NS ns2.google.com. google.com. 3548 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 3548 IN TXT "docusign=1b0a6754-49b1-4db5-8540-d2c12664b289" google.com. 3548 IN TXT "google-site-verification=4ibFUgB-wXLQ_S7vsXVomSTVamuOXBiVAzpR5IZ87D0" google.com. 3548 IN TXT "apple-domain-verification=30afIBcvSuDV2PLX" ;; Query time: 24 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) (TCP) ;; WHEN: Fri Dec 06 10:42:23 CST 2024 ;; MSG SIZE rcvd: 1285
Показать только A-записи
Если мы хотим увидеть только A-записи хоста, мы можем выполнить следующую команду:
dig google.com
Вы получите следующий результат:
; DiG 9.18.28-0ubuntu0.24.04.1-Ubuntu google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1549 ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;google.com. IN A ;; ANSWER SECTION: google.com. 211 IN A 142.250.10.100 google.com. 211 IN A 142.250.10.139 google.com. 211 IN A 142.250.10.113 google.com. 211 IN A 142.250.10.101 google.com. 211 IN A 142.250.10.102 google.com. 211 IN A 142.250.10.138 ;; Query time: 3 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP) ;; WHEN: Fri Dec 06 10:43:47 CST 2024 ;; MSG SIZE rcvd: 135
Показать SOA-записи
Чтобы вернуть SOA-запись (Start of Authority), необходимо выполнить следующую команду:
dig google.com SOA
Вы должны получить следующий результат:
; DiG 9.18.28-0ubuntu0.24.04.1-Ubuntu google.com SOA ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24276 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;google.com. IN SOA ;; ANSWER SECTION: google.com. 43 IN SOA ns1.google.com. dns-admin.google.com. 698728253 900 900 1800 60 ;; Query time: 10 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP) ;; WHEN: Fri Dec 06 10:44:17 CST 2024 ;; MSG SIZE rcvd: 89
Показать NS серверы
Если мы хотим получить информацию об авторитетных серверах имен для DNS-запросов о домене, мы можем выполнить следующую команду:
dig @ns1.google.com google.com
Мы должны получить следующий результат:
; DiG 9.18.28-0ubuntu0.24.04.1-Ubuntu @ns1.google.com google.com ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25216 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;google.com. IN A ;; ANSWER SECTION: google.com. 300 IN A 172.217.0.174 ;; Query time: 25 msec ;; SERVER: 216.239.32.10#53(ns1.google.com) (UDP) ;; WHEN: Fri Dec 06 10:45:45 CST 2024 ;; MSG SIZE rcvd: 55
Трассировка пути DNS
Отслеживание пути DNS означает, что мы можем проследить DNS-запрос от локального компьютера или сервера до авторитетного сервера имен. Чтобы отследить путь DNS, выполните следующую команду:
dig google.com +trace
Вы получите результат, аналогичный следующему
; DiG 9.18.28-0ubuntu0.24.04.1-Ubuntu google.com +trace ;; global options: +cmd . 7057 IN NS h.root-servers.net. . 7057 IN NS f.root-servers.net. . 7057 IN NS b.root-servers.net. . 7057 IN NS c.root-servers.net. . 7057 IN NS l.root-servers.net. . 7057 IN NS m.root-servers.net. . 7057 IN NS g.root-servers.net. . 7057 IN NS d.root-servers.net. . 7057 IN NS e.root-servers.net. . 7057 IN NS a.root-servers.net. . 7057 IN NS k.root-servers.net. . 7057 IN NS i.root-servers.net. . 7057 IN NS j.root-servers.net. ;; Received 239 bytes from 127.0.0.53#53(127.0.0.53) in 1 ms com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 86400 IN DS 19718 13 2 8ACBB0CD28F41250A80A491389424D341522D946B0DA0C0291F2D3D7 71D7805A com. 86400 IN RRSIG DS 8 1 86400 20241219050000 20241206040000 61050 . iGr5ntnlDqRtjHWnHm5Yb1q2kfqlYkRSdpCWkMySfCvkh6r/nCnHI5Ex 1cKBchueEmUbFCJ3OS6f1IvbOHZOFuWaAGUlU6Cwf9fi3GiFQ2HXf19J i20BNgewl1yFZmdZmlhLFkyMIwQ5FBV2j8IvPaz2VaQRF+gmUp3GeiJZ D9yJE+DKPlk1ypJtgazBX84OpzagU97a2F2CV0yFVF8xtiI/coVJVA5j 4LHPF+ycXi2ot5+sD0S9ZzTbgCIeWZE0+1Bd8DiXcHt1QPnUlxIsUj+k uwFN1sv9ifwkq9h7Y3IZZE6oCMksah0qlOcXpJ9bDhUuYWlKEJNDj9H7 brEkDA== ;; Received 1170 bytes from 192.203.230.10#53(e.root-servers.net) in 1 ms google.com. 172800 IN NS ns2.google.com. google.com. 172800 IN NS ns1.google.com. google.com. 172800 IN NS ns3.google.com. google.com. 172800 IN NS ns4.google.com. CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 900 IN NSEC3 1 1 0 - CK0Q3UDG8CEKKAE7RUKPGCT1DVSSH8LL NS SOA RRSIG DNSKEY NSEC3PARAM CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 900 IN RRSIG NSEC3 13 2 900 20241210002643 20241202231643 29942 com. ZPTbLhdFM8mLHiQtP96boZkcbQGI1vsZXJiuPAmApU9cYv7LMDAcphdK P4huP5ivFGQ5AmNpH2IhgfxSgvZRUw== S84BOR4DK28HNHPLC218O483VOOOD5D8.com. 900 IN NSEC3 1 1 0 - S84BR9CIB2A20L3ETR1M2415ENPP99L8 NS DS RRSIG S84BOR4DK28HNHPLC218O483VOOOD5D8.com. 900 IN RRSIG NSEC3 13 2 900 20241211014942 20241204003942 29942 com. 74JpkoKJZTrolBn3CynjxFeH858/x61hnBZmadI2lYRrh0ks9O5GXL4W +AZ4eoswzTA41tvGaaRLQ12UDPhkdg== ;; Received 644 bytes from 192.33.14.30#53(b.gtld-servers.net) in 27 ms ;; UDP setup with 2001:4860:4802:38::a#53(2001:4860:4802:38::a) for google.com failed: network unreachable. ;; UDP setup with 2001:4860:4802:32::a#53(2001:4860:4802:32::a) for google.com failed: network unreachable. google.com. 300 IN A 172.217.0.174 ;; Received 55 bytes from 216.239.38.10#53(ns4.google.com) in 25 ms
Другие команды DIG
Существует множество команд DIG, которые можно использовать для получения различной информации, вот список некоторых из них:
Показать только основные параметры
dig google.com +nocmd
Убрать комментарии
dig google +nocmd +noall +answer +nocomments
Показать обратную DNS запись
dig -x 142.250.31.139
Возвращает только IP-адреса для A-записей
dig google.com +short
Показать MX-запись для домена
dig google.com MX




Комментарии (0)