DNS 挖掘中某些行的含义



我试图通过+trace选项(为了使解析器模拟NS默认服务器角色)完全理解DNS解析过程的含义。我从一个教学示例中获取了以下输出,然后我添加了一些在不同上下文中找到的行(我确信这是一个可能的情况)。我添加的这些行是输出的最后 2 行(关于 XXX.mit.edu 和 WWW 的 NS。YYY。兹兹)。

dig www.mit.edu +trace
; <<>> DiG 9.2.4 <<>> www.mit.edu +trace
;; global options: printcmd
.       2788 IN NS b.root-servers.net.
.       2788 IN NS c.root-servers.net.
.       2788 IN NS d.root-servers.net.
.       2788 IN NS e.root-servers.net.
.       2788 IN NS f.root-servers.net.
.       2788 IN NS g.root-servers.net.
.       2788 IN NS h.root-servers.net.
.       2788 IN NS i.root-servers.net.
.       2788 IN NS j.root-servers.net.
.       2788 IN NS k.root-servers.net.
.       2788 IN NS l.root-servers.net.
.       2788 IN NS m.root-servers.net.
.       2788 IN NS a.root-servers.net.
;; Received 276 bytes from 193.204.161.133#53(193.204.161.133) in 1 ms
edu.        172800 IN NS A3.NSTLD.COM.
edu.        172800 IN NS C3.NSTLD.COM.
edu.        172800 IN NS D3.NSTLD.COM.
edu.        172800 IN NS E3.NSTLD.COM.
edu.        172800 IN NS G3.NSTLD.COM.
edu.        172800 IN NS H3.NSTLD.COM.
edu.        172800 IN NS L3.NSTLD.COM.
edu.        172800 IN NS M3.NSTLD.COM.
;; Received 302 bytes from 192.228.79.201#53(b.root-servers.net) in 194 ms
mit.edu.    172800 IN NS STRAWB.mit.edu.
mit.edu.    172800 IN NS BITSY.mit.edu.
mit.edu.    172800 IN NS W20NS.mit.edu.
;; Received 138 bytes from 192.5.6.32#53(A3.NSTLD.COM) in 182 ms
www.mit.edu.    60 IN A 18.7.22.83
mit.edu.    21600 IN NS BITSY.mit.edu.
mit.edu.    21600 IN NS STRAWB.mit.edu.
mit.edu.    21600 IN NS W20NS.mit.edu.
mit.edu.    21600 IN NS XXX.mit.edu
mit.edu.    21600 IN NS WWW.YYY.ZZZ
;; Received 154 bytes from 18.71.0.151#53(STRAWB.mit.edu) in 150 ms

我理解了这些行之前发生的一切:"."信息由根名称服务器保存。根名称服务器列表由 193.204.161.133 给出,这是我的默认名称服务器。"edu"信息由"第二个块"(XX.MSTLD.COM)中的名称服务器提供。这是由根名称服务器提供的信息。"mit.edu"信息由STRAWB,BITSY和W20NS(这是 mit.edu 的权威NS)提供。这也很好。那么,在"最后一个块"中:"XXX.mit.edu"和"WWW"是什么。YYY。ZZZ"的意思是?它们也是 mit.edu 的自立 NS,但为什么之前没有将它们与其他 3 个自立 NS 一起列出?就像只有 STRAWB.mit.edu 知道有更多的NS包含与 mit.edu 区域有关的信息。这是否意味着它们是辅助名称服务器,也许是为了冗余?

我希望我的问题很清楚。

挖掘跟踪是在解析域名的过程中发生的所有对话的列表。对话运行如下

  1. 最初需要根名称服务器的地址才能开始查找地址,这些地址通常取自缓存,因为此请求花费了 1 毫秒,我们将假设情况确实如此。
  2. 根名称服务器将查询 .edu. 名称服务器。第二组结果 - edu。答案就是这些。
  3. 查询其中一个 .edu. 服务器以获取 mit.edu. 名称服务器。这些结果是 mit.edu。与STRAWB,BITSY和W20NS
  4. 最终答案从 18.71.0.151#53(STRAWB.mit.edu) 接收,是顶部响应www.mit.edu 要回答查询,这是唯一需要的记录。
  5. 答案下面的记录是附加记录,它们基本上是有用的名称服务器。它为您提供了要放入缓存的域的所有权威名称服务器的列表,以便下次您需要查找 mit.edu 域时,您无需进行完整查找。(并将拥有完整的名称服务器集)

有关更多信息,请阅读 RFC 1035 域名 - 实施和规范(搜索"其他")

相关内容

  • 没有找到相关文章

最新更新