例如,当我跟踪google.com的DNS查找时,dig只显示对根服务器的请求,然后直接转到第二级域服务器,跳过顶级域。换句话说,它从.a.root servers.net到ns1.google.com。就像你在这张照片上看到的,应该介于阿-h..gtld servers.net TLD之间的服务器呢?为什么结果没有显示出来呢?其他主机名也是如此。例如,gaia.cs.umass.edu。图片从根服务器到ns1-3.umass.edu。像a.edu-servers.net这样的所有.edu TLD服务器都在哪里?
发布于 2020-12-04 19:04:49
这些结果让我怀疑你的网络中是否有什么奇怪的东西,而不仅仅是怀疑dig在做一些奇怪的事情。
你有什么透明的“代理”正在进行吗?Ie,对199.7.91.13的查询(如您的一个示例所示)是否实际发送到该地址或重定向到其他地方(可能是某个本地递归服务器)?
一种假设是,所有DNS流量都被发送给一个递归器,它将显示在完整的输出中(您不会得到权威的响应.没有aa标志)。
要继续跟踪的想法,您可以运行例如:
dig +trace +all example.com这将为每个步骤提供完整的输出。查看响应的详细信息,来自根服务器的响应(按照每个响应底部的SERVER: ... )实际上是一个权威的响应吗?
如果发生了一些奇怪的事情,像这样的查询也可以帮助暴露。与实际的199.7.91.13响应相比(请注意,它不是一个服务器,因此响应不一定是一致的,但它给您一个很好的预期),这是从已知的良好互联网连接中观察到的:
dig @199.7.91.13 version.bind CH TXT +norec(可能会使用软件+版本字符串进行响应)
dig @199.7.91.13 hostname.bind CH TXT +norec(可能会用主机名响应)
dig @199.7.91.13 id.server CH TXT +norec(可以使用服务器标识符进行响应)
https://serverfault.com/questions/1045013
复制相似问题