Работа с консольной утилитой DIG
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.