假设我拥有域名。它在注册商godaddy处注册。在我的帐户中,我注册了以下名称服务器:example.com

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

假设还没有将这两个NS服务器正常运行并解析域名。我们要如何在myaccount之外验证名称服务器是否已在注册表中成功注册呢?

例如,VeriSign Inc(威瑞信)的 Whois 页面允许您查找已注册的名称服务器:
lcoydzzh.png
以下是Verisign Inc支持查询的后缀
lcoyf4yj.png
威瑞信对名称服务器的WHOIS查找是专有的。以下是他们的回应:

关于您的问题,您是否能够获得任何 有关在注册处注册的名称服务器的信息 但目前未与任何域关联,您将很遗憾 无法通过其他途径获取此信息,例如 执行 DiG。名称服务器仅在以下情况下发布到区域 附加到域,因此您将无法获得此 信息,除非所述名称服务器与域相关联。也 DiG可能会为您提供与 域及其各自的 IP 等。
-- Benjamin, VeriSign, Inc. 客户服务

那么是否有为任何 TLD 注册管理机构查找此信息的标准方法呢?
我正在寻找一种方法来针对注册表查询单个注册的名称服务器,以查找注册表为此名称服务器记录的 IP 地址。例如:ns1.example.tld 123.456.789.001

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

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 名称服务器,一个就足够了。但是,如果需要,可以查询所有这些。

当然,你也可以使用在线测试工具:https://simpledns.plus/lookup-dg
下面是查找ipinfo.io的A纪录的示例

  1. 首先去查找根服务器
    lcoyoxn0.png
  2. 任意选一台根服务器m.root-servers.net查找.io后缀的注册局DNS服务器
    lcoyqa9w.png
  3. 询问.io后缀的DNS服务器(c0.nic.io)查询ipinfo.io此域名的dns
    lcoyqyqj.png
  4. 询问域名的ns服务器ns-cloud-e2.googledomains.com,查找 @.ipinfo.io的A纪录
    lcoyrtlr.png

以上是如何去权威DNS查询纪录的一个走向,实际的网络应用中,都是由当地ISP的DNS服务缓存,返回的是一个非权威应答

> server 192.168.1.1
默认服务器:  [192.168.1.1]
Address:  192.168.1.1

> www.baidu.com
服务器:  [192.168.1.1]
Address:  192.168.1.1

非权威应答:
名称:    www.a.shifen.com
Addresses:  36.152.44.96
          36.152.44.95
Aliases:  www.baidu.com

> server 114.114.114.114
默认服务器:  public1.114dns.com
Address:  114.114.114.114

> baidu.com
服务器:  public1.114dns.com
Address:  114.114.114.114

非权威应答:
名称:    baidu.com
Addresses:  39.156.66.10
          110.242.68.66

{lamp/}
下方高能,重点关注

{dotted startColor="#ff6c6c" endColor="#1989fa"/}

在国内搭建DNS需要资质,切勿随意搭建公网DNS,小心口袋罪套你
在国外搭建DNS,通常主机服务商也会发出警告(本人就收到过VUTLR的关切信),如实应对即可,如DNS学习,个人自用。有些主机服务商一刀切,禁止53端口。


扫描二维码,在手机上阅读!
分类: 域名主机 标签: DNSNS

评论