为什么dig +跟踪有时会回复权威名称服务器列表以及logging?

使用下面的例子

dig + trace stackoverflow.com dig + trace google.com

挖+追踪yahoo.com挖+追踪bbc.com

前两个显示的只是查询域的Alogging,而最后两个显示了A或CNAME以及多个NSlogging。

有人可以解释DNS服务器上的configuration控制这种行为,导致所有的名称服务器响应这种types的查找。 此外,是否有可能禁用这种行为,所以在前两个例子..所以只有Alogging发送,而不是权威的名称服务器呢?

我想将我的域名与UltraDNS同步,并将域名configuration为使用他们的域名服务器来避免DNS服务器上的DNS DDoS攻击。 但有了上述行为,当人们“挖掘+追踪”域名时,它会回复我们的域名服务器,从而使得尝试隐藏它们的行为毫无意义。

感谢fLo

不同的是,yahoo.com和bbc.com返回一个AUTHORITY部分,但stackoverflow.com和google.com不是。

 $ dig @ns1.yahoo.com +noall +question +authority yahoo.com ;yahoo.com. IN A yahoo.com. 172800 IN NS ns2.yahoo.com. yahoo.com. 172800 IN NS ns6.yahoo.com. yahoo.com. 172800 IN NS ns5.yahoo.com. yahoo.com. 172800 IN NS ns4.yahoo.com. yahoo.com. 172800 IN NS ns3.yahoo.com. yahoo.com. 172800 IN NS ns1.yahoo.com. $ dig @ns1.google.com +noall +question +authority google.com ;google.com. IN A 

你可以使用+noauthority选项来隐藏你的踪迹,但是它也会使你的输出在很大程度上变得无用,因为你也可以从中间名字服务器中隐藏AUTHORITY部分。 (作为代表团,几乎所有的事情都要被看到,除非你已经设置+additional

无论他们是否希望在RFC不严格要求的场景中提供AUTHORITY部分,都由个人名称服务器实现。 BIND是默认情况下显示这些信息的服务器实现之一,但它也提供了minimal-responses选项来禁用行为。 我强烈build议在面向客户的recursion场景中使用此选项,因为这样可以减less针对欺骗性源IP的放大攻击的开销。 (不幸的是, BCP 38没有像它所需要的那样得到广泛的实施)

从BIND ARM:

最小的-响应
如果是的话,那么当生成响应时,服务器将只在需要时向权限和附加数据部分添加logging(例如,授权,否定响应)。 这可能会提高服务器的性能。 默认值是no。

使用+tracedig将继续查询域的实际名称服务器。 因此,您所看到的响应不是来自您本地的DNSparsing器,而是来自域的实际“主人”。

如果我们看一下google.comyahoo.com ,我们分别使用ns1.google.comns1.yahoo.com作为域名服务器。 查询Google.com的域名服务器将显示IP地址为12的logging,而查询Yahoo.com的yahoos域名服务器将显示3个logging,6个NSlogging等等。

没有必要使用+trace 。 您可以使用dig ns yahoo.com (查找名称服务器)的组合直接查询服务器,然后dig @ns1.yahoo.com yahoo.com (使用ns1.yahoo.com查询域)。

此行为由有问题的DNS服务器决定。 例如,如果我通过Windows DNS服务器查询google.com,我将只获得Alogging,但是如果通过本地BIND实例执行相同的操作,则会获得过多的权限logging。 这个问题, DNS答案有权/无权限,额外的部分 ,涉及同一主题,但他们也没有find一个设置来控制它。