如何找到冲突DNS记录的来源?


当前回答

你可以用"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的主要名称服务器。

在输出的最后,列出了所有授权服务器,包括给定域的备份服务器。

你可以用"host"命令找到一个域的命名服务器:

[davidp@supernova:~]$ host -t ns stackoverflow.com
stackoverflow.com name server ns51.domaincontrol.com.
stackoverflow.com name server ns52.domaincontrol.com.

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

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

在Unix上查找某个域的名称服务器:

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

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

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

为了检查名称服务器之间的差异,我倾向于使用旧的check_soa工具,Liu和Albitz在“DNS和BIND”一书中描述过(O'Reilly编辑)。源代码可以在http://examples.oreilly.com/dns5/上找到

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

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

你应该在谷歌上搜索的词是“权威的”,而不是“权威的”。

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

一个例子:

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

至于额外学分:是的,这是可能的。


aryeh是绝对错误的,因为他的建议通常只会给你IP地址作为主机名。如果你使用dig,你必须查找NS记录,像这样:

dig ns stackoverflow.com

请记住,这可能会询问您的本地DNS服务器,因此可能会给出错误或过时的答案,它在其缓存中。

坐了一*那晚尼克斯:

$ dig -t ns <domain name>