为什么如果请求“ANY”logging,DNSlogging权威名称服务器经常给出与caching名称服务器不同的结果?
授权名称服务器似乎一直提供比caching更多的logging – 例如,如果caching名称服务器只有在明确请求的情况下才会返回这些logging,则会返回MX或TXTlogging。
例如,在我的家(OS X)系统上,下面两个命令的区别
$ dig -t ANY +noall +nottl +answer microsoft.com $ dig -t ANY +noall +nottl +answer microsoft.com @ns1.msft.net
是第一个只返回NSlogging; 第二个增加了MX , SOA和TXT 。 但是,在一个单独的Linux系统上,使用完全不同的DNS设置,唯一缺less的logging是MX和SOA 。
你用隐藏的方式从输出中删除信息,特别是TTL。
如果我们看完整的答案部分:
;; ANSWER SECTION: microsoft.com. 3600 IN A 23.96.52.53 microsoft.com. 3600 IN A 191.239.213.197 microsoft.com. 3600 IN A 104.40.211.35 microsoft.com. 3600 IN A 104.43.195.251 microsoft.com. 3600 IN A 23.100.122.175 microsoft.com. 172800 IN NS ns3.msft.net. microsoft.com. 172800 IN NS ns4.msft.net. microsoft.com. 172800 IN NS ns1.msft.net. microsoft.com. 172800 IN NS ns2.msft.net. microsoft.com. 3600 IN SOA ns1.msft.net. msnhst.microsoft.com. 2016020503 7200 600 2419200 3600 microsoft.com. 3600 IN MX 10 microsoft-com.mail.protection.outlook.com. microsoft.com. 3600 IN TXT "v=spf1 include:_spf-a.microsoft.com include:_spf-b.microsoft.com include:_spf-c.microsoft.com include:_spf-ssg-a.microsoft.com include:spf-a.hotmail.com ip4:147.243.128.24 ip4:147.243.128.26 ip4:147.243.1.153 ip4:147.243.1.47 ip4:147.243.1.48 -all" microsoft.com. 3600 IN TXT "FbUF6DbkE+Aw1/wi9xgDi8KVrIIZus5v8L6tbIQZkGrQ/rVQKJi8CjQbBtWtE64ey4NJJwj5J65PIggVYNabdQ=="
我们可以看到并非所有的logging都具有相同的TTL,这意味着它们将在不同的时间从cachingparsing器服务器的caching中被逐出。
这与定义ANY查询types的方式相结合,意味着很有可能(而且是有效的)仅获取当前留在caching中的内容作为响应。
作为这种行为的结果,如果涉及caching服务器,QTYPE * aka ANY不能被依赖于所有logging的准确列表。 这对于故障排除是非常有用的(而且,如果您对ANY方法有了很好的理解,那么我只会认为它是有用的)。