更新:

更新:

假设我拥有域名example.com。该域名在 注册商 处注册R。在我的 帐户中R,我为注册中心注册了以下名称服务器.TLD

  • ns1.example.com-->192.0.2.1
  • ns2.example.com-->192.0.2.2

假设还没有域名使用这些名称服务器进行 DNS 操作。如何在我的R帐户之外验证名称服务器是否已在.TLD注册中心成功注册?

例如,VeriSign Inc 的 WHOIS页面允许您查找已注册的.COM名称服务器:

服务器名称:NS1.HOSTGATOR.COM
IP地址:67.18.54.2
注册商:ENOM, INC.
Whois 服务器: whois.enom.com
推荐网址:http://www.enom.com

对于任何 TLD 注册机构来说,是否有查找此信息的标准方法?


澄清一下,我不是希望验证域名设置使用的名称服务器,例如:

域名:HOSTGATOR.COM
注册商:ENOM, INC.
Whois 服务器: whois.enom.com
推荐网址:http://www.enom.com

名称服务器:NS1.P13.DYNECT.NET
名称服务器:NS2.P13.DYNECT.NET
名称服务器:NS3.P13.DYNECT.NET
名称服务器:NS4.P13.DYNECT.NET

状态:clientTransferProhibited
更新日期:2013 年 1 月 5 日
创建日期:2002 年 10 月 22 日
到期日期:2015 年 10 月 22 日

相反,我正在寻找一种方法来根据注册表查询单个注册的名称服务器(例如ns1.example.tld),以找到注册表为该名称服务器记录的 IP 地址(例如123.456.789.001)。


更新:

我联系了 VeriSign 征求意见,结果发现 VeriSign 的名称服务器 WHOIS 查询是专有的。以下是他们的回复:

关于您是否能够获得有关在注册中心注册但目前未与任何域关联的名称服务器的任何信息的问题,很遗憾,您无法通过其他途径(例如通过执行 DiG)获得此信息。名称服务器只有在连接到域时才会发布到区域,因此,除非该名称服务器与域相关联,否则您将无法获得此信息。此外,DiG 可能会为您提供与域相关联的名称服务器及其各自 IP 的列表等。

-- Benjamin,VeriSign 公司客户服务部

第二部分@Iian 的回答以下是正确的。名称服务器必须与域相关联,以便查找注册中心为该名称服务器记录的 IP 地址。

答案1

您可以挖掘并选择一个公共 DNS 服务器

dig 8.8.8.8 NS example.com

这将为你提供名称服务器的名称,然后你可以查找它们,例如

dig +short ns1.example.tld 
123.456.789.001

或者如果你使用 Windows,你可以使用 nslookup

nslookup
> server 8.8.8.8
> set type=ns
> example.com 

然后类似上面

nslookup ns1.example.tld

将为您提供 IP 地址


如果你想直接查询顶级域名,那么

dig ns tld

将提供 TLD 名称服务器列表,然后您可以直接向它们查询 ns 记录,例如 .tld

dig @ns666.tld ns example.tld

答案2

通常你可以使用 Whois 来查询名称服务器:

$ whois -h whois.verisign-grs.com "nameserver =ns3.serverfault.com"

Whois Server Version 2.0

Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

   Server Name: NS3.SERVERFAULT.COM
   IP Address: 69.59.196.217
   Registrar: NAME.COM LLC
   Whois Server: whois.name.com
   Referral URL: http://www.name.com

>>> Last update of whois database: Fri, 18 Jan 2013 08:57:23 UTC <<<

此功能的实现取决于 TLD。例如,.GOV 不返回名称服务器查询:

$ whois -h whois.nic.gov "nameserver =a.gov-servers.net" 
% DOTGOV WHOIS Server ready
No match for nameserver "A.GOV-SERVERS.NET".

>>> Last update of whois database: 2013-01-18T08:59:27Z <<<

实际上,没有一种可靠的方法(即所有 TLD 上都可用的方法)来检查主机是否已通过公共 DNS 或 Whois 服务在注册中心注册。您无法直接查询胶水记录,并且只有在使用您要查找的名称服务器查询域时才能看到它们。由于您对与任何域都不关联的名称服务器感兴趣,因此这不是一个选项。

