Как пользоваться командой dig для DNS запросов –

Что означает non-authoritative answer

В большинстве ответов вы будете видеть надпись Non-authoritative answer. Чтобы понять её причину, нужно быть знакомым с работой DNS.

Если вы прочитали статью по ссылке, то вы знаете, что DNS сервер является авторитативным (authoritative) для данного домена, если он указан в качестве Сервера Имён (NS) в соответствующих записях для данного домена, а сам DNS сервер содержит файлы зоны для данного домена.

Как в host получить только ip адрес сайта без информации по почтовом сервере

По умолчанию команда host получает информацию о следующих типах DNS записей: A, AAAA, и MX.


Команда:

host suip.biz

Выведет IPv4, IPv6 и MX записи:

suip.biz has address 185.117.153.79
suip.biz has IPv6 address 2a02:f680:1:1100::3d5f
suip.biz mail is handled by 20 mail.suip.biz.
suip.biz mail is handled by 10 mail.suip.biz.

Если вам нужен только IP адрес сайта без другой информации, то с помощью опции -t вы можете явно указать желаемую для получения запись.

Например, чтобы показать только IPv4:

host -t A suip.biz


Выведет:

suip.biz has address 185.117.153.79

Чтобы показать только IPv6:

host -t AAAA suip.biz

Выведет:

suip.biz has IPv6 address 2a02:f680:1:1100::3d5f

Кстати, о видах DNS записей и их функциях смотрите статью «Введение в DNS терминологию, компоненты и концепции».

Dns запрос к определённому серверу имён


По умолчанию сервера имён для запроса берутся из файла /etc/resolv.conf, но вы можете указать любой другой DNS сервер — просто напишите его после имени домена:

Вопрос

Секция вопроса имеет следующий формат:

0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F 
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
|                                               |
/                     QNAME                     /
/                                               /
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
|                     QTYPE                     |
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
|                     QCLASS                    |
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

Выполнение не-рекурсивны запросов

Опция -r выполняет не-рекурсивные запросы, установка этой настройки очищает RD (recursion desired — рекурсия желательна), бит в запросе, который делает host.

host -rR 5 suip.biz

Заголовок


У заголовка следующий формат:

0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F 
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
|                      ID                       |
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
|QR|   Opcode  |AA|TC|RD|RA|   Z    |   RCODE   |
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
|                    QDCOUNT                    |
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
|                    ANCOUNT                    |
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
|                    NSCOUNT                    |
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
|                    ARCOUNT                    |
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

На этой диаграмме каждая ячейка представляет единственный бит. В каждой строчке 16 колонок, что составляет два байта данных. Диаграмма поделена на строки для простоты восприятия, но реальное сообщение представляет собой непрерывный ряд байтов.

Поскольку у запросов и ответов одинаковый формат заголовка, некоторые поля не имеют отношения к запросу и будут установлены в значение 0. Полное описание каждого из полей см. в RFC1035, раздел 4.1.1.

Для нас имеют значение следующие поля:

  • ID: Произвольный 16-битный идентификатор запроса. Такой же ID используется в ответе на запрос, так что мы можем установить соответствие между ними. Возьмём AA AA.
  • QR: Однобитный флаг для указания, является сообщение запросом (0) или ответом (1). Поскольку мы отправляем запрос, то установим 0.
  • Opcode: Четырёхбитное поле, которое определяет тип запроса. Мы отправляем стандартный запрос, так что указываем 0. Другие варианты:
    • 0: Стандартный запрос
    • 1: Инверсный запрос
    • 2: Запрос статуса сервера
    • 3-15: Зарезервированы для будущего использования
  • TC: Однобитный флаг, указывающий на обрезанное сообщение. У нас короткое сообщение, его не нужно обрезать, так что указываем 0.
  • RD: Однобитный флаг, указывающий на желательную рекурсию. Если DNS-сервер, которому мы отправляем вопрос, не знает ответа на него, он может рекурсивно опросить другие DNS-серверы. Мы хотим активировать рекурсию, так что укажем 1.
  • QDCOUNT: 16-битное беззнаковое целое, определяющее число записей в секции вопроса. Мы отправляем 1 вопрос.

Изменение тайм-аута dns запросов

Опция -w означает «ждать вечно»: она делает тайм-аут запроса максимально возможным.

С помощью опции -W СЕКУНДЫ устанавливает количество секунд, которое нужно ожидать ответ. Если значение меньше единицы, то время ожидания устанавливается на 1 секунду.

По умолчанию host ждёт по 5 секунд для UDP ответов и 10 секунд для TCP подключений.

Интерактивный режим nslookup


Для входа в интерактивный режим достаточно запустить программу без опций:

nslookup

Любо указать дефис. Кроме дефиса также можно указать имя домена или адрес DNS сервера для запросов:

nslookup - 8.8.4.4

В интерактивном режиме для выполнения DNS запроса указывайте по одному доменному имени, для которого вы хотите узнать IP адрес.


В интерактивной сессии командой

server домен_или_IP

можно установить используемый для запросов DNS сервер, например:

server 8.8.4.4

Можно просмотреть текущие значения всех опций командой:

set all

Пример вывода:

Set options:
  novc			nodebug		nod2
  search		recurse
  timeout = 0		retry = 3	port = 53	ndots = 1
  querytype = A       	class = IN
  srchlist =


Значения всех показанных опций можно изменить.

С помощью равнозначных команд:

set querytype=ЗАПИСЬ
set type=ЗАПИСЬ

Можно изменить тип запрашиваемой DNS записи, например, чтобы установить тип записи на MX:

set type=MX

После этого все запросы будут делаться с учётом установвленных настроек, то есть например будет показываться только указанный тип записи. Кстати, чтобы узнать о всех типах записях и чем они различаются, а также как вообще работает DNS, смотрите статью «Введение в DNS терминологию, компоненты и концепции».

Чтобы выводились сразу все DNS записи установите эту настройку следующим образом:

set type=ANY

Пример вывода информации о сразу всех найденных DNS записях домена suip.biz:

Использование ipv4 или ipv6

Опции -4 и -6 включают принудительное использование для транспортировки запроса, соответственно, только IPv4 или только IPV6:

Использование другого порта для dns запросов

С помощью опции -p вы можете сделать запрос на нестандартный порт сервера, вместо порта по умолчанию 53. Эта опция может использоваться для тестирования сервера имён, который настроен на прослушивание запросов на нестандартном номере порта.

:/>  Тормозит, глючит и зависает Samsung Galaxy, что делать? Как перезагрузить?

Как в dig вывести только ip адрес без дополнительных строк

В приведённом выше примере большая часть информации не нужна пользователю — нужен только IP адрес. С помощью опции short вывод команды dig будет ограничен исключительно IP адресом. Поскольку по умолчанию (если не указано друге) запрос делается относительно записи A, то будет показан IP адрес из записи A:

Как в dig сделать обратный dns запрос — как по ip получить имя хоста

Можно делать обратные DNS запросы, когда отсылаем IP адрес, а в ответ получаем имя хоста, для такого запроса используется опция -x. Пример с добавлением опции short чтобы ограничить вывод только именем хоста:

dig -x 185.117.153.79  short

Как в nslookup указать сервер для запросов

Если вы хотите сделать запрос к определённому DNS серверу (а по умолчанию адреса серверов берутся из файла /etc/resolv.conf), то после доменного имени достаточно указать имя хоста или IP DNS сервера:

Как включить режим отладки nslookup


Включив режим отладки вы будете получать более вербальный вывод, в том числе в выводе будет присутствовать такая информация как TTL. Будет показан полны пакет ответа и любые промежуточные покеты ответа полученные во время поиска:

nslookup -debug suip.biz

Как вывести все dns записи для домена

Данный метод позволяет за один раз вывести сразу все типы DNS записей указанного домена, но он работает не во всех случаях:

Как выполнить dns запрос по tcp протоколу

Опции -T и -U могут включать принудительное использование протоколов. Соответственно TCP и UDP.


По умолчанию когда host делает запросы, она использует UDP. Опция -T делает так, что программа при запросах к серверу имён начинает использовать TCP соединения.

