为什么 nslookup 或 dig 不返回某些域的名称服务器?
例子:
dig @8.8.8.8 NS zzy.pl
; <<>> DiG 9.9.5-9+deb8u10-Raspbian <<>> @8.8.8.8 NS zzy.pl
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9801
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;zzy.pl. IN NS
;; AUTHORITY SECTION:
pl. 1724 IN SOA ns1.dropped.net.pl. kontakt.dropped.pl. 2008121404 3600 1800 1209600 3600
;; Query time: 101 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Nov 30 19:15:36 UTC 2017
;; MSG SIZE rcvd: 103
.
nslookup -type=ANY -timeout=10 zzy.pl 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: zzy.pl
Address: 212.91.7.33
Name: zzy.pl
Address: 212.91.6.58
Authoritative answers can be found from:
来自whois:
DOMAIN NAME:
zzy.pl
registrant type:
organization
nameservers:
ns1.aftermarket.pl.
ns2.aftermarket.pl.
(...)
TL;WR,主要的收获是当有人设置不正确时,你会得到奇怪的结果。
zzy.pl
域被委派给这些名称服务器配置错误,而不是
zzy.pl
(预期的)有一个区域,它们有一个pl
(不正确的)区域。因此,当您询问这些名称服务器时
zzy.pl IN NS
,他们没有NS
记录(作为上述错误配置的直接结果)并用来自他们NODATA
的记录的响应(意味着请求的名称存在,但没有请求类型的记录)回答区域SOA
的版本pl
。任何区域都应该至少有
SOA
并且NS
在顶点,所以zzy.pl
在这方面被打破了。以供参考:
pl
来自TLD 名称服务器的授权(正常) :权威响应(预计与上述匹配,但
NODATA
看起来好像响应来自pl
区域,我们刚刚从上一步中继续):查询它们以
pl
确认这一点: