我正在尝试使用“host”命令检查域的可用性并寻找 NXDOMAIN 响应。但我遇到了一个奇怪的域:
host -W 1 antiquejewelry.net
这将返回 NXDOMAIN,但是whois 记录显示其名称服务器设置为:
nsf.algx.net
rapnet.diamonds.com
此回复有什么特别的原因吗?有没有更好的方法来检查域名服务器是否存在?
答案1
我的 WHOIS 结果显示了这两个名称服务器:
RAPNET.DIAMONDS.COM
NS.DIGEX.NET
WHOIS 结果中的名称服务器“存在”,但没有列出的名称服务器响应此域的记录。使用 WHOIS 中列出的两个服务器以及您在问题中列出的另一个服务器检查两者的host
输出dig
:
使用host
:
dave@dev:/var$ host antiquejewelry.net rapnet.diamonds.com
;; connection timed out; no servers could be reached
dave@dev:/var$ host antiquejewelry.net ns.digex.net
host: couldn't get address for 'ns.digex.net': not found
dave@dev:/var$ host antiquejewelry.net nsf.algx.net
Using domain server:
Name: nsf.algx.net
Address: 207.88.20.150#53
Aliases:
Host antiquejewelry.net not found: 3(NXDOMAIN)
使用dig
:
dave@dev:/var$ dig @rapnet.diamonds.com antiquejewelry.net
; <<>> DiG 9.5.1-P2 <<>> @rapnet.diamonds.com antiquejewelry.net
; (1 server found)
;; global options: printcmd
;; connection timed out; no servers could be reached
dave@dev:/var$ dig @ns.digex.net antiquejewelry.net
dig: couldn't get address for 'ns.digex.net': not found
dave@dev:/var$ dig @nsf.algx.net antiquejewelry.net
; <<>> DiG 9.5.1-P2 <<>> @nsf.algx.net antiquejewelry.net
; (3 servers found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 8959
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;antiquejewelry.net. IN A
;; Query time: 62 msec
;; SERVER: 207.88.20.150#53(207.88.20.150)
;; WHEN: Sat Jul 25 10:19:16 2009
;; MSG SIZE rcvd: 36
与第一个名称服务器的连接超时,第二个名称服务器的主机名无法解析,第三个名称服务器响应表示它没有 antiquejewelry.net 的区域(它没有该域的记录)。
答案2
这是一个有趣的例子蹩脚的代表团。不充分的委派是指将域名委派给不知道该域名的名称服务器(由于配置错误或其他原因)。通常,没有委派的服务器会回复 SERVFAIL(服务器故障)或 NOERROR,重定向到根,但会nsf.algx.NET
回复 NXDOMAIN(无此域名),并带有 AA(权威答案)标志,这显然与它无关。
所以,在这里,你发现了一个有趣的破碎例子。
否则,使用 DNS 检查域名可用性是一个非常糟糕的主意,因为在许多注册中心,域名可以根据域名所有者的意愿进行注册但不发布。