Протокол TCP выбирается автоматически для запросов, которые это требуют, для таких, как запросы zone transfer (AXFR). Запросы типа ANY по умолчанию используют TCP, но принудительно могут быть установлены на UDP если используется опция -U.

Как по ip адресу узнать имя хоста в nslookup

Если вам нужно для IP адреса узнать связанное с ним доменное имя, то достаточно указать этот IP:

nslookup 185.117.153.79


Пример вывода:

79.153.117.185.in-addr.arpa	name = suip.biz.

Как показать a запись домена

Информацию о различных типах DNS записях смотрите в статье «Введение в DNS терминологию, компоненты и концепции».

Как получить авторитативный ответ?

Предположим, я хочу узнать IP адрес домена suip.biz, но хочу получить ответ только от авторитативного DNS сервера для данного домена.


Для начала нам нужно узнать, какие сервера имён являются авторитативными для данного домена, то есть какие у этого сайта сервера имён. Как мы узнали чуть выше, нам нужно командой узнать сервера имён для данного домена:

nslookup -query=ns suip.biz

Получено сразу два сервера имён (на случай, если с одним из них будут проблемы).

Мы также уже рассмотрели, как делать запросы к определённому DNS серверу, поэтому выбираем любой из двух (кстати, их может быть больше) и делаем запрос непосредственному к данному DNS серверу:

Как просмотреть mx записи для домена


Программа dig позволяет делать запрос и выводить информацию для различных типов DNS ресурсов. Чтобы показать какие MX записи у домена выполните команду:

Как сделать dns запрос по протоколу tcp

С помощью опции tcp вы можете включить использование TCP при запросах к серверам имён. По умолчанию используется UDP за исключением случаев, если запрошен тип any или ixfr=N, в которых по умолчанию применяется протокол TCP.

Как узнать ip адрес субдомена

Командой nslookup можно узнать IP адрес субдомена любого уровня:

Как узнать ttl у dns записи

Чтобы узнать TTL для DNS записей домена, используйте команду следующего вида:

Как узнать сервера имён домена


Сервера имён, они также называются Name Servers или просто NS, можно узнать для домена с помощью опции -t ns:

Как указать сервер имён для dns запросов

После символа @ (собака) вы можете указать любой DNS сервер имён, который будет использоваться для данного DNS поиска:

Классы имён dns

Имена классов IN и CH перекрываются с именами доменов верхнего уровня IN и CH. Либо используйте опции -t и -c для указания типа и класса, либо используйте -q для указания имени домена, либо используйте “IN.” и “CH.” при поиске этих доменов верхнего уровня.

Узнать подробности о работе DNS и структуре этой системы, а также о видах записей DNS вы сможете в статье «Введение в DNS терминологию, компоненты и концепции».

Команда nslookup — работа с сервером dns из командной строки | информационный портал к2®

>server ns1.vkontakte.ru

Got answer:

    HEADER:

        opcode=QUERY,id=5,rcode=NXDOMAIN

        header flags:  response,want recursion,recursion avail.

        questions=1,  answers=0,  authority records=1,  additional=0

    QUESTIONS:

        ns1.vkontakte.ru,type=A,class=IN

    AUTHORITY RECORDS:

    >  (root)

        ttl=440(7mins20secs)

        primary name server=a.rootservers.net

        responsible mail addr=nstld.verisigngrs.com

        serial  =2021101600

        refresh=1800(30mins)

        retry   =900(15mins)

        expire  =604800(7days)

        defaultTTL=86400(1day)

Got answer:

    HEADER:

        opcode=QUERY,id=6,rcode=NOERROR

        header flags:  response,want recursion,recursion avail.

        questions=1,  answers=1,  authority records=0,  additional=0

    QUESTIONS:

        ns1.vkontakte.ru,type=A,class=IN

    ANSWERS:

    >  ns1.vkontakte.ru

        internet address=93.186.237.2

        ttl=6350(1hour45mins50secs)

DefaultServer:  ns1.vkontakte.ru

Address:  93.186.237.2

>vk.com

Server:  ns1.vkontakte.ru

Address:  93.186.237.2

:/>  Как изменить общедоступную сеть на частную в Windows 10 (и наоборот) | remontka.pro

