4 жизненно важных примера команд Dig, которые нужно знать системному администратору или разработчику

Опубликовано: 2022-11-09

Для системного администратора все выглядит красиво только до тех пор, пока это не так. В эти кризисные моменты эти команды раскопок пригодятся. Следите за обновлениями.

Системные администраторы каждый раз делают адскую работу. Даже самое элементарное требование работы системного администратора — быть на связи 24 часа в сутки 7 дней в неделю — это то, что я ценю безмерно.

Но мы здесь не для того, чтобы углубляться в их профили работы; вместо этого проверьте их любимое оружие для устранения проблем с DNS.

Что такое команды копания?

Команды Dig, сокращенно от Domain Information Groper, являются одним из самых быстрых способов опроса DNS-серверов о том, что работает, а что нет.

Вы можете проверить IP-адрес сервера, серверы имен, обмен почтой, запросить TTL и т. д. с помощью легко запоминающихся текстов.

Прежде чем начать с нескольких основных команд dig, проверьте, установлены ли у вас утилиты dig:

 $ dig -v

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

 DiG 9.18.1-1ubuntu1-Ubuntu

Если вы не получили подобного ответа, вам необходимо сначала установить утилиты Dig.

Для людей, использующих Ubuntu и Debian, введите:

 $ sudo apt-get install dnsutils

И используйте:

 $ sudo yum install bind-utils

…если вы используете CentOS или RHEL.

Затем запустите dig -v , чтобы убедиться, что установка прошла гладко.

Наконец, перейдите к следующим разделам, чтобы проверить несколько команд Dig, которые помогут вам как системному администратору.

Проверьте IP-адрес

Это один из самых простых способов проверки IP-адреса сервера, лежащего в основе доменного имени.

dig geekflare.com — это итерация, с которой мы начнем.

 $ dig geekflare.com ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> geekflare.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38635 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;geekflare.com. IN A ;; ANSWER SECTION: geekflare.com. 67 IN A 172.66.43.163 geekflare.com. 67 IN A 172.66.40.93 ;; Query time: 4 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP) ;; WHEN: Wed Nov 09 04:29:58 UTC 2022

Первое, что важно, это status: NOERROR в разделе « Получил ответ » вверху. Это говорит нам о том, что все прошло хорошо, без каких-либо проблем.

Но информация, для которой мы сделали этот запрос, — это IP-адрес сервера. Он упоминается в разделе ответов 172.66.40.93 (основной сервер) и 172.66.43.163 (отказоустойчивый).

Кроме того, ваш исходный запрос находится в разделе « Вопрос» .

В последнем разделе приведены некоторые статистические данные о запросе.

Но это ужасно много информации, не нужно каждый раз.

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

 $ dig geekflare.com +noall +answer geekflare.com. 53 IN A 172.66.43.163 geekflare.com. 53 IN A 172.66.40.93

Здесь мы отрицаем все с помощью +noall только для того, чтобы разрешить ожидаемый ответ с помощью +answer .

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

 $ dig geekflare.com +short 172.66.43.163 172.66.40.93

Это был основной запрос, возвращающий запись DNS A ; давайте посмотрим еще несколько.

Найти определенные записи DNS

Серверы имен, авторитетный DNS-сервер для домена, можно найти по переменной ns .

 $ dig geekflare.com ns +short olga.ns.cloudflare.com. todd.ns.cloudflare.com.

Точно так же переменная mx отвечает почтовыми серверами вместе с их приоритетами.

 $ dig geekflare.com mx +noall +answer geekflare.com. 300 IN MX 1 aspmx.l.google.com. geekflare.com. 300 IN MX 10 alt3.aspmx.l.google.com. geekflare.com. 300 IN MX 10 alt4.aspmx.l.google.com. geekflare.com. 300 IN MX 5 alt1.aspmx.l.google.com. geekflare.com. 300 IN MX 5 alt2.aspmx.l.google.com.

Точно так же txt , aaaa , cname и т. д. можно использовать в качестве переменных команды dig для возврата разных записей DNS.

Отследить DNS

