Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
dig [2013/10/17 23:13] – внешнее изменение 127.0.0.1dig [2016/08/22 23:15] (текущий) mirocow
Строка 1: Строка 1:
 +{{tag>network networking dig nslookup linux}}
 +
 ====== Dig ====== ====== Dig ======
  
   sudo apt-get install dnsutils   sudo apt-get install dnsutils
 +  
 +===== Примеры использования =====
 +  
 +==== Простой вывод команды dig (для понимания вывода, без доп.параметров ) ====
 +
 +Когда вы задаете имя домена в команде dig по-умолчанию вы получаете A-запись домена (ip-адрес сайта (домена) который мы запрашивали) как показано на листинге ниже
 +
 +  $ dig ya.ru
 +  
 +  ; <<>> DiG 9.7.3 <<>> ya.ru
 +  ;; global options: +cmd
 +  ;; Got answer:
 +  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31244
 +  ;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 0
 +  
 +  ;; QUESTION SECTION:
 +  ;ya.ru.                         IN      A
 +  
 +  ;; ANSWER SECTION:
 +  ya.ru.                  2187    IN      A       87.250.251.3
 +  ya.ru.                  2187    IN      A       77.88.21.3
 +  ya.ru.                  2187    IN      A       213.180.204.3
 +  ya.ru.                  2187    IN      A       93.158.134.3
 +  ya.ru.                  2187    IN      A       213.180.193.3
 +  ya.ru.                  2187    IN      A       87.250.250.203
 +  ya.ru.                  2187    IN      A       93.158.134.203
 +  ya.ru.                  2187    IN      A       87.250.250.3
 +  
 +  ;; Query time: 2 msec
 +  ;; SERVER: 10.218.138.252#53(10.218.138.252)
 +  ;; WHEN: Fri Mar 23 15:21:18 2012
 +  ;; MSG SIZE  rcvd: 151
 +
 +В примере можно увидеть A-записи домена ya.ru в разделе ANSWER SECTION
 +
 +Давайте рассмотрим разделы данного вывода подробней:
 +- HEADER (заголовок): показывает версию dig, глобальные опции используемые с командой и другую дополнительную информацию
 +- QUESTION SECTION (секция запроса): Показывает наш запрос, то бишь мы запросили показать A-запись (команда dig без параметров) для домена ya.ru
 +- ANSWER SECTION (секция ответа): Показывает ответ полученный от DNS, в нашем случае показывает A-запись для ya.ru
 +Последняя секция это статистика по запросу (служебная информация) - время выполнения запроса, имя DNS-сервера который запрашивался, когда был создан запрос и размер сообщения
 +
 +Так же можно выполнить опрос конкретного DNS-сервера:
 +
 + 
 +  $ dig @ns1.yandex.ru ya.ru
 +  
 +  ; <<>> DiG 9.7.3 <<>> @ns1.yandex.ru ya.ru
 +  ; (1 server found)
 +  ;; global options: +cmd
 +  ;; Got answer:
 +  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56730
 +  ;; flags: qr aa rd; QUERY: 1, ANSWER: 8, AUTHORITY: 2, ADDITIONAL: 3
 +  ;; WARNING: recursion requested but not available
 +  
 +  ;; QUESTION SECTION:
 +  ;ya.ru.                         IN      A
 +  
 +  ;; ANSWER SECTION:
 +  ya.ru.                  7200    IN      A       77.88.21.3
 +  ya.ru.                  7200    IN      A       87.250.250.3
 +  ya.ru.                  7200    IN      A       87.250.250.203
 +  ya.ru.                  7200    IN      A       87.250.251.3
 +  ya.ru.                  7200    IN      A       93.158.134.3
 +  ya.ru.                  7200    IN      A       93.158.134.203
 +  ya.ru.                  7200    IN      A       213.180.193.3
 +  ya.ru.                  7200    IN      A       213.180.204.3
 +  
 +  ;; AUTHORITY SECTION:
 +  ya.ru.                  7200    IN      NS      ns1.yandex.ru.
 +  ya.ru.                  7200    IN      NS      ns5.yandex.ru.
 +  
 +  ;; ADDITIONAL SECTION:
 +  ns1.yandex.ru.          345600  IN      A       213.180.193.1
 +  ns1.yandex.ru.          3600    IN      AAAA    2a02:6b8::1
 +  ns5.yandex.ru.          345600  IN      A       213.180.204.1
 +  
 +  ;; Query time: 13 msec
 +  ;; SERVER: 213.180.193.1#53(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 адрес домена, то бишь вывод секции "ANSWER SECTION"
 +Для этого существуют следующие ключи:
 +  * -+nocomments - отключает линию комментариев
 +  * -+noauthority - отключает секцию "AUTHORITY SECTION"
 +  * -+noadditional – отключает секцию "ADDITIONAL SECTION"
 +  * -+nostats – отключает секцию статистики
 +  * -+noanswer – выключает секцию ответа (ANSWER SECTION)
 +
 +Пример:
 +
 +  $ dig ya.ru +nocomments +noquestion +noauthority +noadditional +nostats
 +  
 +  ; <<>> DiG 9.7.3 <<>> ya.ru +nocomments +noquestion +noauthority +noadditional +nostats
 +  ;; global options: +cmd
 +  ya.ru.                  114     IN      A       77.88.21.3
 +  ya.ru.                  114     IN      A       213.180.204.3
 +  ya.ru.                  114     IN      A       93.158.134.3
 +  ya.ru.                  114     IN      A       213.180.193.3
 +  ya.ru.                  114     IN      A       87.250.250.203
 +  ya.ru.                  114     IN      A       93.158.134.203
 +  ya.ru.                  114     IN      A       87.250.250.3
 +  ya.ru.                  114     IN      A       87.250.251.3
 +
 +Можно сделать проще, существует ключ +noall, который выключает все секции. Таким образом мы используем ключ +noall и добавляем ключ +answer, уменьшая длину команды
 +
 +  $ dig ya.ru +noall +answer
 +  
 +  ; <<>> DiG 9.7.3 <<>> ya.ru +noall +answer
 +  ;; global options: +cmd
 +  ya.ru.                  7152    IN      A       213.180.193.3
 +  ya.ru.                  7152    IN      A       87.250.250.203
 +  ya.ru.                  7152    IN      A       93.158.134.3
 +  ya.ru.                  7152    IN      A       87.250.250.3
 +  ya.ru.                  7152    IN      A       77.88.21.3
 +  ya.ru.                  7152    IN      A       213.180.204.3
 +  ya.ru.                  7152    IN      A       87.250.251.3
 +  ya.ru.                  7152    IN      A       93.158.134.203
 +
 +==== Запрос MX-записи ====
 +
 +Для запроса MX-записи домена мы используем одноименный аргумент командной строки (MX)
 + 
 +  $ dig ya.ru  MX +noall +answer
 +  
 +  ; <<>> DiG 9.7.3 <<>> ya.ru MX +noall +answer
 +  ;; global options: +cmd
 +  ya.ru.                  1979    IN      MX      10 mx.yandex.ru.
 +  
 +  Этот же запрос можно выполнить с ключом -t (тип)
 +  
 +  ?
 +  $ dig -t MX ya.ru +noall +answer
 +  
 +  ; <<>> DiG 9.7.3 <<>> -t MX ya.ru +noall +answer
 +  ;; global options: +cmd
 +  ya.ru.                  1903    IN      MX      10 mx.yandex.ru.
 +
 +==== Запрос NS-записи ====
 +
 +По аналогии с предыдущим пунктом, используем аргумент NS
 + 
 +  $ dig ya.ru NS +noall +answer
 +  
 +  ; <<>> DiG 9.7.3 <<>> ya.ru NS +noall +answer
 +  ;; global options: +cmd
 +  ya.ru.                  7170    IN      NS      ns5.yandex.ru.
 +  ya.ru.                  7170    IN      NS      ns1.yandex.ru.
 +
 +Вы также можете использовать ключ -t для указания типа запроса
 +
 +  $ dig -t NS ya.ru +noall +answer
 +  
 +  ; <<>> DiG 9.7.3 <<>> -t NS ya.ru +noall +answer
 +  ;; global options: +cmd
 +  ya.ru.                  7088    IN      NS      ns5.yandex.ru.
 +  ya.ru.                  7088    IN      NS      ns1.yandex.ru.
 +
 +
 +==== Просмотр всех типов DNS-записей ====
 +
 +Для этого используется ключ ANY
 +
 +  $ dig ya.ru ANY +noall +answer
 +  
 +  ; <<>> DiG 9.7.3 <<>> ya.ru ANY +noall +answer
 +  ;; global options: +cmd
 +  ya.ru.                  4931    IN      TXT     "v=spf1 redirect=_spf.yandex.ru"
 +  ya.ru.                  6963    IN      NS      ns1.yandex.ru.
 +  ya.ru.                  6963    IN      NS      ns5.yandex.ru.
 +  ya.ru.                  1533    IN      MX      10 mx.yandex.ru.
 +  ya.ru.                  6494    IN      A       93.158.134.203
 +  ya.ru.                  6494    IN      A       213.180.193.3
 +  ya.ru.                  6494    IN      A       87.250.250.203
 +  ya.ru.                  6494    IN      A       93.158.134.3
 +  ya.ru.                  6494    IN      A       87.250.250.3
 +  ya.ru.                  6494    IN      A       77.88.21.3
 +  ya.ru.                  6494    IN      A       213.180.204.3
 +  ya.ru.                  6494    IN      A       87.250.251.3
 +
 +Также допустим ключ -t
 +
 +  $ dig -t ANY ya.ru  +noall +answer
 +  
 +  ; <<>> DiG 9.7.3 <<>> -t ANY ya.ru +noall +answer
 +  ;; global options: +cmd
 +  ya.ru.                  4857    IN      TXT     "v=spf1 redirect=_spf.yandex.ru"
 +  ya.ru.                  6889    IN      NS      ns5.yandex.ru.
 +  ya.ru.                  6889    IN      NS      ns1.yandex.ru.
 +  ya.ru.                  1459    IN      MX      10 mx.yandex.ru.
 +  ya.ru.                  6420    IN      A       213.180.204.3
 +  ya.ru.                  6420    IN      A       87.250.251.3
 +  ya.ru.                  6420    IN      A       93.158.134.203
 +  ya.ru.                  6420    IN      A       213.180.193.3
 +  ya.ru.                  6420    IN      A       87.250.250.203
 +  ya.ru.                  6420    IN      A       93.158.134.3
 +  ya.ru.                  6420    IN      A       87.250.250.3
 +  ya.ru.                  6420    IN      A       77.88.21.3
 +
 +==== Краткий вывод команды dig ====
 +
 +Допустим чтобы просмотреть только ip-адрес, без лишней информации, используем опцию +short
 +
 +  $ 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) ====
 +
 +Для просмотра обратной зоны необходимо использовать ключ -х
 +Для примера, мы хотим узнать имя домена по айпи-адресу 77.88.21.3
 + 
 +  $ dig -x 77.88.21.3 +short
 +  <a href="http://www.yandex.ru">www.yandex.ru</a>.
 +
 +
 +Для вывода полной информации убираем ключ +short
 + 
 +  $dig -x 77.88.21.3
 +  
 +  ; <<>> DiG 9.7.3 <<>> -x 77.88.21.3
 +  ;; global options: +cmd
 +  ;; Got answer:
 +  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 885
 +  ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
 +  
 +  ;; QUESTION SECTION:
 +  ;3.21.88.77.in-addr.arpa.       IN      PTR
 +  
 +  ;; ANSWER SECTION:
 +  3.21.88.77.in-addr.arpa. 11007  IN      PTR     <a href="http://www.yandex.ru">www.yandex.ru</a>.
 +  
 +  ;; Query time: 2 msec
 +  ;; SERVER: 10.218.138.252#53(10.218.138.252)
 +  ;; WHEN: Fri Mar 23 16:21:23 2012
 +  ;; MSG SIZE  rcvd: 68
 +
 +
 +==== Использование конкретного DNS-сервера для выполнения запроса ====
 +
 +
 +Для использования конкретного DNS-сервераиспользуется запись вида - @dnsserver, где dnsserver это или имя или ip-адрес DNS-сервера
 +Данный пример мы рассмотрели в п.1
 +
 +<code>
 +dig @8.8.8.8 mail.mirocow.com mx
 +
 +; <<>> DiG 9.8.3-P1 <<>> @8.8.8.8 mail.mirocow.com mx
 +; (1 server found)
 +;; global options: +cmd
 +;; Got answer:
 +;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47545
 +;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
 +
 +;; QUESTION SECTION:
 +;mail.mirocow.com. IN MX
 +
 +;; ANSWER SECTION:
 +mail.mirocow.com. 21599 IN MX 10 mirocow.com.
 +
 +;; Query time: 32 msec
 +;; SERVER: 8.8.8.8#53(8.8.8.8)
 +;; WHEN: Tue Aug 23 00:43:52 2016
 +;; MSG SIZE  rcvd: 50
 +</code>
 +
 +==== Объемный запрос (запрос информации сразу о нескольких доменах) ====
 +
 +Для запроса информации о нескольких доменах возможно использование текстовых файлов с перечислением доменов.
 +Создадим файл names.txt с именами доменов:
 + 
 +
 +  $nano names.txt
 +  ya.ru
 +  google.ru
 +  
 +  Далее используем ключ -f для чтения из файла:
 +  
 +  $ dig -f names.txt +noall +answer
 +  ya.ru.                  5241    IN      A       87.250.251.3
 +  ya.ru.                  5241    IN      A       93.158.134.203
 +  ya.ru.                  5241    IN      A       213.180.193.3
 +  ya.ru.                  5241    IN      A       87.250.250.203
 +  ya.ru.                  5241    IN      A       93.158.134.3
 +  ya.ru.                  5241    IN      A       87.250.250.3
 +  ya.ru.                  5241    IN      A       77.88.21.3
 +  ya.ru.                  5241    IN      A       213.180.204.3
 +  google.ru.              231     IN      A       74.125.232.55
 +  google.ru.              231     IN      A       74.125.232.56
 +  google.ru.              231     IN      A       74.125.232.63
 +
 +Также можно комбинировать тип DNS записи c опцией -f:
 + 
 +  $dig -f names.txt MX +noall +answer
 +  ya.ru.                  184     IN      MX      10 mx.yandex.ru.
 +  google.ru.              10800   IN      MX      10 google.com.s9b1.psmtp.com.
 +  google.ru.              10800   IN      MX      10 google.com.s9a2.psmtp.com.
 +  google.ru.              10800   IN      MX      10 google.com.s9b2.psmtp.com.
 +  google.ru.              10800   IN      MX      10 google.com.s9a1.psmtp.com.
 + 
 +Также возможно перечисление доменов непосредственно в командной строке. Для примера узнаем MX-запись для домена ya.ru и NS-запись для домена google.ru:
 + 
 +  dig ya.ru mx +noall +answer google.ru ns +noall +answer
 +  
 +  ; <<>> DiG 9.7.3 <<>> ya.ru mx +noall +answer google.ru ns +noall +answer
 +  ;; global options: +cmd
 +  ya.ru.                  7143    IN      MX      10 mx.yandex.ru.
 +  google.ru.              66518   IN      NS      ns4.google.com.
 +  google.ru.              66518   IN      NS      ns3.google.com.
 +  google.ru.              66518   IN      NS      ns1.google.com.
 +  google.ru.              66518   IN      NS      ns2.google.com.
 +
 +
 +==== Изменение параметров по умолчанию для команды dig ====
 +
 +Например вы хотите, чтобы утилита dig по умолчанию выводила только секцию ответа (ANSWER SECTION).
 +Для этого необходимо внести в файл .digrc необходимые ключи, в нашем случае +noall +answer:
 + 
 +  $nano $HOME/.digrc
 +  +noall +answer
 +  
 +Вывод будет:
 +
 +  $ dig ya.ru
 +  ya.ru.                  4162    IN      A       93.158.134.203
 +  ya.ru.                  4162    IN      A       213.180.193.3
 +  ya.ru.                  4162    IN      A       87.250.250.203
 +  ya.ru.                  4162    IN      A       93.158.134.3
 +  ya.ru.                  4162    IN      A       87.250.250.3
 +  ya.ru.                  4162    IN      A       77.88.21.3
 +  ya.ru.                  4162    IN      A       213.180.204.3
 +  ya.ru.                  4162    IN      A       87.250.251.3
 +  
 +