Answers:
您可以为新TLD手动配置whois服务器。
只需创建文件/etc/whois.conf
并添加以下内容,您就可以查找新的TLD:
whois.conf(Github镜像:whois.conf)
whois.conf使用正则表达式。
您可以直接从IANA轻松获得合适的whois服务器,而无需编辑其他文件或表。
“ .de” TLD的示例
Linux,OSX(和兼容):
whois -h whois.iana.org .de |
egrep -e '^whois:' |
sed -e 's/[[:space:]][[:space:]]*/ /g' |
cut -d " " -f 2
玩得开心
whois
我不确定为什么这不是该实用程序的默认行为(也许是为了减少负载?)。无论如何,道具和谢谢。
whois -h $(whois -h whois.iana.org .TLD | grep '^whois:' | sed 's/whois:\s*//') example.TLD
。但是,有趣的whois.nic.TLD
是,正如@Andrew指出的那样,足以将其用作大多数(或全部?)TLD的数据库主机。
.tube
负责任的服务器未发布。可能是因为IANA服务器负责whois -h whois.iana.org nic.tube
工作。
大多数whois客户端对TLD whos服务器进行硬编码,而不是在执行客户端不知道的TLD时主动从IANA检索whois服务器。
我已经构建了自己的在线Whois查找工具,您可以使用http://gwhois.org/来支持所有TLD和IP地址,因为所有查找都始于IANA,然后根据需要遍历到注册管理机构和注册商。
我还花了很多时间来构建智能的Whois解析器,以用户友好的方式显示whois数据。
屏幕截图示例:
gwhois
需要从官方存储库中安装25个软件包。并不是说我会错过〜4.4MB的存储空间,这对于包正常运行是否真的必要吗?
这似乎适用于大多数新TLD:
服务器主机名的格式为:whois.nic.newtldname
例如:
whois -h whois.nic.host example.host
“此名称由注册管理机构根据ICANN政策保留。” 等等等等
另外,浏览至http://nic.newtldname
通常会带您到注册表/启动页面。
whois -h $(whois -h whois.iana.org .TLD | grep '^whois:' | sed 's/whois:\s*//') example.TLD
whois.nic.$ext
和$ext.whois-servers.net
-我正在寻找其他人添加到我的列表中。
如果使用的是标准linux客户端,则定义尚未更新为包括新的TLDS。
您有两种可能的解决方案:
在OS X上,whois工具似乎不是使用/etc/whois.conf支持构建的(就像slackware?一样)。解决此问题的简单方法似乎是安装来自自制软件的“伪造” whois 。你可以这样做
brew tap homebrew/dupes
brew update
brew install whois
brew untap homebrew/dupes
这样,它将使用更新的Whois服务器列表(但我仅使用.so和.ninja域进行了测试)。
一种方法是使用TLD .whois-servers.net作为Whois服务器,例如:
whois -h mobi.whois-servers.net npr.mobi
该whois-server.net域(由中关村LLC,没有隶属关系运行)包含DNS重定向CNAME官方TLD域名注册服务器,如的希望了最新名单:
dig mobi.whois-servers.net
...
;; ANSWER SECTION:
mobi.whois-servers.net. 146 IN CNAME whois.dotmobiregistry.net.
whois -c mobi npr.mobi
。遗憾的是它并不适用于所有领域的工作在写如的时间whois -c tube nic.tube
要更新/etc/whois.conf,可以使用类似以下的脚本
/*
* Usage : node generateWhoisConf.js > /etc/whois.conf
*/
var json = require('comment-json');
var request = require('request');
request('https://github.com/weppos/whois/raw/master/data/tld.json', function(error, response, body){
var obj = json.parse(body);
Object.keys(obj).forEach(function(key){
if(obj[key].host){
console.log(key.replace(/\./g,'\\.') + '$ ' + obj[key].host);
}
});
});
https://gist.github.com/HugoPoi/4694a99f5a9d9b2c558557bbdd113f54
这个其他github存储库提供了关于whois服务器的良好数据https://github.com/whois-server-list/whois-server-list
或者,您可以使用更好的工具。例如,GNU jwhois首先灵活地搜索适当的whois
服务器,然后使用该服务器进行实际查找。
jwhois是一种改进的Whois客户端,它能够使用正则表达式或CIDR块基于灵活的配置文件选择Whois服务器进行查询
GNU路径:https:
//ftp.gnu.org/gnu/jwhois/ Github一个:https : //github.com/jonasob/jwhois