Ноя 04 2008

Утилита dig

В составе пакета named(ДНС сервер), входящего в состав FreeBSD, есть полезная утилитка dig.
Большинство моих знакомых пользуются, старым добрым nslookup и просто игнорируют dig.
Аргументация как всегда проста, покажи мне, что я не могу сделать с помощью nslookup.
Спорить тут тяжело, да и смысла нет. Но все таки dig работает наглядней, выдача им информации более информативна.
Немного примеров, как аргументация:

1. К примеру рассмотрим проверку доступности трансфера домена:

dig @localhost hilik.kiev.ua axfr
; < <>> DiG 9.4.2 < <>> @localhost hilik.kiev.ua axfr
; (1 server found)
;; global options:  printcmd
hilik.kiev.ua.          86400   IN      SOA     hilik.kiev.ua. hilik.hilik.kiev.ua. 2008102701 28800 7200 604800 86400
hilik.kiev.ua.          86400   IN      NS      ns.hilik.org.ua.
hilik.kiev.ua.          86400   IN      NS      ns.secondary.net.ua.
hilik.kiev.ua.          86400   IN      MX      10 mail.hilik.kiev.ua.
hilik.kiev.ua.          86400   IN      A       89.252.34.107
mail.hilik.kiev.ua.     86400   IN      A       89.252.34.107
www.hilik.kiev.ua.      86400   IN      A       89.252.34.107
hilik.kiev.ua.          86400   IN      SOA     hilik.kiev.ua. hilik.hilik.kiev.ua. 2008102701 28800 7200 604800 86400
;; Query time: 35 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Nov  4 16:27:02 2008
;; XFR size: 9 records (messages 1, bytes 259)

при использовании nslookup мы имеем такой вид:

nslookup -q=axfr hilik.kiev.ua
Server:         127.0.0.1
Address:        127.0.0.1#53
 
hilik.kiev.ua
        origin = hilik.kiev.ua
        mail addr = hilik.hilik.kiev.ua
        serial = 2008102701
        refresh = 28800
        retry = 7200
        expire = 604800
        minimum = 86400
hilik.kiev.ua   nameserver = ns.hilik.org.ua.
hilik.kiev.ua   nameserver = ns.secondary.net.ua.
hilik.kiev.ua   mail exchanger = 10 mail.hilik.kiev.ua.
Name:   hilik.kiev.ua
Address: 89.252.34.107
Name:   mail.hilik.kiev.ua
Address: 89.252.34.107
Name:   www.hilik.kiev.ua
Address: 89.252.34.107
hilik.kiev.ua
        origin = hilik.kiev.ua
        mail addr = hilik.hilik.kiev.ua
        serial = 2008102701
        refresh = 28800
        retry = 7200
        expire = 604800
        minimum = 86400

По моему мнению вывод dig более информативен. Кроме того, присутствуют такие секции ответа:
Query time: 35 msec, XFR size: 9 records (messages 1, bytes 259). То есть мы можем помимо простого получения ответа на наш запрос, оценить производительность сервера, длину ответа.
Для выполнения любого запроса достаточно в конце, вместо axfr указывать тип запроса. Точно так же вместо localhost мы можем указать ip любого сервера, который нас интересует.

2. Следующие достоинства dig проявляются, в случае, если мы делаем рекурсивный запрос, то есть запрос к неавторитетному серверу:

 dig ya.ru
 
; < <>> DiG 9.4.2 < <>> ya.ru
;; global options:  printcmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 38686
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
 
;; QUESTION SECTION:
;ya.ru.                         IN      A
 
;; ANSWER SECTION:
ya.ru.                  7200    IN      A       213.180.204.8
 
;; AUTHORITY SECTION:
ya.ru.                  7200    IN      NS      ns5.yandex.ru.
ya.ru.                  7200    IN      NS      ns1.yandex.ru.
 
;; Query time: 164 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Nov  4 17:03:52 2008
;; MSG SIZE  rcvd: 82

Как мы видим, dig вернул не только ip ya.ru, но помимо этого показал авторитетные ns сервера.

Т.е. dig по умолчанию дает больше, чем nslookup информации для отладки работы dns серверов.

Добавить в закладки:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Украинская Баннерная Сеть