Got answer:

    HEADER:

        opcode=QUERY,id=7,rcode=REFUSED

        header flags:  response,want recursion

        questions=1,  answers=0,  authority records=0,  additional=0

    QUESTIONS:

        vk.com,type=ANY,class=IN

Got answer:

    HEADER:

        opcode=QUERY,id=8,rcode=NOERROR

        header flags:  response,auth.answer,want recursion

        questions=1,  answers=11,  authority records=0,  additional=7

    QUESTIONS:

        vk.com,type=ANY,class=IN

    ANSWERS:

    >  vk.com

        ttl=900(15mins)

        primary name server=ns1.vkontakte.ru

        responsible mail addr=ncc.vkontakte.ru

        serial  =2021100501

        refresh=3600(1hour)

        retry   =900(15mins)

        expire  =604800(7days)

        defaultTTL=900(15mins)

    >  vk.com

        internet address=87.240.131.99

        ttl=900(15mins)

    >  vk.com

        internet address=87.240.131.119

        ttl=900(15mins)

    >  vk.com

        AAAA IPv6 address=2a00:bdc0:3:103:1:0:403:901

        ttl=900(15mins)

    >  vk.com

        AAAA IPv6 address=2a00:bdc0:3:103:1:0:403:902

        ttl=900(15mins)

    >  vk.com

        AAAA IPv6 address=2a00:bdc0:3:103:1:0:403:903

        ttl=900(15mins)

    >  vk.com

        nameserver=ns1.vkontakte.ru

        ttl=900(15mins)

    >  vk.com

        nameserver=ns2.vkontakte.ru

        ttl=900(15mins)

    >  vk.com

        nameserver=ns4.vkontakte.ru

        ttl=900(15mins)

    >  vk.com

        MX preference=10,mail exchanger=mail.vk.com

        ttl=900(15mins)

    >  vk.com

        text=

        “v=spf1 ip4:93.186.224.0/20 ip4:87.240.128.0/18 mx include:aspmx.googlem

ail.com ~all”

        ttl=900(15mins)

    ADDITIONAL RECORDS:

    >  ns1.vkontakte.ru

        internet address=93.186.237.2

        ttl=9000(2hours30mins)

    >  ns1.vkontakte.ru

        AAAA IPv6 address=2a00:bdc0:ff:1::2

        ttl=9000(2hours30mins)

    >  ns2.vkontakte.ru

        internet address=93.186.224.100

        ttl=9000(2hours30mins)

    >  ns2.vkontakte.ru

        AAAA IPv6 address=2a00:bdc0:ff:2::2

        ttl=9000(2hours30mins)

    >  ns4.vkontakte.ru

        internet address=93.186.239.253

        ttl=9000(2hours30mins)

    >  ns4.vkontakte.ru

        AAAA IPv6 address=2a00:bdc0:ff:4::2

        ttl=9000(2hours30mins)

    >  mail.vk.com

        internet address=93.186.236.94

        ttl=900(15mins)

vk.com

        ttl=900(15mins)

        primary name server=ns1.vkontakte.ru

        responsible mail addr=ncc.vkontakte.ru

        serial  =2021100501

        refresh=3600(1hour)

        retry   =900(15mins)

        expire  =604800(7days)

        defaultTTL=900(15mins)

vk.com

        internet address=87.240.131.99

        ttl=900(15mins)

vk.com

        internet address=87.240.131.119

        ttl=900(15mins)

vk.com

        AAAA IPv6 address=2a00:bdc0:3:103:1:0:403:901

        ttl=900(15mins)

vk.com

        AAAA IPv6 address=2a00:bdc0:3:103:1:0:403:902

        ttl=900(15mins)

vk.com

        AAAA IPv6 address=2a00:bdc0:3:103:1:0:403:903

        ttl=900(15mins)

vk.com

        nameserver=ns1.vkontakte.ru

        ttl=900(15mins)

vk.com

        nameserver=ns2.vkontakte.ru

        ttl=900(15mins)

vk.com

        nameserver=ns4.vkontakte.ru

        ttl=900(15mins)

vk.com

        MX preference=10,mail exchanger=mail.vk.com

        ttl=900(15mins)

