是否可以通过检查"dig“的输出来检查域名是否存在?在bind源代码中,我发现了以下常量:
0 DNS_R_NOEROR
1 DNS_R_FORMERR
2 DNS_R_SERVFAIL
3 DNS_R_NXDOMAIN
4 DNS_R_NOTIMP
5 DNS_R_REFUSED
6 DNS_R_YXDOMAIN
7 DNS_R_YXRRSET
8 DNS_R_NXRRSET
9 DNS_R_NOTAUTH
10 DNS_R_NOTZONE
16 DNS_R_BADVERS
<RCODE 11> # 11 has no macro
<RCODE 12> # 12 has no macro
<RCODE 13> # 13 has no macro
<RCODE 14> # 14 has no macro
<RCODE 15> # 15 has no macro在我看来,NOERROR & SERVFAIL意味着主机名存在(尽管这并不意味着有ip链接到它)。NXDOMAIN意味着它绝对不存在。
我不喜欢使用whois,因为它太慢了。dig的速度要快得多,因为我只需要确定主机名还不存在。
有人能帮我解释一下我的假设和其他宏吗?
谢谢
发布于 2011-08-01 16:16:23
嗯,在某些情况下,它可能会工作,但在大多数情况下,你会看到错误的结果-一些域名已经注册,但在TLD名称服务器中没有记录。一些域名配置了记录,但没有注册,因为一些注册表配置了通配符域:
$ dig asdfasdfasdfxvyxv123.de.com A +short
91.213.214.122
$ whois -h whois.centralnic.com asdfasdfasdfxvyxv123.de.com
DOMAIN NOT FOUND对于您的域名提供商,whois确实很慢,大多数注册机构提供了更快的方法来检查域名是否已注册(即EPP协议)
发布于 2011-01-26 16:57:32
不,你不能。至少,Dig可以告诉你域名是否有域名服务器记录,但即使响应是否定的,也不意味着域名是可用的。
唯一的方法是执行WHOIS查询。
发布于 2018-09-13 16:24:30
只需索要该域的SOA记录:
$ dig activcloud.eu +short soa
dns112.ovh.net. tech.ovh.net. 2018091203 86400 3600 3600000 300而
$ dig lmksjdflksd.eu +short soa不返回任何内容
https://stackoverflow.com/questions/4704368
复制相似问题