Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
dig [2013/10/17 23:13] – внешнее изменение 127.0.0.1 | dig [2016/08/22 23:15] (текущий) – mirocow | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | {{tag> | ||
+ | |||
====== Dig ====== | ====== Dig ====== | ||
sudo apt-get install dnsutils | sudo apt-get install dnsutils | ||
+ | | ||
+ | ===== Примеры использования ===== | ||
+ | | ||
+ | ==== Простой вывод команды dig (для понимания вывода, | ||
+ | |||
+ | Когда вы задаете имя домена в команде dig по-умолчанию вы получаете A-запись домена (ip-адрес сайта (домена) который мы запрашивали) как показано на листинге ниже | ||
+ | |||
+ | $ dig ya.ru | ||
+ | | ||
+ | ; <<>> | ||
+ | ;; global options: +cmd | ||
+ | ;; Got answer: | ||
+ | ;; ->> | ||
+ | ;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 0 | ||
+ | | ||
+ | ;; QUESTION SECTION: | ||
+ | ; | ||
+ | | ||
+ | ;; ANSWER SECTION: | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | | ||
+ | ;; Query time: 2 msec | ||
+ | ;; SERVER: 10.218.138.252# | ||
+ | ;; WHEN: Fri Mar 23 15:21:18 2012 | ||
+ | ;; MSG SIZE rcvd: 151 | ||
+ | |||
+ | В примере можно увидеть A-записи домена ya.ru в разделе ANSWER SECTION | ||
+ | |||
+ | Давайте рассмотрим разделы данного вывода подробней: | ||
+ | - HEADER (заголовок): | ||
+ | - QUESTION SECTION (секция запроса): | ||
+ | - ANSWER SECTION (секция ответа): | ||
+ | Последняя секция это статистика по запросу (служебная информация) - время выполнения запроса, | ||
+ | |||
+ | Так же можно выполнить опрос конкретного DNS-сервера: | ||
+ | |||
+ | |||
+ | $ dig @ns1.yandex.ru ya.ru | ||
+ | | ||
+ | ; <<>> | ||
+ | ; (1 server found) | ||
+ | ;; global options: +cmd | ||
+ | ;; Got answer: | ||
+ | ;; ->> | ||
+ | ;; flags: qr aa rd; QUERY: 1, ANSWER: 8, AUTHORITY: 2, ADDITIONAL: 3 | ||
+ | ;; WARNING: recursion requested but not available | ||
+ | | ||
+ | ;; QUESTION SECTION: | ||
+ | ; | ||
+ | | ||
+ | ;; ANSWER SECTION: | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | | ||
+ | ;; AUTHORITY SECTION: | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | | ||
+ | ;; ADDITIONAL SECTION: | ||
+ | ns1.yandex.ru. | ||
+ | ns1.yandex.ru. | ||
+ | ns5.yandex.ru. | ||
+ | | ||
+ | ;; Query time: 13 msec | ||
+ | ;; SERVER: 213.180.193.1# | ||
+ | ;; WHEN: Fri Mar 23 14:41:37 2012 | ||
+ | ;; MSG SIZE rcvd: 254 | ||
+ | |||
+ | Результат вывода дополняется еще двумя секциями: | ||
+ | AUTHORITY SECTION: Показывает имена DNS-серверов обработавших наш запрос | ||
+ | ADDITIONAL SECTION: Показывает ip-адреса этих DNS-серверов (из секции AUTHORITY SECTION) | ||
+ | |||
+ | ==== Вывод только секции ANSWER SECTION ==== | ||
+ | |||
+ | В большинстве случаев требуется только ip адрес домена, | ||
+ | Для этого существуют следующие ключи: | ||
+ | * -+nocomments - отключает линию комментариев | ||
+ | * -+noauthority - отключает секцию " | ||
+ | * -+noadditional – отключает секцию " | ||
+ | * -+nostats – отключает секцию статистики | ||
+ | * -+noanswer – выключает секцию ответа (ANSWER SECTION) | ||
+ | |||
+ | Пример: | ||
+ | |||
+ | $ dig ya.ru +nocomments +noquestion +noauthority +noadditional +nostats | ||
+ | | ||
+ | ; <<>> | ||
+ | ;; global options: +cmd | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | |||
+ | Можно сделать проще, существует ключ +noall, который выключает все секции. Таким образом мы используем ключ +noall и добавляем ключ +answer, уменьшая длину команды | ||
+ | |||
+ | $ dig ya.ru +noall +answer | ||
+ | | ||
+ | ; <<>> | ||
+ | ;; global options: +cmd | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | |||
+ | ==== Запрос MX-записи ==== | ||
+ | |||
+ | Для запроса MX-записи домена мы используем одноименный аргумент командной строки (MX) | ||
+ | |||
+ | $ dig ya.ru MX +noall +answer | ||
+ | | ||
+ | ; <<>> | ||
+ | ;; global options: +cmd | ||
+ | ya.ru. | ||
+ | | ||
+ | Этот же запрос можно выполнить с ключом -t (тип) | ||
+ | | ||
+ | ? | ||
+ | $ dig -t MX ya.ru +noall +answer | ||
+ | | ||
+ | ; <<>> | ||
+ | ;; global options: +cmd | ||
+ | ya.ru. | ||
+ | |||
+ | ==== Запрос NS-записи ==== | ||
+ | |||
+ | По аналогии с предыдущим пунктом, | ||
+ | |||
+ | $ dig ya.ru NS +noall +answer | ||
+ | | ||
+ | ; <<>> | ||
+ | ;; global options: +cmd | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | |||
+ | Вы также можете использовать ключ -t для указания типа запроса | ||
+ | |||
+ | $ dig -t NS ya.ru +noall +answer | ||
+ | | ||
+ | ; <<>> | ||
+ | ;; global options: +cmd | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | |||
+ | |||
+ | ==== Просмотр всех типов DNS-записей ==== | ||
+ | |||
+ | Для этого используется ключ ANY | ||
+ | |||
+ | $ dig ya.ru ANY +noall +answer | ||
+ | | ||
+ | ; <<>> | ||
+ | ;; global options: +cmd | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | |||
+ | Также допустим ключ -t | ||
+ | |||
+ | $ dig -t ANY ya.ru +noall +answer | ||
+ | | ||
+ | ; <<>> | ||
+ | ;; global options: +cmd | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | |||
+ | ==== Краткий вывод команды dig ==== | ||
+ | |||
+ | Допустим чтобы просмотреть только ip-адрес, | ||
+ | |||
+ | $ dig ya.ru +short | ||
+ | 213.180.193.3 | ||
+ | 93.158.134.203 | ||
+ | 87.250.250.203 | ||
+ | 77.88.21.3 | ||
+ | 213.180.204.3 | ||
+ | 87.250.250.3 | ||
+ | 93.158.134.3 | ||
+ | 87.250.251.3 | ||
+ | |||
+ | Также интересно: | ||
+ | |||
+ | Вы также можете вывести информацию по любому виду информации с ключем +short | ||
+ | Пример: | ||
+ | |||
+ | $ dig ya.ru ns +short | ||
+ | ns5.yandex.ru. | ||
+ | ns1.yandex.ru. | ||
+ | |||
+ | ==== Просмотр информации об обратной зоне домена (PTR) ==== | ||
+ | |||
+ | Для просмотра обратной зоны необходимо использовать ключ -х | ||
+ | Для примера, | ||
+ | |||
+ | $ dig -x 77.88.21.3 +short | ||
+ | <a href=" | ||
+ | |||
+ | |||
+ | Для вывода полной информации убираем ключ +short | ||
+ | |||
+ | $dig -x 77.88.21.3 | ||
+ | | ||
+ | ; <<>> | ||
+ | ;; global options: +cmd | ||
+ | ;; Got answer: | ||
+ | ;; ->> | ||
+ | ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 | ||
+ | | ||
+ | ;; QUESTION SECTION: | ||
+ | ; | ||
+ | | ||
+ | ;; ANSWER SECTION: | ||
+ | 3.21.88.77.in-addr.arpa. 11007 IN PTR <a href=" | ||
+ | | ||
+ | ;; Query time: 2 msec | ||
+ | ;; SERVER: 10.218.138.252# | ||
+ | ;; WHEN: Fri Mar 23 16:21:23 2012 | ||
+ | ;; MSG SIZE rcvd: 68 | ||
+ | |||
+ | |||
+ | ==== Использование конкретного DNS-сервера для выполнения запроса ==== | ||
+ | |||
+ | |||
+ | Для использования конкретного DNS-сервераиспользуется запись вида - @dnsserver, где dnsserver это или имя или ip-адрес DNS-сервера | ||
+ | Данный пример мы рассмотрели в п.1 | ||
+ | |||
+ | < | ||
+ | dig @8.8.8.8 mail.mirocow.com mx | ||
+ | |||
+ | ; <<>> | ||
+ | ; (1 server found) | ||
+ | ;; global options: +cmd | ||
+ | ;; Got answer: | ||
+ | ;; ->> | ||
+ | ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 | ||
+ | |||
+ | ;; QUESTION SECTION: | ||
+ | ; | ||
+ | |||
+ | ;; ANSWER SECTION: | ||
+ | mail.mirocow.com. 21599 IN MX 10 mirocow.com. | ||
+ | |||
+ | ;; Query time: 32 msec | ||
+ | ;; SERVER: 8.8.8.8# | ||
+ | ;; WHEN: Tue Aug 23 00:43:52 2016 | ||
+ | ;; MSG SIZE rcvd: 50 | ||
+ | </ | ||
+ | |||
+ | ==== Объемный запрос (запрос информации сразу о нескольких доменах) ==== | ||
+ | |||
+ | Для запроса информации о нескольких доменах возможно использование текстовых файлов с перечислением доменов. | ||
+ | Создадим файл names.txt с именами доменов: | ||
+ | |||
+ | |||
+ | $nano names.txt | ||
+ | ya.ru | ||
+ | google.ru | ||
+ | | ||
+ | Далее используем ключ -f для чтения из файла: | ||
+ | | ||
+ | $ dig -f names.txt +noall +answer | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | google.ru. | ||
+ | google.ru. | ||
+ | google.ru. | ||
+ | |||
+ | Также можно комбинировать тип DNS записи c опцией -f: | ||
+ | |||
+ | $dig -f names.txt MX +noall +answer | ||
+ | ya.ru. | ||
+ | google.ru. | ||
+ | google.ru. | ||
+ | google.ru. | ||
+ | google.ru. | ||
+ | |||
+ | Также возможно перечисление доменов непосредственно в командной строке. Для примера узнаем MX-запись для домена ya.ru и NS-запись для домена google.ru: | ||
+ | |||
+ | dig ya.ru mx +noall +answer google.ru ns +noall +answer | ||
+ | | ||
+ | ; <<>> | ||
+ | ;; global options: +cmd | ||
+ | ya.ru. | ||
+ | google.ru. | ||
+ | google.ru. | ||
+ | google.ru. | ||
+ | google.ru. | ||
+ | |||
+ | |||
+ | ==== Изменение параметров по умолчанию для команды dig ==== | ||
+ | |||
+ | Например вы хотите, | ||
+ | Для этого необходимо внести в файл .digrc необходимые ключи, в нашем случае +noall +answer: | ||
+ | |||
+ | $nano $HOME/ | ||
+ | +noall +answer | ||
+ | | ||
+ | Вывод будет: | ||
+ | |||
+ | $ dig ya.ru | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | ya.ru. | ||
+ | | ||
+ | |