使用$dig获取为DNS区域提供服务的所有名称服务器



我想找到所有为DNS区域服务的名称服务器(假设是google.com(。使用$dig,我尝试了两种不同的查询:

  1. $dig +trace google.com <type>结果如下所示:

挖掘+跟踪

我注意到在查询答案的底部附近有四条NS记录,它们被分组在一起。

  1. $dig google.com ANY结果如下所示:

挖掘任何

总共有四条NS记录,与第一个答案中的记录完全相同。

有没有其他方法可以获得所有的名称服务器?

我想找到所有为DNS区域服务的名称服务器(假设是google.com(。

向任何父名称服务器询问有关委派的详细信息:

$ dig com. NS +short|head -1
j.gtld-servers.net.
$ dig @j.gtld-servers.net. google.com. NS +noall +auth
google.com.     2d IN NS ns2.google.com.
google.com.     2d IN NS ns1.google.com.
google.com.     2d IN NS ns3.google.com.
google.com.     2d IN NS ns4.google.com.

DNS就是这样工作和设计的:它使用NS记录类型的委派。

但要注意两件事:

  1. 可能会发生蹩脚的委派:您可以/应该询问任何被委派的名称服务器,询问他们认为相关的名称服务器是什么,并处理差异(不应该有,但令人惊讶的是,在许多区域中都有(

  2. 结果是集合,而不是列表,所以不要期望任何稳定的顺序

dig-google.com任何

绝对不要使用ANY。不管人们怎么想,它都没有ALL的含义,而且大多被认为是过时的(参见https://www.rfc-editor.org/rfc/rfc8482)

最新更新