【问题标题】:How to do a Whois lookup for the new gTLDs?如何对新 gTLD 进行 Whois 查询?
【发布时间】:2014-01-05 07:05:37
【问题描述】:

是否有人知道如何为即将推出的新赞助 TLD(例如 .insurance .guru 等)进行 WhoIs 查找(PHP 或 JavaScript),似乎有数百个。

换句话说,当新域上线时,将对单个 whois 服务器 Whois.net 进行通用查询?解析新域名,或者每个 tld 会有不同的 whois 服务器。

编辑: 为了消除一些困惑 - 我正在尝试计算新 tld 的域可用性,而不是使用新 tld 的 dns 查找。尽管考虑一下是否正在使用域,但它肯定不可用。

【问题讨论】:

  • 它们将像 DNS 系统中的任何其他 TLD 一样工作 - 如果您的本地 dns 服务器不知道答案,它将向上游工作,直到找到一个知道答案的服务器(例如根服务器)。 whois 服务器如果不知道答案,会告诉您去哪里寻找答案。
  • 我想我已经把这一切都倒退了。也许 phpWhoIs phpwhois.ols.es 让我感到困惑。它有很长的国家顶级域名和服务器列表,我想我必须为每个域获取正确的服务器。
  • WHOIS 不是 DNS 系统的一部分。你问的是哪一个?
  • 我最初是在询问 whois - 是的,我看到我确实有它 - 将编辑上述内容

标签: php whois


【解决方案1】:

和DNS类似,域名Whois信息其实有一个根服务器:whois.iana.org

从概念上讲,所有 Whois 查找都应该从 whois.iana.org 开始,然后解析数据以获取到下一个 Whois 服务器的链接等等。

不过,不久前,在您的 Whois 查找工具中为每个域名扩展名简单地硬编码 Whois 服务器已成为常态。这可以节省执行 Whois 查找的时间,因为您跳过了一个步骤,但它需要您手动维护您的 Whois 查找工具,以便在新 TLD 发布时添加它们。

话虽如此,如果您想对任何域名进行 Whois 查询,则需要在您的脚本或工具中执行以下操作:

  1. 通过 TCP 连接到端口 43 上的whois.iana.org

  2. 发送以下输入:tld\r\n,其中tld 替换为域扩展名(例如ninja)。

  3. 存储数据。

  4. 解析返回的数据以找到指向链中下一个 Whois 服务器的链接。

  5. 如果找到,通过 TCP 连接到端口 43 上的下一个 whois 服务器。

  6. 发送以下输入:example.tld\r\n,其中example.tld 替换为完整域名(例如nic.ninja)。

  7. 存储数据。

  8. 解析返回的数据以查找到链中下一个 Whois 服务器的链接(如果找到)。

  9. 通过 TCP 连接到端口 43 上的下一个 whois 服务器。

  10. 发送以下输入:example.tld\r\n

  11. 存储数据。

  12. 从 Whois 服务器回显所有 Whois 数据。

请注意,链中最多只有 3 个 Whois 服务器:

whois.iana.org
--> registry whois server (if found)
    --> registrar whois server (if found)

此外,有些 TLD 没有 Whois 服务器,因此 whois.iana.org 实际上将是您的最后一站!

例如,nic.ninja 的 Whois 查找遵循以下路径:

whois.iana.org
--> whois.unitedtld.com

我在我自己的 Whois 查找工具上实现了这个方法,该工具可以在 http://gwhois.org/ 在线获得。

【讨论】:

  • 你也可以在这里找到其他策略:unix.stackexchange.com/a/407030/211833; gTLD,除了目前的 .COM/.NET/.JOBS 之外,都比较厚,因此您可以在注册 WHOIS 服务器上停下来,无需查询注册商 WHOIS 服务器。
  • 现在 RDAP 应该是比 whois 更好的选择,至少对于 gTLD 而言。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-02
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多