2014-01-05 33 views
4

有没有人知道如何去为即将推出的新赞助TLD做一个WHOI查询(PHP或JavaScript) - 像.insurance .guru等东西 - 似乎有数百个。如何为新gTLD进行Whois查询?

换句话说,随着新的域名上线,将一个通用查询单个whois服务器Whois.net?解决新的域名或每个tld都会有不同的whois服务器。

编辑: 为了澄清一些混淆 - 我试图找出新的tlds的域可用性,而不是使用新的tlds的dns查找。虽然想想如果一个域正在使用,它肯定是不可用的。

+1

他们将工作就像在DNS系统中的任何其他TLD - 如果您的本地DNS服务器不知道答案,它会工作的方式上行,直到找到是否知道答案的服务器(例如根服务器)。 whois服务器,如果他们不知道答案,会告诉你去哪里寻找答案。 –

+0

我想我已经完全倒退了。也许phpWhoIs http://phpwhois.ols.es/让我困惑。它有很长的国家和服务器列表,我想我必须为每个域获得正确的服务器。 –

+1

WHOIS不是DNS系统的一部分。你问哪一个? – duskwuff

回答

2

与DNS类似,实际上有一个域名Whois信息的根服务器:whois.iana.org

从概念上说,所有的Whois查询应该从whois.iana.org开始,然后解析数据以获得指向下一个Whois服务器的链接等等。

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

话虽这么说,如果你想做一个Whois查询为任何域名,下面就需要在你的脚本或工具的情况发生:通过TCP

  1. 连接到whois.iana.org上的端口43 。

  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.iana.org 
--> registry whois server (if found) 
    --> registrar whois server (if found) 

此外,一些顶级域名没有whois服务器,所以whois.iana.org实际上将你的最后一站!

因此,例如,对于一个nic.ninja Whois查询遵循以下路径:

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

我在http://gwhois.org/实现我自己的Whois查询工具可在网上这种方法。

screenshot

+0

你也可以在这里找到其他策略:https://unix.stackexchange.com/a/407030/211833;目前,除.COM/.NET/.JOBS之外,gTLD也很密集,因此您可以在注册表的whois服务器上停止,不需要查询注册商whois服务器。 –