Назад | Перейти на главную страницу

Что означают числа в скобках в моем журнале отладки Windows DNS?

Это одна из тех мелочей, которые меня всегда интересовали, но никогда не спрашивали.

На DNS-сервере Windows вы можете включить ведение журнала отладки DNS и наблюдать за прохождением пакетов.

Строка из этого журнала может выглядеть так:

6/5/2013 10:00:32 AM 0E70 PACKET  00000000033397A0 UDP Rcv 10.161.60.71    5b47   Q [0001   D   NOERROR] A      (12)somecomputer(6)domain(3)com(0)

То, что меня интересует, - это фактическое запрошенное имя в конце:

(12)somecomputer(6)domain(3)com(0)

Что означают цифры, заменившие точки?

Ваша обфускация немного запутала проблему, но ваш домен верхнего уровня определенно не com, иначе он был бы (3)com.

В DNS-запросе имя, которое вы запрашиваете (QNAME) представлен в строковом формате в стиле «паскаль»: байт, представляющий длину строки, за которой следует такое количество символов. Каждый уровень имени отправляется отдельной строкой без символа . символ, с пустой строкой (длина 0), отправленной в конце, поэтому запрос адреса twelveletter.domain.com. было бы (12)twelveletter(6)domain(3)com(0).

Начиная с 4.1.2 из RFC:

QNAME          a domain name represented as a sequence of labels, where
               each label consists of a length octet followed by that
               number of octets.  The domain name terminates with the
               zero length octet for the null label of the root.  Note
               that this field may be an odd number of octets; no
               padding is used.