如何获取某些域名的名称服务器 - IP 对?

如何获取某些域名的名称服务器 - IP 对?

我想要获取某个域的名称服务器 - IP 对。例如,有一个 serverfault.com 域。我想要获取:

NS1.SERVERFAULT.COM - 198.252.206.80
NS2.SERVERFAULT.COM - 198.252.206.81

有可能吗?我尝试使用 nslookup,但没有成功。

更新。我找到了命令:C:\Users\Nick>nslookup -type=ns serverfault.com,但这对我来说不起作用:

C:\Users\Nick>nslookup -type=ns serverfault.com
Server:  UnKnown
Address:  62.68.141.212

Non-authoritative answer:
serverfault.com nameserver = ns3.serverfault.com
serverfault.com nameserver = ns4.serverfault.com
serverfault.com nameserver = ns2.serverfault.com
serverfault.com nameserver = ns1.serverfault.com

答案1

要查找给定域的名称服务器,可以使用 nslookup 获取 SOA 记录。serverfault.com例如:

C:\> nslookup
默认服务器:<foo>
地址:<bar>

> 设置类型=SOA
> serverfault.com
服务器:<foo>
地址:<bar>

非权威答案:
服务器故障
        主名称服务器 = ns1.serverfault.com
        负责邮件地址 = sysadmins.stackoverflow.com
        序列号 = 2013072101
        刷新 = 600(10 分钟)
        重试 = 600(10 分钟)
        有效期 = 604800(7 天)
        默认 TTL = 1440(24 分钟)

serverfault.com 名称服务器 = ns2.serverfault.com
serverfault.com 名称服务器 = ns1.serverfault.com
> 退出

目录:\>

然后,您只需nslookup针对列出的名称服务器运行即可获取相应的 IP。

答案2

您想要的查询部分称为“权限”。记录类型称为 NS。

我使用“dig”来完成此操作。由于 Windows 缺少工具,因此我安装了(免费、开源)Cygwin 软件包(它包含该软件包)。

nslookup 也可以做到这一点,并且默认情况下在 Windows 系统上可用。在我较旧的 Windows 系统上,自带的 nslookup 至少可以通过请求“所有记录”或“ns 记录”为您提供此信息。

以下是使用我的 XP 机器的 cmd 提示符对 Google.com 执行的操作:

nslookup
> set type=NS
> google.com
Server:  h-67-100-88-26.snfc.ca.megapath.net
Address:  67.100.88.26

Non-authoritative answer:
google.com      nameserver = ns4.google.com
google.com      nameserver = ns1.google.com
google.com      nameserver = ns2.google.com
google.com      nameserver = ns3.google.com

ns3.google.com  internet address = 216.239.36.10
ns4.google.com  internet address = 216.239.38.10
ns1.google.com  internet address = 216.239.32.10
ns2.google.com  internet address = 216.239.34.10
>

以下是Windows XP企业版nslookup的帮助屏幕:

Commands:   (identifiers are shown in uppercase, [] means optional)

NAME - 使用默认服务器 NAME1 NAME2 打印有关主机/域名 NAME 的信息 - 如上所述,但使用 NAME2 作为服务器帮助或? - 打印常用命令的信息 set OPTION - 设置选项 all - 打印选项、当前服务器和主机 [no]debug - 打印调试信息 [no]d2 - 打印详尽的调试信息 [no]defname - 在每个查询后附加域名 [no]recurse - 要求对查询进行递归回答 [no]search - 使用域搜索列表 [no]vc - 总是使用虚拟电路 domain=NAME - 将默认域名设置为 NAME srchlist=N1[/N2/.../N6] - 将域设置为 N1,将搜索列表设置为 N1、N2 等。 root=NAME - 将根服务器设置为 NAME retry=X - 将重试次数设置为 X timeout=X - 将初始超时间隔设置为 X 秒 type=X - 设置查询类型(例如 A、ANY、CNAME、MX、NS、PTR、SOA、SRV) querytype=X - 与类型相同 class=X - 设置查询类(例如 IN(Internet)、ANY) [no]msxfr - 使用 MS 快速区域传输 ixfrver=X - 当前版本在 IXFR 传输请求中使用的服务器名称 - 将默认服务器设置为名称,使用当前默认服务器 lserver NAME - 将默认服务器设置为名称,使用初始服务器 finger [USER] - 在当前默认主机上 finger 可选名称 root - 将当前默认服务器设置为根 ls [opt] DOMAIN [> FILE] - 列出 DOMAIN 中的地址(可选:输出到 FILE) -a - 列出规范名称和别名 -d - 列出所有记录 -t TYPE - 列出给定类型的记录(例如 A、CNAME、MX、NS、PTR 等)查看 FILE - 对“ls”输出文件进行排序并使用 pg 查看 exit - 退出程序

以下是 dig 的第一个“手册页”:

DIG(1)                               BIND9                              DIG(1)

NAME dig - DNS 查找实用程序