vk.com

        text=

        “v=spf1 ip4:93.186.224.0/20 ip4:87.240.128.0/18 mx include:aspmx.googlem

ail.com ~all”

        ttl=900(15mins)

ns1.vkontakte.ru

        internet address=93.186.237.2

        ttl=9000(2hours30mins)

ns1.vkontakte.ru

        AAAA IPv6 address=2a00:bdc0:ff:1::2

        ttl=9000(2hours30mins)

ns2.vkontakte.ru

        internet address=93.186.224.100

        ttl=9000(2hours30mins)

ns2.vkontakte.ru

        AAAA IPv6 address=2a00:bdc0:ff:2::2

        ttl=9000(2hours30mins)

ns4.vkontakte.ru

        internet address=93.186.239.253

        ttl=9000(2hours30mins)

ns4.vkontakte.ru

        AAAA IPv6 address=2a00:bdc0:ff:4::2

        ttl=9000(2hours30mins)

mail.vk.com

        internet address=93.186.236.94

        ttl=900(15mins)

Неинтерактивный режим nslookup


Для работы с nslookup в неинтерактивном режиме достаточно указать после команды имя домена для поиска:

nslookup suip.biz

Одновременный запрос множества dns записей

Есть два способа выполнить несколько или сразу множество запросов к DNS серверам в dig.

Второй вариант — это указать сразу несколько запросов в строке команды. Программа dig не только поддерживает множественность запросов, но и позволяет каждый из них запустить с персональным набором опцией, флагов и опций запросов.

В этом случае каждый аргумент представляет индивидуальный запрос в соответствии с описываемым синтаксисом. Каждый состоит из любых стандартных опций и флагом, имени для получения информации и опционального типа запроса и класса, а также опций запроса, который должны быть применены к этому запросу.

В дополнении к этому можно также указать глобальный набор опций запроса, который должен применяться ко всем сделанным запросам. Эти глобальный опции запросов должны предшествовать первому картежу из имени, класса, типа, опций, флагов и опций запроса, указанных в строке команды.

dig  qr www.isc.org any -x 127.0.0.1 isc.org ns  noqr

показывает как dig может использоваться в командной строке для выполнения трёх поисков: ANY запрос для www.isc.org, обратный поиск для 127.0.0.1 и запрос NS записей для isc.org. Применена глобальная опция qr, поэтому dig для каждого поиска показывает начальный запрос.

:/>  Скрытый вирус в компьютере как его распознать и удалить?. Как это сделать

Отправка запроса

Мы отправляем наше DNS-сообщение в теле UDP-запроса. Следующий код Python возьмёт наш шестнадцатеричный DNS-запрос, преобразует его в двоичный формат и отправит на сервер Google DNS по адресу 8.8.8.8:53.

import binascii
import socket


def send_udp_message(message, address, port):
    """send_udp_message sends a message to UDP server

    message should be a hexadecimal encoded string
    """
    message = message.replace(" ", "").replace("n", "")
    server_address = (address, port)

    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    try:
        sock.sendto(binascii.unhexlify(message), server_address)
        data, _ = sock.recvfrom(4096)
    finally:
        sock.close()
    return binascii.hexlify(data).decode("utf-8")


def format_hex(hex):
    """format_hex returns a pretty version of a hex string"""
    octets = [hex[i:i 2] for i in range(0, len(hex), 2)]
    pairs = [" ".join(octets[i:i 2]) for i in range(0, len(octets), 2)]
    return "n".join(pairs)


message = "AA AA 01 00 00 01 00 00 00 00 00 00 " 
"07 65 78 61 6d 70 6c 65 03 63 6f 6d 00 00 01 00 01"

response = send_udp_message(message, "8.8.8.8", 53)
print(format_hex(response)) 

Можете запустить этот скрипт, скопировав код в файл

query.py

и запустив в консоли команду

$ python query.py

. У него нет никаких внешних зависимостей, и он должен работать на Python 2 или 3.

Поддержка idn

Если программа host была собрана с поддержкой IDN (internationalized domain name — интернационализированных доменных имён), она может принимать и отображать доменные имена при написании которых используются не-ASCII символы. host соответствующим образом преобразует кодировку символов доменного имени перед отправкой запроса на DNS-сервер или отображением ответа с сервера.

