DIG (domain information groper) утилита для обращения к системе DNS.
Утилита DIG входит в стандартный комплект DNS сервера BIND.
Вывод команды без ключей и дополнительных параметров.
По умолчанию получаем A-запись домена (IP-адрес)
$ dig bogachev.biz |
Давайте рассмотрим разделы подробней:
HEADER
(заголовок): показывает версию DIG, глобальные опции используемые с командой и другую дополнительную информацию;QUESTION SECTION
(секция запроса): Показывает наш запрос, то бишь мы запросили показать A-запись (команда DIG без параметров) для доменаbogachev.biz
;ANSWER SECTION
(секция ответа): Показывает ответ полученный от DNS, в нашем случае показывает A-запись дляbogachev.biz
;
Последняя секция это статистика по запросу (служебная информация) - время выполнения запроса, имя DNS-сервера который запрашивался, когда был создан запрос и размер сообщения.
По необходимости мы можем выполнить запрос от определенного DNS-сервер, например:
$ dig @ns1.yandex.ru ya.ru |
Наблюдаем две новые секции: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
.
$ dig ya.ru +nocomments +noquestion +noauthority +noadditional +nostats |
Можно упростить задачу и для этого существует ключ +noall
, который выключает все секции.
Таким образом мы используем ключ +noall
и добавляем ключ +answer
, тем самым уменьшая длину запроса.
$ dig ya.ru +noall +answer |
Запрос NS-записи.
Для запроса NS-записей домена используем аргумент NS
, а также используемые ранее ключи, чтобы отбросить ненужную информацию.
$ dig NS ya.ru +noall +answer |
Запрос MX-записи.
По аналогии с предыдущим пунктом, используем аргумент MX
.
$ dig MX ya.ru +noall +answer |
Просмотр всех типов DNS-записей.
$ dig ya.ru ANY +noall +answer |
Краткий вывод DIG.
Для просмотра только IP-адрес, без лишней информации, используем опцию +short
.
$ dig ya.ru ANY +short |
Просмотр информации об обратной зоне домена (PTR).
Для просмотра обратной зоны необходимо использовать ключ -х
Допустим хотим узнать PTR запись для IP-адреса 93.158.134.3
$ dig -x 93.158.134.3 |
Запрос информации о нескольких доменах.
Для запроса информации о нескольких доменах возможно использование текстового файла со списком доменов.
$ cat lookup.txt |
Далее используем ключ -f
для чтения информации из файла:
$ dig -f lookup.txt +noall +answer |
Также можно комбинировать тип DNS записи c опцией -f
, например для вывода MX записей:
$ dig MX -f lookup.txt +noall +answer |
Возможно перечисление доменов непосредственно в командной строке:
$ dig ya.ru A +noall +answer google.ru MX +noall +answer |
Изменение параметров по умолчанию для команды DIG.
Например если мы хотим, чтобы утилита DIG по умолчанию выводила только секцию ответа ANSWER SECTION
, то для этого необходимо внести в файл $HOME/.digrc
необходимые ключи, в нашем случае это +noall +answer
.
Создать файл содержащий адреса корневых серверов.
$ dig @f.root-servers.net . ns >> root.cache |
Вывести трассу DNS запросов к запрашиваему домену.
$ dig +trace ya.ru |
Если необходимо узнать версию DNS-сервера.
$ dig -t txt -c chaos VERSION.BIND @18X.X4.XX8.XX |
Для проверки возможности копирования зоны с master
сервера на slave
сервер.
dig @ns2.yandex.ru bogachev.biz. axfr |
Для других параметров и опций читаем man dig
.