如何find域名的权威名称服务器?

而额外的信贷 – 是否有可能find冲突的DNSlogging的起源?

您将需要一个给定域名的SOA(授权开始)logging,这就是您如何使用通用的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.domaincontrolstackoverflow.com的主名称服务器。

在输出结束时,列出所有授权服务器(包括给定域的备份服务器)。

您在问题中使用了单数,但通常有几个权威的名称服务器,RFC 1034build议至less两个。

除非你的意思是“主名称服务器”而不是“权威名称服务器”。 辅助名称服务器权威的。

在Unix上找出一个域的名称服务器:

  % dig +short NS stackoverflow.com ns52.domaincontrol.com. ns51.domaincontrol.com. 

要找出列为主服务器的服务器(现在“主”的概念相当模糊,通常没有很好的答案):

 % dig +short SOA stackoverflow.com | cut -d' ' -f1 ns51.domaincontrol.com. 

为了检查名称服务器之间的差异,我最喜欢的是Liu&Albitz的“DNS&BIND”一书(O'Reilly编辑)中描述的旧的check_soa工具。 源代码位于http://examples.oreilly.com/dns5/

 % check_soa stackoverflow.com ns51.domaincontrol.com has serial number 2008041300 ns52.domaincontrol.com has serial number 2008041300 

在这里,两个权威的名称服务器具有相同的序列号。 好。

在* nix:

 $ dig -t ns <domain name> 

我有一个DNS传播工具,旨在回答这类问题。

资料来源是在AGPLv3下发布的。

(是的,目前界面是相当基本:))

你也可以通过“host”命令find域名的域名服务器:

 [davidp @ supernova:〜] $ host -t ns stackoverflow.com
 stackoverflow.com名称服务器ns51.domaincontrol.com。
 stackoverflow.com名称服务器ns52.domaincontrol.com。

您应该使用Google的术语是“权威性”,而不是“权威性”。

在Linux或Mac上,您可以使用whoisdighostnslookup或其他几个命令。 nslookup也可能在Windows上工作。

一个例子:

 $ whois stackoverflow.com [...] Domain servers in listed order: NS51.DOMAINCONTROL.COM NS52.DOMAINCONTROL.COM 

至于额外的信用:是的,这是可能的。


aryeh肯定是错误的,因为他的build议通常只会给你主机名的IP地址。 如果你使用dig ,你必须寻找NSlogging,如下所示:

 dig ns stackoverflow.com 

请记住,这可能会问你的本地DNS服务器,因此可能会给它的caching中有错误或过时的答案。

我们已经构build了一个DNS查找工具 ,可以在一个请求中为您提供域名的权威域名服务器及其常见的DNSlogging。

例如: https : //www.misk.com/tools/#dns/stackoverflow.com

我们的工具通过在根域名服务器上执行一个实时(未caching)的dns查找来find权威的域名服务器,然后在名称服务器引用之后,直到我们到达权威的域名服务器。 这是dnsparsing器用于获得权威答案的逻辑。 在每个查询中select(并标识)一个随机权威域名服务器,通过执行多个请求来查找冲突的dnslogging。

您也可以通过点击上面例子中dns查询结果底部的“Authoritative Nameservers”查看nameserver委托path。

例如: https : //www.misk.com/tools/#dns/stackoverflow.com@f.root-servers.net

您可以使用whois服务。 在类似于UNIX的操作系统上,您可以执行以下命令。 或者,你也可以在网站http://www.internic.net/whois.html上做; 。

whois stackoverflow.com

你会得到以下回应。

…文字在这里删除…

按列出顺序的域服务器:NS51.DOMAINCONTROL.COM NS52.DOMAINCONTROL.COM

您可以使用nslookup或挖掘找出有关给定域的logging的更多信息。 这可能会帮助您解决您所描述的冲突。

我发现最好的方法总是添加+跟踪选项:

 dig SOA +trace stackoverflow.com 

它也适用于在不同提供者中托pipe的recursionCNAME。 +跟踪意味着+ norecurse,所以结果只是为你指定的域。

不幸的是,大多数这些工具只能返回实际名称服务器自身提供的NSlogging。 为了更准确地确定哪个名称服务器实际上负责一个域名,您必须使用“whois”并检查列出的域名,或使用“dig [domain] NS @ [root name server]”并运行recursion直到你得到名称服务器列表…

我希望有一个简单的命令行,你可以运行这个命令来可靠地获取这个结果,并且以一致的格式,而不仅仅是从名字服务器本身给出的结果。 这对我的目的是能够查询我pipe理的约330个域名,所以我可以确定每个域指向哪个域名服务器(根据其注册商设置)。

任何人都知道使用“挖”或“主机”或其他* nix的命令?

一个简单的方法是使用在线域名工具。 我最喜欢的是域名工具 (以前的whois.sc)。 我不确定他们是否可以解决冲突的DNSlogging。 作为一个例子,stackoverflow.com的DNS服务器是

  NS51.DOMAINCONTROL.COM NS52.DOMAINCONTROL.COM