Windows DNS服务器调试日志主机名格式

时间:2013-12-04 17:15:54

标签: windows dns windows-server

我正在阅读Windows DNS服务器调试日志文件,特别是数据包捕获,并且我正在尝试了解如何解析主机名以便在脚本中使用它们。

以下是ANSWER部分的示例:

Offset = 0x007f, RR count = 2
Name      "[C06A](5)e6033(1)g(10)akamaiedge[C059](3)net(0)"
  TYPE   A  (1)
  CLASS  1
  TTL    20
  DLEN   4
  DATA   23.62.18.101

因此,查看字符串"[C06A](5)e6033(1)g(10)akamaiedge[C059](3)net(0)"我意识到括号中的数字是后面字符数的计数。用点替换所有这些(除了第一个和最后一个,应该被删除)就像一个魅力。

然而,方括号中的东西对我来说仍然是一个谜。如果我在处理括号和引号后将其全部删除,则上面的字符串变为e6033.g.akamaiedge.net。这是一个有效的主机名。

所以我的问题是:方括号中的内容实际上是什么意思?将该字符串转换为可以提供给nslookup和其他工具的正确主机名的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

它似乎是NAME字段的第二种可能形式,如下所示:

http://www.zytrax.com/books/dns/ch15/#name

  

NAME此名称反映了问题的QNAME,即任何可能的问题   两种格式之一。第一种格式是为其定义的标签格式   QNAME上面。第二种格式是指针(为了数据的利益)   压缩对原作者来说更公平   比现在更重要了。指针是带符号的无符号16位值   以下格式(11的前两位表示指针   格式):

0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15 
1   1
  

从整个消息开始的八位字节(字节)的偏移量。   必须指向标签格式记录以获取名称长度。

     

注意:指针(如果使用)终止名称。名称字段可能包含   以零长度终止的标签(或标签序列)   记录或单个指针或标签(或标签序列)终止   用指针。

其中响应​​使用指针来引用消息中其他位置的数据。