我的 Windows DNS 调试日志中括号中的数字代表什么含义?

我的 Windows DNS 调试日志中括号中的数字代表什么含义?

这是我一直很好奇但从未问过的小事之一。

在 Windows DNS 服务器上,您可以启用 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)

那些代替句号的数字代表什么意思?

答案1

您的混淆使问题有点混乱,但您的顶级域名肯定不是 com ,否则就应该是(3)com

在 DNS 查询中,您请求的名称 ( QNAME) 以“pascal”样式的字符串格式表示:一个字节表示字符串的长度,后面跟着该长度的字符。名称的每个级别都作为单独的字符串发送,不带字符.,末尾发送一个空字符串(长度为 0),因此对 的地址的查询twelveletter.domain.com.将是(12)twelveletter(6)domain(3)com(0)

从 4.1.2 开始射频功能函数库

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.

相关内容