【问题标题】:Windows DNS server debug log hostname formatWindows DNS 服务器调试日志主机名格式
【发布时间】:2013-12-21 07:32:45
【问题描述】:

我正在阅读 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 和其他工具的正确主机名的正确方法是什么?

【问题讨论】:

    标签: windows dns windows-server


    【解决方案1】:

    它似乎是此处记录的 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
    

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

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

    响应使用指针来引用消息中其他地方的数据。

    【讨论】:

    • 这是一个很棒的参考,乔。读完这篇文章后我的理解是,日志让读者知道 DNS 服务器遵循数据包中其他地方的指针来获得这个最终结果。但是,就我的脚本而言,我可以丢弃方括号中的数据,而不必担心丢失任何需要的数据。你也这么理解吗?
    • 这也是我的解释。如果你想要这个名字,但不在乎它是如何出现的,那么是的。
    猜你喜欢
    • 2010-11-23
    • 2011-02-24
    • 1970-01-01
    • 2013-05-16
    • 2014-10-08
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 2017-06-02
    相关资源
    最近更新 更多