Поиск a и aaaa записей (ip адрес сайта) с nslookup

По умолчанию показываются записи A и AAAA. То есть если вы хотите узнать IP сайта, то достаточно запустить команду без опций, достаточно указать только имя домена:

Поиск cname записей

Для поиска CNAME записей домена запустите:

Поиск mx записей домена

Чтобы узнать MX записи домена запустите команду вида:

Поиск soa записей домена


Для получения записи SOA домена используйте команду:

Поиск txt записей

Для просмотра TXT записей любого домена запустите команду:

Поиск всех dns записей домена

В программе host есть несколько способов вывести информацию о сразу всех DNS записях домена, причём они немного различаются выводом.

Найти все DNS записи можно опцией -t (устанавливает тип запрашиваемой записи) со значением ANY (любое):

Поиск записей mx (mail exchange)


Для показа хостов, используемых для обмены почты, запустите команду вида:

Показ цепочки dns серверов, используемых при dns запросах

Опция trace включает трассировку пути делегирования от корневых серверов имён для искомого имени. Трассировка отключена по умолчанию. Когда трассировка включена, dig выполняет итеративные запросы, чтобы преобразовать имя, которое было запрошено.

Если также указан @server, он влияет только на начальный запрос к серверам имён корневой зоны.

Полный заголовок


Совместив все поля, можно записать наш заголовок в шестнадцатеричном формате:

AA AA - ID
01 00 – Параметры запроса
00 01 – Количество вопросов
00 00 – Количество ответов
00 00 – Количество записей об уполномоченных серверах
00 00 – Количество дополнительных записей

Для получения параметров запроса мы объединяем значения полей от QR до RCODE, помня о том, что не упомянутые выше поля установлены в 0. Это даёт последовательность

0000 0001 0000 0000

, которая в шестнадцатеричном формате соответствует

01 00

. Так выглядит стандартный DNS-запрос.

Расширения


Мы увидели, как составить DNS-запрос. Теперь можно попробовать следующее:

Секция вопроса

Секция вопроса идентична такой же секции в запросе:

07 65 – у 'example' длина 7, e
78 61 – x, a
6D 70 – m, p
6C 65 – l, e
03 63 – у 'com' длина 3, c
6F 6D – o, m
00    - нулевой байт для окончания поля QNAME 
00 01 – QTYPE
00 01 – QCLASS

Секция ответа

У секции ответа формат ресурсной записи:

0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F 
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
|                                               |
/                                               /
/                      NAME                     /
|                                               |
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
|                      TYPE                     |
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
|                     CLASS                     |
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
|                      TTL                      |
|                                               |
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
|                   RDLENGTH                    |
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --|
/                     RDATA                     /
/                                               /
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
C0 0C - NAME
00 01 - TYPE
00 01 - CLASS
00 00 
18 4C - TTL
00 04 - RDLENGTH = 4 байта
5D B8 
D8 22 - RDDATA

Сохранение постоянных опций dig

Если для каждого запроса с dig вы используете одну и ту же или одни и те же опции, то вы можете сохранить их в файл ${HOME}/.digrc, в этом случае программа будет учитывать их для каждого сделанного поиска, даже если эта опция не указана в командной строке.


Если для определённого поиска по DNS вы не хотите, чтобы учитывались сохранённые в файле ${HOME}/.digrc опции, тогда укажите опцию -r.

Формат запроса

У всех сообщений DNS одинаковый формат:

 --------------------- 
|       Заголовок     |
 --------------------- 
|        Вопрос       | Вопрос для сервера имён
 --------------------- 
|         Ответ       | Ресурсные записи (RR) с ответом на вопрос
 --------------------- 
|       Authority     | Записи RR с указанием на уполномоченный сервер
 --------------------- 
|     Дополнительно   | Записи RR с дополнительной информацией
 --------------------- 

Вопрос и ответ находятся в разных частях сообщения. В нашем запросе будут секции «Заголовок» и «Вопрос».

Чтение ответа

После выполнения скрипт выводит ответ от DNS-сервера. Разобьём его на части и посмотрим, что можно выяснить.

Оставьте комментарий