运行针对特定域的命令dig ,返回以前的名称服务器详细信息。 例如;
domain.com. 41068 IN NS ns1.nameserver1.com.
现在,如果我运行命令dig +nssearch host.example.com ,然后命令`dig domain.com',我得到不同的结果。
domain.com. 41068 IN NS chad.ns.cloudflare.com.
dig domain.com几次,它将返回以前的名称服务器的详细信息。 这是为什么? 编辑
名称服务器的详细信息已经更改,但是在同一时间窗口中运行命令会产生不同的结果。
系统用作parsing器的名称服务器( /etc/resolv.conf )应该cachingDNS响应。
通过使用+nssearch开关,您可以绕过parsing器(在名称服务器术语中也称为recursion名称服务器)中的cachinglogging,并直接查询授权DNS服务器,并获得不是来自caching的logging。
正如手册中所表述的那样:
+[no]recurse切换查询中RD(recursion所需)位的设置。 这个位是默认设置的,这意味着dig通常会发送recursion查询。 当使用+ nssearch或+跟踪查询选项时,recursion会自动禁用。
+[no]nssearch设置此选项后,dig会尝试为包含要查找的名称的区域查找权威名称服务器,并显示每个名称服务器对该区域具有的SOAlogging。
另一个复杂因素可能是您的parsing器不是一台服务器,而是一个recursion的DNS服务器集群,每个DNS服务器都有不同的caching和/或新logging。