Работа с консольной утилитой DIG
Roman Bogachev
VMware Specialist | Drone Pilot | Traveler
DIG (domain information groper ) утилита для обращения к системе DNS . Утилита DIG входит в стандартный комплект DNS сервера BIND .
Вывод команды без ключей и дополнительных параметров. По умолчанию получаем A-запись домена (IP-адрес )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 $ dig bogachev.biz bogachev.biz. 21600 IN A 188.64.175.175
Давайте рассмотрим разделы подробней:
HEADER
(заголовок ): показывает версию DIG , глобальные опции используемые с командой и другую дополнительную информацию;
QUESTION SECTION
(секция запроса ): Показывает наш запрос, то бишь мы запросили показать A-запись (команда DIG без параметров ) для домена bogachev.biz
;
ANSWER SECTION
(секция ответа ): Показывает ответ полученный от DNS , в нашем случае показывает A-запись для bogachev.biz
;
Последняя секция это статистика по запросу (служебная информация) - время выполнения запроса, имя DNS -сервера который запрашивался, когда был создан запрос и размер сообщения.
По необходимости мы можем выполнить запрос от определенного DNS -сервер, например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 $ dig @ns1.yandex.ru ya.ru ya.ru. 7200 IN A 213.180.193.3 ya.ru. 7200 IN A 93.158.134.3 ya.ru. 7200 IN A 213.180.204.3 ya.ru. 7200 IN NS ns1.yandex.ru. ya.ru. 7200 IN NS ns2.yandex.ru. ns1.yandex.ru. 345600 IN A 213.180.193.1 ns2.yandex.ru. 345600 IN A 93.158.134.1 ns1.yandex.ru. 3600 IN AAAA 2a02:6b8::1 ns2.yandex.ru. 3600 IN AAAA 2a02:6b8:0:1::1
Наблюдаем две новые секции:AUTHORITY SECTION
: Показывает имена DNS -серверов обработавших наш запрос;ADDITIONAL SECTION
: Показывает ip-адреса этих DNS -серверов (из секции AUTHORITY SECTION
)На примере моего домена дополнительных строк не появится, поэтому я попробую на примере яндекса.
Вывод только секции ANSWER SECTION
. В большинстве случаев требуется только IP адрес домена, а именно вывод секции ANSWER SECTION
.
Для этого существуют ключи:
+nocomments
- отключает линию комментариев;
+noauthority
- отключает секцию AUTHORITY SECTION
;
+noadditional
– отключает секцию ADDITIONAL SECTION
;
+nostats
– отключает секцию статистики;
+noanswer
– выключает секцию ответа ANSWER SECTION
.
1 2 3 4 5 6 7 $ dig ya.ru +nocomments +noquestion +noauthority +noadditional +nostats ya.ru. 2801 IN A 93.158.134.3 ya.ru. 2801 IN A 213.180.193.3 ya.ru. 2801 IN A 213.180.204.3
Можно упростить задачу и для этого существует ключ +noall
, который выключает все секции. Таким образом мы используем ключ +noall
и добавляем ключ +answer
, тем самым уменьшая длину запроса.
1 2 3 4 5 6 7 $ dig ya.ru +noall +answer ya.ru. 2737 IN A 93.158.134.3 ya.ru. 2737 IN A 213.180.193.3 ya.ru. 2737 IN A 213.180.204.3
Запрос NS-записи. Для запроса NS-записей домена используем аргумент NS
, а также используемые ранее ключи, чтобы отбросить ненужную информацию.
1 2 3 4 5 6 $ dig NS ya.ru +noall +answer ya.ru. 4990 IN NS ns1.yandex.ru. ya.ru. 4990 IN NS ns2.yandex.ru.
Запрос MX-записи. По аналогии с предыдущим пунктом, используем аргумент MX
.
1 2 3 4 5 $ dig MX ya.ru +noall +answer ya.ru. 4881 IN MX 10 mx.yandex.ru.
Просмотр всех типов DNS -записей. 1 2 3 4 5 6 7 8 9 10 11 12 13 $ dig ya.ru ANY +noall +answer ya.ru. 3600 IN SOA ns1.yandex.ru. sysadmin.yandex.ru. 2016120900 900 600 2592000 900 ya.ru. 1733 IN TXT "v=spf1 redirect=_spf.yandex.ru" ya.ru. 4835 IN MX 10 mx.yandex.ru. ya.ru. 122 IN AAAA 2a02:6b8::3 ya.ru. 2387 IN A 93.158.134.3 ya.ru. 2387 IN A 213.180.193.3 ya.ru. 2387 IN A 213.180.204.3 ya.ru. 4759 IN NS ns1.yandex.ru. ya.ru. 4759 IN NS ns2.yandex.ru.
Краткий вывод DIG. Для просмотра только IP-адрес, без лишней информации, используем опцию +short
.
1 2 3 4 5 6 7 8 9 10 $ dig ya.ru ANY +short ns1.yandex.ru. sysadmin.yandex.ru. 2016120900 900 600 2592000 900 "v=spf1 redirect=_spf.yandex.ru" 10 mx.yandex.ru.2a02:6b8::3 93.158.134.3 213.180.193.3 213.180.204.3 ns1.yandex.ru. ns2.yandex.ru.
Просмотр информации об обратной зоне домена (PTR ). Для просмотра обратной зоны необходимо использовать ключ -х
Допустим хотим узнать PTR запись для IP-адреса 93.158.134.3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 $ dig -x 93.158.134.3 3.134.158.93 .in-addr.arpa. 2099 IN PTR www.yandex.ru.134.158.93 .in-addr.arpa. 18717 IN NS ns3.yandex.ru.134.158.93 .in-addr.arpa. 18717 IN NS ns4.yandex.ru.
Запрос информации о нескольких доменах. Для запроса информации о нескольких доменах возможно использование текстового файла со списком доменов.
1 2 3 $ cat lookup.txt bogachev.biz ya.ru
Далее используем ключ -f
для чтения информации из файла:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 $ dig -f lookup.txt +noall +answer bogachev.biz. 19762 IN A 188.64.175.175 ya.ru. 1749 IN A 93.158.134.3 ya.ru. 1749 IN A 213.180.193.3 ya.ru. 1749 IN A 213.180.204.3 google.com. 135 IN A 81.200.2.185 google.com. 135 IN A 81.200.2.180 google.com. 135 IN A 81.200.2.184 google.com. 135 IN A 81.200.2.176 google.com. 135 IN A 81.200.2.179 google.com. 135 IN A 81.200.2.183 google.com. 135 IN A 81.200.2.186 google.com. 135 IN A 81.200.2.187 google.com. 135 IN A 81.200.2.177 google.com. 135 IN A 81.200.2.182 google.com. 135 IN A 81.200.2.181 google.com. 135 IN A 81.200.2.178
Также можно комбинировать тип DNS записи c опцией -f
, например для вывода MX записей:
1 2 3 4 5 6 7 8 $ dig MX -f lookup.txt +noall +answer bogachev.biz. 21600 IN MX 10 mx.yandex.net. ya.ru. 4138 IN MX 10 mx.yandex.ru. google.com. 600 IN MX 10 aspmx.l.google.com. google.com. 600 IN MX 30 alt2.aspmx.l.google.com. google.com. 600 IN MX 50 alt4.aspmx.l.google.com. google.com. 600 IN MX 20 alt1.aspmx.l.google.com. google.com. 600 IN MX 40 alt3.aspmx.l.google.com.
Возможно перечисление доменов непосредственно в командной строке:
1 2 3 4 5 6 7 8 9 10 11 12 $ dig ya.ru A +noall +answer google.ru MX +noall +answer ya.ru. 1632 IN A 93.158.134.3 ya.ru. 1632 IN A 213.180.193.3 ya.ru. 1632 IN A 213.180.204.3 google.ru. 600 IN MX 30 alt2.aspmx.l.google.com. google.ru. 600 IN MX 20 alt1.aspmx.l.google.com. google.ru. 600 IN MX 50 alt4.aspmx.l.google.com. google.ru. 600 IN MX 10 aspmx.l.google.com. google.ru. 600 IN MX 40 alt3.aspmx.l.google.com.
Изменение параметров по умолчанию для команды DIG. Например если мы хотим, чтобы утилита DIG по умолчанию выводила только секцию ответа ANSWER SECTION
, то для этого необходимо внести в файл $HOME/.digrc
необходимые ключи, в нашем случае это +noall +answer
.
Создать файл содержащий адреса корневых серверов. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 $ dig @f.root-servers.net . ns >> root.cache . 518400 IN NS f.root-servers.net. . 518400 IN NS d.root-servers.net. . 518400 IN NS k.root-servers.net. . 518400 IN NS l.root-servers.net. . 518400 IN NS c.root-servers.net. . 518400 IN NS b.root-servers.net. . 518400 IN NS i.root-servers.net. . 518400 IN NS e.root-servers.net. . 518400 IN NS g.root-servers.net. . 518400 IN NS h.root-servers.net. . 518400 IN NS a.root-servers.net. . 518400 IN NS j.root-servers.net. . 518400 IN NS m.root-servers.net. a.root-servers.net. 3600000 IN A 198.41.0.4 b.root-servers.net. 3600000 IN A 192.228.79.201 c.root-servers.net. 3600000 IN A 192.33.4.12 d.root-servers.net. 3600000 IN A 199.7.91.13 e.root-servers.net. 3600000 IN A 192.203.230.10 f.root-servers.net. 3600000 IN A 192.5.5.241 g.root-servers.net. 3600000 IN A 192.112.36.4 h.root-servers.net. 3600000 IN A 198.97.190.53 i.root-servers.net. 3600000 IN A 192.36.148.17 j.root-servers.net. 3600000 IN A 192.58.128.30 k.root-servers.net. 3600000 IN A 193.0.14.129 l.root-servers.net. 3600000 IN A 199.7.83.42 m.root-servers.net. 3600000 IN A 202.12.27.33 a.root-servers.net. 3600000 IN AAAA 2001:503:ba3e::2:30 b.root-servers.net. 3600000 IN AAAA 2001:500:84::b
Вывести трассу DNS запросов к запрашиваему домену.
Если необходимо узнать версию DNS -сервера. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 $ dig -t txt -c chaos VERSION.BIND @18 X.X4.XX8.XX VERSION.BIND. 0 CH TXT "9 .9 .5 -P1" version.bind. 0 CH NS version.bind.
Для проверки возможности копирования зоны с master
сервера на slave
сервер. 1 dig @ns2.yandex.ru bogachev.biz. axfr
Для других параметров и опций читаем man dig
.