whois 方法是最佳选择,但不能完全依赖。注册中心可能已注册名称服务器,但如果没有关联域名,则不会费心将其放入 Whois 中。验证名称服务器是否存在于注册中心的唯一 100% 可靠的方法是通过 EPP CHECK 命令查询注册中心。由于这些方法仅供注册商使用,因此对您帮助不大。

假设还没有域名使用这些名称服务器进行 DNS。如何在我的 R 帐户之外验证名称服务器是否已在 .TLD 注册中心成功注册?

当然,如果您没有与名称服务器关联的域名,这真的很重要吗?唯一可以保证的检查方法是使用您的名称服务器在 TLD 中注册一个域名,查询该域名,并检查您从“dig @tldnameservers yourdomain ns”返回的胶水。

答案3

使用 nslookup 或 dig 查询 gTLD 服务器以获取您的名称服务器。您还可以使用以下网站跟踪您域的 DNS 委派:

http://www.simpledns.com/lookup-dg.aspx

答案4

首先,查询根名称服务器:

dig ns .

然后,向其中一个根名称服务器查询 TLD 的名称服务器(例如.net):

dig @m.root-servers.net. ns net.

(或者你可以跳过第一步,直接查询dig ns net.

现在,向其中一个名称服务器查询您想要的名称服务器的域名:

dig @m.gtld-servers.net. ns speedy.net.

如果域名的 TLD 与名称服务器的 TLD 相同(不必是同一个域名),并且名称服务器在 TLD 级别注册,您将收到名称服务器的 IP 地址:

; <<>> DiG 9.11.3-1ubuntu1.12-Ubuntu <<>> @m.gtld-servers.net. ns speedy.net.
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39877
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 9
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;speedy.net.                    IN      NS

;; AUTHORITY SECTION:
speedy.net.             172800  IN      NS      ns1.speedy.net.
speedy.net.             172800  IN      NS      ns2.speedy.net.
speedy.net.             172800  IN      NS      ns3.speedy.net.
speedy.net.             172800  IN      NS      ns4.speedy.net.

;; ADDITIONAL SECTION:
ns1.speedy.net.         172800  IN      A       205.251.197.253
ns1.speedy.net.         172800  IN      AAAA    2600:9000:5305:fd00::1
ns2.speedy.net.         172800  IN      A       205.251.192.194
ns2.speedy.net.         172800  IN      AAAA    2600:9000:5300:c200::1
ns3.speedy.net.         172800  IN      A       205.251.199.10
ns3.speedy.net.         172800  IN      AAAA    2600:9000:5307:a00::1
ns4.speedy.net.         172800  IN      A       205.251.194.116
ns4.speedy.net.         172800  IN      AAAA    2600:9000:5302:7400::1

;; Query time: 2 msec
;; SERVER: 192.55.83.30#53(192.55.83.30)
;; WHEN: Thu Jun 18 04:42:20 UTC 2020
;; MSG SIZE  rcvd: 287

否则,如果 TLD 不同或名称服务器未注册,您将收到不带 IP 地址的名称服务器名称:

dig @m.gtld-servers.net. ns speedymatch.com.

; <<>> DiG 9.11.3-1ubuntu1.12-Ubuntu <<>> @m.gtld-servers.net. ns speedymatch.com.
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10930
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;speedymatch.com.               IN      NS

;; AUTHORITY SECTION:
speedymatch.com.        172800  IN      NS      ns1.speedy.net.
speedymatch.com.        172800  IN      NS      ns2.speedy.net.
speedymatch.com.        172800  IN      NS      ns3.speedy.net.
speedymatch.com.        172800  IN      NS      ns4.speedy.net.

;; Query time: 2 msec
;; SERVER: 192.55.83.30#53(192.55.83.30)
;; WHEN: Thu Jun 18 04:45:02 UTC 2020
;; MSG SIZE  rcvd: 126

对您想要检查名称服务器的任何 TLD 重复这些查询。您不必查询每个 TLD 名称服务器,一个就足够了。但是如果您愿意,您可以查询所有 TLD 名称服务器。

为了测试这一点,您需要一个与名称服务器的域名处于同一 TLD 中的域名。如果您没有这样的域名用于测试,您可以先将新名称服务器添加为旧名称服务器之外的附加名称服务器,然后检查它是否有效,然后才删除您域名的旧名称服务器。

相关内容