我在尝试了解 Whois 协议的工作原理时遇到问题,特别是与名称服务器信息相关的部分。
例如
dig +short NS adtogroups.com
什么都不返回,这是预期的,因为域上有一个 ClientHold 阻止它解析
Whois adtogroups.com
... Showing part of the output: Domain Status: clientHold https://icann.org/epp#clientHold
但是,whois 答案的名称服务器部分会返回一组服务器。我知道 dig 是解析任何域的可靠来源,因为它建立在发送 DNS 查询的基础上,而 whois 中的名称服务器信息以某种方式从另一个来源镜像。
我的问题是,在上面的示例中,whois 从哪里获取名称服务器信息,知道域在 ClientHold 下(即 DNS 不会响应解析请求)并且 whois 的 NS 输出都没有出现在被动 DNS 中?
我想我缺少关于 Whois 如何获取与 NS 相关的信息的信息。
Whois 从服务于特定 TLD(或 TLD 中的特定域,如果没有单一注册机构)的注册机构获取数据。
注册中心保存着所有者提交的域的所有信息,包括它的 NS RR 和提示,以及联系人、状态等。
TLD 的区域数据是从注册内容生成的,如果存在保留,则相关域将不会导出到该区域。
你的证明并不是真正说你有这个差异问题的正确证明,即使你确实有它。为什么?因为您的 dig 查询在注册表级别询问您的本地/默认递归名称服务器而不是权威名称服务器。如果你想证明你的观点,这需要重做……除非我们已经知道你的观点是有效的。
whois 和 dig(如果您查询权威名称服务器)来自完全相同的来源:注册表。然而,它们服务于两种不同的需求:就像它的名字所暗示的那样,
whois
显示域名是如何在注册局注册的,或者它是否是免费的;wheredig
显示域将如何在 Internet 上解析。whois 是一个非常简单的协议,客户端只需在 43 端口上打开一个到目标的套接字,在一行上发送域名,然后返回一个文本块和一个关闭的连接。它返回的是注册表决定发送的内容。
有多种情况可以注册域名但无法解析:
你可以去看看这个应该为你解释情况的 URL。简而言之,拥有
clientHold
或serverHold
意味着,由于各种原因,当域名被注册并存在于注册数据库中时,它不会被解析。在您非常具体的情况下,根据您的域使用的名称服务器,我认为您需要联系注册商。
此外,一些 whois 客户端有一个固定的 whois 服务器列表,可以根据查询本身进行查询(实际上您也是域名以外的其他东西),其他人会使用
whois.nic.$TLD
经常但并非总是有效的方式(您可以在 IANA 网站上看到必须在其中显示 whois 服务器的每个 TLD 的页面)。另请注意,将来,RDAP 应该取代 whois(或至少开始共存),并且可能会使引导问题更容易。在 gTLD 中,稀有的剩余精简注册管理机构(但较大的注册管理机构)将“很快”转换为密集注册管理机构。