摘要 dig [@server] [-b 地址] [-c 类别] [-f 文件名] [-k 文件名] [-m] [-p 端口号] [-q 名称] [-t 类型] [-x 地址] [-y [hmac:]名称:键] [-4] [-6] [名称] [类型] [类别] [queryopt...]

   dig [-h]

   dig [global-queryopt...] [query...]

描述 dig(域信息搜索器)是一种用于查询 DNS 名称服务器的灵活工具。它执行 DNS 查找并显示从查询的名称服务器返回的答案。大多数 DNS 管理员使用 dig 来排除 DNS 问题,因为它灵活、易用且输出清晰。其他查找工具的功能往往比 dig 少。

   Although dig is normally used with command-line arguments, it also has
   a batch mode of operation for reading lookup requests from a file. A
   brief summary of its command-line arguments and options is printed when
   the -h option is given. Unlike earlier versions, the BIND 9
   implementation of dig allows multiple lookups to be issued from the
   command line.

   Unless it is told to query a specific name server, dig will try each of
   the servers listed in /etc/resolv.conf.

   When no command line arguments or options are given, dig will perform
   an NS query for "." (the root).

   It is possible to set per-user defaults for dig via ${HOME}/.digrc.
   This file is read and any options in it are applied before the command
   line arguments.

   The IN and CH class names overlap with the IN and CH top level domains
   names. Either use the -t and -c options to specify the type and class,
   use the -q the specify the domain name, or use "IN." and "CH." when
   looking up these top level domains.

答案3

我能想到的最简洁的方法是使用 dig:

$ dig +noall +additional -t ns google.com
ns4.google.com.         27791   IN      A       216.239.38.10
ns1.google.com.         27791   IN      A       216.239.32.10
ns2.google.com.         27791   IN      A       216.239.34.10
ns3.google.com.         27791   IN      A       216.239.36.10

但请注意,这些实际上是缓存的胶水记录。如果您想要权威名称服务器本身的答案,则需要直接询问它。最简单的方法是使用+trace,然后只需查看您收到的最后一个响应即可。

$ dig +trace +noall +additional google.com ns
m.root-servers.net.     85952   IN      A       202.12.27.33
m.root-servers.net.     85952   IN      AAAA    2001:dc3::35
a.root-servers.net.     85952   IN      A       198.41.0.4
a.root-servers.net.     85952   IN      AAAA    2001:503:ba3e::2:30
h.root-servers.net.     85952   IN      A       128.63.2.53
h.root-servers.net.     85952   IN      AAAA    2001:500:1::803f:235
d.root-servers.net.     41980   IN      A       199.7.91.13
d.root-servers.net.     41980   IN      AAAA    2001:500:2d::d
c.root-servers.net.     85952   IN      A       192.33.4.12
j.root-servers.net.     85952   IN      A       192.58.128.30
j.root-servers.net.     85952   IN      AAAA    2001:503:c27::2:30
b.root-servers.net.     85952   IN      A       192.228.79.201
k.root-servers.net.     85952   IN      A       193.0.14.129
;; Received 509 bytes from 10.19.12.20#53(10.19.12.20) in 6 ms

a.gtld-servers.net.     172800  IN      A       192.5.6.30
a.gtld-servers.net.     172800  IN      AAAA    2001:503:a83e::2:30
b.gtld-servers.net.     172800  IN      A       192.33.14.30
b.gtld-servers.net.     172800  IN      AAAA    2001:503:231d::2:30
c.gtld-servers.net.     172800  IN      A       192.26.92.30
d.gtld-servers.net.     172800  IN      A       192.31.80.30
e.gtld-servers.net.     172800  IN      A       192.12.94.30
f.gtld-servers.net.     172800  IN      A       192.35.51.30
g.gtld-servers.net.     172800  IN      A       192.42.93.30
h.gtld-servers.net.     172800  IN      A       192.54.112.30
i.gtld-servers.net.     172800  IN      A       192.43.172.30
j.gtld-servers.net.     172800  IN      A       192.48.79.30
k.gtld-servers.net.     172800  IN      A       192.52.178.30
l.gtld-servers.net.     172800  IN      A       192.41.162.30
;; Received 500 bytes from 192.58.128.30#53(192.58.128.30) in 148 ms

ns2.google.com.         172800  IN      A       216.239.34.10
ns1.google.com.         172800  IN      A       216.239.32.10
ns3.google.com.         172800  IN      A       216.239.36.10
ns4.google.com.         172800  IN      A       216.239.38.10
;; Received 164 bytes from 192.42.93.30#53(192.42.93.30) in 174 ms

ns4.google.com.         345600  IN      A       216.239.38.10
ns2.google.com.         345600  IN      A       216.239.34.10
ns1.google.com.         345600  IN      A       216.239.32.10
ns3.google.com.         345600  IN      A       216.239.36.10
;; Received 164 bytes from 216.239.36.10#53(216.239.36.10) in 12 ms

通常,这些是相同的,但如果域名正在切换名称服务器,则可能会有所不同。

相关内容