Dig – утилита для получения информации по доменному имени или IP адресу
Утилита dig (domain information groper) предоставляет возможность узнать о домене наиболее полную информацию, например, IP адрес, который привязан к данному доменному имени и еще ряд полезных для системного администратора параметров.
$ dig tst-amo.net.ua ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.5 <<>> tst-amo.net.ua ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40569 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;tst-amo.net.ua. IN A ;; ANSWER SECTION: tst-amo.net.ua. 3549 IN A 94.158.83.27 ;; AUTHORITY SECTION: ua. 165378 IN NS in1.ns.ua. ua. 165378 IN NS cd1.ns.ua. ua. 165378 IN NS pch.ns.ua. ua. 165378 IN NS ho1.ns.ua. ;; ADDITIONAL SECTION: cd1.ns.ua. 16375 IN A 194.0.1.9 cd1.ns.ua. 29993 IN AAAA 2001:678:4::9 in1.ns.ua. 16641 IN AAAA 2604:ee00:0:101::40 ;; Query time: 0 msec ;; SERVER: 194.44.219.162#53(194.44.219.162) ;; WHEN: Срд Сен 01 14:18:45 EEST 2021 ;; MSG SIZE rcvd: 206
Информация условно поделена на три секции:
- секция HEADER — показывает текущую версию утилиты dig, ID запроса и т. д.;
- секция QUESTION SECTION — выводит на экран текущий запрос;
- секция ANSWER SECTION — отображает ответ на созданный запрос (в нашем запросе выводит IP домена).
Если вы хотите получить только основные данные по домену, то стоит задать сокращенный запрос следующей командой:
$ dig tst-amo.net.ua +short
При использовании флага +noall будет отключен вывод на экран информации всех трех секций:
$ dig tst-amo.net.ua +noall
Если вы хотите увидеть информацию только из секции ANSWER SECTION, то выполните следующую команду:
$ dig tst-amo.net.ua +noall +answer
При необходимости получить такого рода информацию по нескольким доменам сразу, советуем создать специальный файл sites.txt и занести туда доменные имена нужных сайтов, например:
$ echo google.com i.ua tst-amo.net.ua > sites.txt
и выполнить команду в терминале:
$ dig -f sites.txt +noall +answer
Можно получить определенные типы записей DNS (A, MX, NS, TXT и т.д.), для этого выполняем команду dig, применяя следующие флаги, например, для типа записи «почтовый сервер»:
$ dig tst-amo.net.ua MX
или коротко:
$ dig tst-amo.net.ua MX +noall +short
Без указания сервера, утилита использует информацию из файла /etc/resolv.conf, это поведение можно изменить указав нужный DNS (например google):
$ dig @8.8.8.8 i.ua +noall +answer
Для решения обратной задачи — получения имени домена по IP-адресу служит ключ -x:
$ dig -x 91.198.36.14 +noall +answer ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.5 <<>> -x 91.198.36.14 +noall +answer ;; global options: +cmd 14.36.198.91.in-addr.arpa. 3007 IN PTR www.i.ua.
Попытаемся узнать, через какие DNS сервера идет запрос для получения информации о домене (команда трассировки в Linux):
$ dig +trace i.ua
Для проверки синхронизации зоны со всеми NS введем команду:
$ dig tst-amo.net.ua +nssearch