如何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.domaincontrol是stackoverflow.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上,您可以使用whois
, dig
, host
, nslookup
或其他几个命令。 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