这是我一直好奇但从未问过的小事情之一。
在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)
那些取代周期的数字意味着什么?
发布于 2013-06-05 21:02:13
您的混淆有点混淆了问题,但您的顶级域肯定不是com,否则它将是(3)com。
在DNS查询中,您请求的名称(QNAME)以"pascal“样式字符串格式表示:一个字节,表示字符串的长度,后面跟着许多字符。名称的每个级别都作为一个单独的字符串发送,没有.字符,在末尾发送一个空字符串(长度为0),因此对twelveletter.domain.com.地址的查询将是(12)twelveletter(6)domain(3)com(0)。
来自RFC的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.https://serverfault.com/questions/513538
复制相似问题