Dns 如何找到域名的权威名称服务器?

Dns 如何找到域名的权威名称服务器?,dns,Dns,如何找到冲突DNS记录的来源?一个简单的方法是使用在线域工具。我最喜欢的是(以前是whois.sc)。我不确定他们是否能解决DNS记录冲突。例如,stackoverflow.com的DNS服务器是 NS51.DOMAINCONTROL.COM NS52.DOMAINCONTROL.COM 您将需要给定域名的SOA(授权开始)记录,这就是使用通用的nslookup命令行工具实现该记录的方法: command line> nslookup > set querytype=soa

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

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

  NS51.DOMAINCONTROL.COM
  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.
origin(或Windows上的主名称服务器)行告诉您ns51.domaincontrolstackoverflow.com的主名称服务器


在输出的末尾,列出了所有权威服务器,包括给定域的备份服务器。

您可以使用“host”命令找到域的名称服务器:


你可以使用whois服务。在类UNIX操作系统上,您可以执行以下命令。或者,您也可以在网站上进行

stackoverflow.com是谁

您将得到以下响应

…此处删除的文本

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

您可以使用nslookup或dig查找有关给定域的记录的更多信息。这可能有助于您解决所描述的冲突。

On*nix:

$ dig -t ns <domain name>
$dig-tns

你应该在谷歌上搜索的术语是“权威的”,而不是“确定的”

在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服务器,因此可能会给出其缓存中的错误或过期答案。

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

除非您指的是“主名称服务器”而不是“权威名称服务器”。次要名称服务器具有权威性

要查找Unix上域的名称服务器,请执行以下操作:

  % dig +short NS stackoverflow.com
 ns52.domaincontrol.com.
 ns51.domaincontrol.com.
要找出列为主要服务器的服务器(目前“主要”的概念非常模糊,通常没有好的答案):

为了检查名称服务器之间的差异,我更喜欢使用旧的
check\u soa
工具,这在Liu&Albitz的《DNS&BIND》一书(O'Reilly editor)中有描述。源代码在中提供


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

不幸的是,大多数工具只返回实际名称服务器本身提供的NS记录。为了更准确地确定哪些名称服务器实际负责一个域,您必须使用“whois”并检查其中列出的域,或者使用“dig[domain]NS@[root name server]”并递归运行,直到获得名称服务器列表

我希望有一个简单的命令行,您可以运行它来可靠地以一致的格式获得结果,而不仅仅是名称服务器本身给出的结果。对我来说,这样做的目的是能够查询我管理的大约330个域名,以便我能够准确地确定每个域名指向哪个名称服务器(根据它们的注册设置)

任何人都知道在*nix上使用“dig”或“host”或其他命令吗?

我们已经构建了一个,可以在一个请求中为您提供域的权威名称服务器及其常见dns记录

例如:

我们的工具通过在根名称服务器上执行实时(未缓存)dns查找来查找权威名称服务器,然后跟踪名称服务器引用,直到到达权威名称服务器。这与dns解析程序用于获取权威答案的逻辑相同。在每个查询上选择(并标识)一个随机权威名称服务器,允许您通过执行多个请求来查找冲突的dns记录

您还可以通过单击上面示例中dns查找结果底部的“权威名称服务器”来查看名称服务器委派路径


示例:

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

dig SOA +trace stackoverflow.com

它也适用于托管在不同提供程序中的递归CNAME+trace trace imple+norecurse,因此结果仅适用于您指定的域。

SOA记录存在于层次结构更高的所有服务器上,域所有者无法控制这些服务器,并且它们实际上都指向域所有者控制下的一个权威名称服务器

另一方面,权威服务器上的SOA记录本身并不是解析该域所严格需要的,它可以包含虚假信息(或隐藏的主服务器,或其他受限制的服务器),并且不应该依赖它来确定给定域的权威名称服务器

您需要查询顶级域的权威服务器,以获取给定子域的可靠SOA信息

(关于哪个服务器是权威服务器的信息,可以从根名称服务器查询哪个TLD)

当您从TLD权威服务器获得有关SOA的可靠信息时,您可以查询主名称服务器本身(gTLD名称服务器上SOA记录中的主名称服务器!)中的任何其他NS记录,然后继续检查查询NS记录得到的所有名称服务器,查看这些服务器上的任何其他特定记录是否存在任何不一致性

这一切都更好/b
% dig +short  SOA stackoverflow.com | cut -d' ' -f1
ns51.domaincontrol.com.
% check_soa stackoverflow.com
ns51.domaincontrol.com has serial number 2008041300
ns52.domaincontrol.com has serial number 2008041300
dig SOA +trace stackoverflow.com