如何找到冲突DNS记录的来源?
当前回答
你会想要一个给定域名的SOA(权威的开始)记录,这就是你如何使用通用的nslookup命令行工具来完成它:
command line> nslookup
> set querytype=soa
> stackoverflow.com
Server: 217.30.180.230
Address: 217.30.180.230#53
Non-authoritative answer:
stackoverflow.com
origin = ns51.domaincontrol.com # ("primary name server" on Windows)
mail addr = dns.jomax.net # ("responsible mail addr" on Windows)
serial = 2008041300
refresh = 28800
retry = 7200
expire = 604800
minimum = 86400
Authoritative answers can be found from:
stackoverflow.com nameserver = ns52.domaincontrol.com.
stackoverflow.com nameserver = ns51.domaincontrol.com.
源(或Windows上的主名称服务器)行告诉您ns51. conf。Domaincontrol是stackoverflow.com的主要名称服务器。
在输出的最后,列出了所有授权服务器,包括给定域的备份服务器。
其他回答
我们已经构建了一个dns查找工具,可以在一个请求中为您提供域的权威名称服务器及其常见dns记录。
例如:https://www.misk.com/tools/ dns / stackoverflow.com
我们的工具通过在根名称服务器执行实时(非缓存)dns查找来查找权威名称服务器,然后遵循名称服务器引用,直到到达权威名称服务器。这与dns解析器用于获得权威答案的逻辑相同。在每个查询中选择(并识别)一个随机的权威名称服务器,允许您通过执行多个请求来查找冲突的dns记录。
您还可以通过单击上述示例中dns查找结果底部的“权威名称服务器”来查看名称服务器委托路径。
例如:https://www.misk.com/tools/ dns / stackoverflow.com@f.root-servers.net
你可以用"host"命令找到一个域的命名服务器:
[davidp@supernova:~]$ host -t ns stackoverflow.com
stackoverflow.com name server ns51.domaincontrol.com.
stackoverflow.com name server ns52.domaincontrol.com.
你会想要一个给定域名的SOA(权威的开始)记录,这就是你如何使用通用的nslookup命令行工具来完成它:
command line> nslookup
> set querytype=soa
> stackoverflow.com
Server: 217.30.180.230
Address: 217.30.180.230#53
Non-authoritative answer:
stackoverflow.com
origin = ns51.domaincontrol.com # ("primary name server" on Windows)
mail addr = dns.jomax.net # ("responsible mail addr" on Windows)
serial = 2008041300
refresh = 28800
retry = 7200
expire = 604800
minimum = 86400
Authoritative answers can be found from:
stackoverflow.com nameserver = ns52.domaincontrol.com.
stackoverflow.com nameserver = ns51.domaincontrol.com.
源(或Windows上的主名称服务器)行告诉您ns51. conf。Domaincontrol是stackoverflow.com的主要名称服务器。
在输出的最后,列出了所有授权服务器,包括给定域的备份服务器。
我发现对于一些领域,上面的答案不工作。我发现的最快的方法是首先检查NS记录。如果不存在,请检查SOA记录。如果不存在,则使用dig递归解析名称并获取返回的最后一个NS记录。一个符合这一点的例子是analyticsdcs.ccs.mcafee.com。
检查NS记录
host -t NS analyticsdcs.ccs.mcafee.com。
如果没有发现NS,请检查SOA记录
host -t SOA analyticsdcs.ccs.mcafee.com。
如果既不是NS也不是SOA,则执行完全递归并返回最后一个NS
挖掘+跟踪analyticsdcs.ccs.mcafee.com。| grep -w 'IN[[:space:]]*NS' | tail -1
测试名称服务器是否返回
主机analyticsdcs.ccs.mcafee.com。gtm2.mcafee.com。
我发现最好的方法是总是添加+trace选项:
dig SOA +trace stackoverflow.com
它也适用于托管在不同提供者中的递归CNAME。trace隐含+norecurse,因此结果只针对您指定的域。