通过检查“dig”的输出是否可以检查域名是否存在? 在绑定源内部,我发现了这些常量:
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&amp; SERVFAIL表示主机名存在(虽然它并不意味着ip链接到它)。 NXDOMAIN意味着绝对不存在。
我不喜欢使用whois,因为它很慢。挖掘速度要快得多,因为我只需要确定主机名还不存在。
有人可以对我的假设和其他宏发光吗?
由于
答案 0 :(得分:4)
嗯,在某些情况下它可能有效,但在大多数情况下,您会看到不正确的结果 - 某些域已注册,但在TLD名称服务器中没有记录。并且一些域配置了记录但未注册,因为某些注册表配置了通配符域:
$ dig asdfasdfasdfxvyxv123.de.com A +short
91.213.214.122
$ whois -h whois.centralnic.com asdfasdfasdfxvyxv123.de.com
DOMAIN NOT FOUND
whois确实很慢 - 与您/您的域名提供商交谈,大多数注册管理机构提供更快的方法来检查域名是否已注册(即EPP协议)
答案 1 :(得分:1)
唯一的方法是执行WHOIS查询。
答案 2 :(得分:0)
只需索要该域的SOA记录:
$ dig activcloud.eu +short soa
dns112.ovh.net. tech.ovh.net. 2018091203 86400 3600 3600000 300
同时
$ dig lmksjdflksd.eu +short soa
不返回任何内容