首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过"dig“实现域名存在

通过"dig“实现域名存在
EN

Stack Overflow用户
提问于 2011-01-16 15:56:22
回答 3查看 3.1K关注 0票数 5

是否可以通过检查"dig“的输出来检查域名是否存在?在bind源代码中,我发现了以下常量:

代码语言:javascript
复制
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的速度要快得多,因为我只需要确定主机名还不存在。

有人能帮我解释一下我的假设和其他宏吗?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2011-08-01 16:16:23

嗯,在某些情况下,它可能会工作,但在大多数情况下,你会看到错误的结果-一些域名已经注册,但在TLD名称服务器中没有记录。一些域名配置了记录,但没有注册,因为一些注册表配置了通配符域:

代码语言:javascript
复制
$ dig asdfasdfasdfxvyxv123.de.com A +short 
91.213.214.122

$ whois -h whois.centralnic.com asdfasdfasdfxvyxv123.de.com
DOMAIN NOT FOUND

对于您的域名提供商,whois确实很慢,大多数注册机构提供了更快的方法来检查域名是否已注册(即EPP协议)

票数 4
EN

Stack Overflow用户

发布于 2011-01-26 16:57:32

不,你不能。至少,Dig可以告诉你域名是否有域名服务器记录,但即使响应是否定的,也不意味着域名是可用的。

唯一的方法是执行WHOIS查询。

票数 1
EN

Stack Overflow用户

发布于 2018-09-13 16:24:30

只需索要该域的SOA记录:

代码语言:javascript
复制
$ dig activcloud.eu +short soa
dns112.ovh.net. tech.ovh.net. 2018091203 86400 3600 3600000 300

代码语言:javascript
复制
$ dig lmksjdflksd.eu +short soa

不返回任何内容

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4704368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档