====== Утилита dig ======
**D**omain **I**nformation **G**roper (https://ru.wikipedia.org/wiki/Dig)
По-умолчанию dig слишком информативен.
При обычном запросе
# dig google.com
будут показаны: версия утилиты dig и глобальные опции, которые были использованы
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.2 <<>>
;; global options: +cmd
Чтобы не показывать информацию выше используем ключ **+nocmd**
Чтобы скрыть детали ответа DNS сервера
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18297
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 1
используем ключ **+[no]comments**
**+[no]stats** чтобы не показывать статистику запроса
;; Query time: 20 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Dec 11 14:35:11 MSK 2020
;; MSG SIZE rcvd: 135
Теперь немного примеров на домене google.com.
Смотрим **А** запись
# dig google.com A +noall +answer
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.2 <<>> google.com A +noall +answer
;; global options: +cmd
google.com. 166 IN A 108.177.14.139
google.com. 166 IN A 108.177.14.102
google.com. 166 IN A 108.177.14.138
google.com. 166 IN A 108.177.14.101
google.com. 166 IN A 108.177.14.113
google.com. 166 IN A 108.177.14.100
Смотрим список почтовых серверов Google (MX)
# dig +nocmd google.com MX +noall +answer
google.com. 54 IN MX 50 alt4.aspmx.l.google.com.
google.com. 54 IN MX 30 alt2.aspmx.l.google.com.
google.com. 54 IN MX 10 aspmx.l.google.com.
google.com. 54 IN MX 40 alt3.aspmx.l.google.com.
google.com. 54 IN MX 20 alt1.aspmx.l.google.com.
Смотрим список NS серверов Google
# dig +nocmd google.com NS +noall +answer
google.com. 344961 IN NS ns2.google.com.
google.com. 344961 IN NS ns4.google.com.
google.com. 344961 IN NS ns1.google.com.
google.com. 344961 IN NS ns3.google.com.
Комбинируем А, MX, NS и другие
# dig +nocmd google.com ANY +noall +answer
google.com. 85 IN A 172.217.168.238
google.com. 1800 IN NS ns1.google.com.
google.com. 1800 IN NS ns4.google.com.
google.com. 1800 IN NS ns3.google.com.
google.com. 1800 IN NS ns2.google.com.
google.com. 60 IN SOA ns1.google.com. dns-admin.google.com. 346801824 900 900 1800 60
google.com. 497 IN MX 10 aspmx.l.google.com.
google.com. 497 IN MX 30 alt2.aspmx.l.google.com.
google.com. 497 IN MX 50 alt4.aspmx.l.google.com.
google.com. 497 IN MX 40 alt3.aspmx.l.google.com.
google.com. 497 IN MX 20 alt1.aspmx.l.google.com.
google.com. 300 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
google.com. 1800 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95"
google.com. 1800 IN TXT "globalsign-smime-dv=CDYX+XFHUw2wml6/Gb8+59BsH31KzUr6c1l2BPvqKX8="
google.com. 1800 IN TXT "v=spf1 include:_spf.google.com ~all"
google.com. 300 IN TXT "docusign=1b0a6754-49b1-4db5-8540-d2c12664b289"
google.com. 181 IN AAAA 2a00:1450:400e:80d::200e
google.com. 1800 IN CAA 0 issue "pki.goog"
ОК Гугл. Мне бы покороче, просто запрос-значение. Для этого используем ключ **+short**.
Смотрим А-запись
# dig google.com A +short
216.58.214.14
Смотрим MX записи
# dig google.com MX +short
20 alt1.aspmx.l.google.com.
10 aspmx.l.google.com.
30 alt2.aspmx.l.google.com.
50 alt4.aspmx.l.google.com.
40 alt3.aspmx.l.google.com.
Смотрим TXT записи
# dig google.com txt +short
"facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95"
"v=spf1 include:_spf.google.com ~all"
"globalsign-smime-dv=CDYX+XFHUw2wml6/Gb8+59BsH31KzUr6c1l2BPvqKX8="
"docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
"docusign=1b0a6754-49b1-4db5-8540-d2c12664b289"
Обратный запрос (RDNS)
# dig -x 216.58.214.14 +short
ams17s09-in-f14.1e100.net.
lhr26s05-in-f14.1e100.net.
И напоследок моя любимая опция - трассировка DNS запросов с помощью dig, чтобы отследить путь запроса от корневых DNS серверов до нужного домена.
# dig google.com +trace
EOM
{{tag>linux dns dig}}