Как видно из заголовка, Trace DNS проверяет путь от корневых серверов имен, авторитетных серверов имен, до IP-адреса домена.

 $ dig geekflare.com +trace ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> geekflare.com +trace ;; global options: +cmd . 322660 IN NS a.root-servers.net. . 322660 IN NS b.root-servers.net. . 322660 IN NS c.root-servers.net. . 322660 IN NS d.root-servers.net. . 322660 IN NS e.root-servers.net. . 322660 IN NS f.root-servers.net. . 322660 IN NS g.root-servers.net. . 322660 IN NS h.root-servers.net. . 322660 IN NS i.root-servers.net. . 322660 IN NS j.root-servers.net. . 322660 IN NS k.root-servers.net. . 322660 IN NS l.root-servers.net. . 322660 IN NS m.root-servers.net. ;; Received 811 bytes from 127.0.0.53#53(127.0.0.53) in 16 ms com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766 com. 86400 IN RRSIG DS 8 1 86400 20221121170000 20221108160000 18733 . ZgW2dKMBP6rqIgQSGN5uzFhNFZuIPUg7JrkXzgE9VKh68LOIuQlFgTTV xt3Sz4ytgru8JWcwCHgiqCTjbaN3WeHcrDVf0ItG0Az/01ofBWfoAu9S 1JFYcOrYkTUidn8R4vROkwzsTrZMirnB/4yrA4MD5thWVBr3IczcnFto DbADuw8Qy/RUEUfcu+LcQ4Ge+OzIP8eE1T6+nbMRqFZBSMFoBO1w0Mmk xNGyEclfFkymQ4CsYxnvYVstljpLqh1OhoAEwY6D+0cSh9dKNQ5LKhgq UXqfJ+zmdcvL+cVvMjfcB0Wj6/hmEkpEp1ISawlTjFUDgiKNZxiow02r JL4tsw== ;; Received 1201 bytes from 192.33.4.12#53(c.root-servers.net) in 148 ms geekflare.com. 172800 IN NS olga.ns.cloudflare.com. geekflare.com. 172800 IN NS todd.ns.cloudflare.com. geekflare.com. 86400 IN DS 2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254 geekflare.com. 86400 IN RRSIG DS 8 2 86400 20221112051535 20221105030535 53929 com. sbqDGqvxmEAjS4KRx8LvQAG9IusLgRRm5GPDf+AFkXddGgfJN37vJP1H 4JKMriWtgXZHc3g1ANMNjij+5J1K3GgeNy2w0UYc7xHkmvhsd15pDvi9 +BoiBsjC8ffznyli8sV8XVhm65oKDHJRx5YEtXUVA4p9hegO0NHDccvt ujQKMShBWX3nxs7P4onL13gspVScOoZgzXL3470UfDW7MA== ;; Received 601 bytes from 2001:501:b1f9::30#53(m.gtld-servers.net) in 144 ms geekflare.com. 300 IN A 172.66.43.163 geekflare.com. 300 IN A 172.66.40.93 geekflare.com. 300 IN RRSIG A 13 2 300 20221110051242 20221108031242 34505 geekflare.com. tKDYd/FHjs/aRHeOQJlsxXDJYtVcHA4G16QRJKlhFyYkZ2TmLKNIc6eM vXfpO91IVArK67KbyW5lIxI5cCxcQg== ;; Received 183 bytes from 172.64.32.137#53(olga.ns.cloudflare.com) in 16 ms

Кроме того, вы можете получить краткий ответ, используя переменные +short или +noall +answer .

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

Обратный поиск DNS показывает запись PTR, связанную с IP-адресом. Это противоположность записи DNS A и сопоставляет IP-адреса с доменным именем.

Однако раздела ответов не будет, если доменное имя не имеет записи DNS PTR.

Здесь используется команда dig -x IP address .

 ubuntu@ubuntu:~$ dig yahoo.com +short 74.6.143.26 74.6.231.20 98.137.11.164 98.137.11.163 74.6.143.25 74.6.231.21 ubuntu@ubuntu:~$ dig -x 74.6.143.26 ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> -x 74.6.143.26 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32267 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;26.143.6.74.in-addr.arpa. IN PTR ;; ANSWER SECTION: 26.143.6.74.in-addr.arpa. 600 IN PTR media-router-fp74.prod.media.vip.bf1.yahoo.com. ;; AUTHORITY SECTION: 143.6.74.in-addr.arpa. 172800 IN NS ns3.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns4.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns5.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns2.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns1.yahoo.com. ;; Query time: 192 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP) ;; WHEN: Wed Nov 09 04:17:08 UTC 2022 ;; MSG SIZE rcvd: 203

Как видите, доменное имя в разделе «Ответ» fp74.prod.media.vip.bf1.yahoo.com/ связано с его основным IP-адресом 74.6.143.26.

И посещение этого URL-адреса фактически отправит вас на домашнюю страницу поиска Yahoo.

Однако это может быть не так для всех веб-хостов; в некоторых случаях эти уродливые длинные URL-адреса ничего не решают.

Запрос определенных DNS-серверов

Иногда вы хотите пропинговать определенный сервер для DNS-запросов. Этого легко добиться, добавив @DNS server IP address DNS-сервера, выбрав любой DNS-сервер для конкретного запроса.

 $ dig @1.1.1.1 geekflare.com +noall +answer +stats geekflare.com. 300 IN A 172.66.40.93 geekflare.com. 300 IN A 172.66.43.163 ;; Query time: 156 msec ;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP) ;; WHEN: Wed Nov 09 04:18:56 UTC 2022 ;; MSG SIZE rcvd: 74

Вы можете убедиться в этом в разделе статистики, где упоминается Server: 1.1.1.1 , который принадлежит Cloudflare.

Точно так же можно запросить DNS-серверы Google (8.8.8.8):

 $ dig @8.8.8.8 geekflare.com mx +noall +answer +stats geekflare.com. 300 IN MX 1 aspmx.l.google.com. geekflare.com. 300 IN MX 10 alt3.aspmx.l.google.com. geekflare.com. 300 IN MX 10 alt4.aspmx.l.google.com. geekflare.com. 300 IN MX 5 alt1.aspmx.l.google.com. geekflare.com. 300 IN MX 5 alt2.aspmx.l.google.com. ;; Query time: 44 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP) ;; WHEN: Wed Nov 09 04:23:16 UTC 2022 ;; MSG SIZE rcvd: 157

Давай копать ️

Как следует из названия, они используются для извлечения информации DNS и выявления связанных с этим проблем. Команды копания обычно выполняются быстро и легко запоминаются.

Не говоря уже о том, что вы также можете установить утилиты dig на Mac и Windows, что делает их универсальными в применении.

PS: Пока вы здесь, было бы преступлением не познакомить вас с библиотекой Geekflare Sysadmin, универсальным центром решений для ваших системных администраторов.