Posts Tagged ‘whois’

域名/IP WHOIS所有者查询方法

星期天, 九月 14th, 2008

上次做了一个Ajax的Whois查询程序,收集了各种域名的WHOIS查询方法,现在发出来分享一下。域名的WHOIS信息一般指该域名的所有人、注册日期、过期日期等信息,这些信息由管理该顶级域名的管理机构提供,比如中国的CN域名由CNNIC提供,COM/NET由VeriSign提供。

域名WHOIS信息

查询域名的WHOIS信息,首先需要知道这个顶级域的WHOIS服务器,例如.com域名的WHOIS服务器为whois.verisign-grs.com或whois.crsnic.net,cn的WHOIS服务器为whois.cnnic.cn(在下文会提到)。打开HTTP连接,进入43端口,(重点,不是WEB服务器的80端口,国际通用的WHOIS服务器端口均为43),输入一个待查询的域名,以一个换行符结束,然后WHOIS服务器即可返回WHOIS信息。

PHP脚本:

  1. $domain = 'photozero.net';//待查询域名
  2. $tld = 'net';//顶级域,请自行用函数解析得出。别忘了判断域名合法性
  3. $server = 'whois.verisign-grs.com'; //net的WHOIS服务器地址。
  4. $fp = @fsockopen($server, 43, $errno, $errstr, 10);//打开SOCK连接
  5. $query = "$domain\r\n"; //输入查询字符,以换行符结束
  6. fputs($fp, $query);
  7. while (!feof($fp)){
  8.     $data .= fgets($fp);//获取数据,$data即是返回的WHOIS信息
  9. }
  10. fclose($fp);
  11. echo $data;

此外,还有几点应该注意的地方。
一、 .com,.net的WHOIS信息要查询两次才能得到,什么意思呢?第一次查询是向VeriSign查询,查询的结果中仅包含注册商(如Godaddy),注册商的WHOIS服务器,注册日期,过期日期等基本信息,并不包含所有人信息(以及相关的邮件地址、电话、联系地址),而这些信息则要向域名注册商的WHOIS服务器查询获得。举例一下,查询example.com的WHOIS信息,首先连接Verisign查询得到类似结果:


Whois Server Version 2.0

Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

Domain Name: EXAMPLE.COM
Registrar: RESERVED-INTERNET ASSIGNED NUMBERS AUTHORITY
Whois Server: whois.iana.org
Referral URL: http://res-dom.iana.org
Name Server: A.IANA-SERVERS.NET
Name Server: B.IANA-SERVERS.NET
Status: clientDeleteProhibited
Status: clientTransferProhibited
Status: clientUpdateProhibited
Updated Date: 26-mar-2004
Creation Date: 14-aug-1995
Expiration Date: 13-aug-2011

>>> Last update of whois database: Sat, 13 Sep 2008 06:36:06 EDT <<<

第一次的查询结果中包含了一个Whois Server的地址(请使用preg_match()函数获取WHOIS地址),然后需要向这个地址再查询example.com的WHOIS信息。接下来的返回结果就完全明了了:


IANA Whois Service
Domain: example.com
Name: IANA_RESERVED

Registrant:
Unavailable

Administrative Contact:
Unavailable

Technical Contact:
Unavailable

Nameserver Information:
Nameserver: a.iana-servers.net.
IP Address: 192.0.34.43
Nameserver: b.iana-servers.net.
IP Address: 193.0.0.236
Nameserver: c.iana-servers.net.
IP Address: 139.91.1.10

(不同的域名注册商返回的格式不同。)

二、.com,.net 的查询结果有可能有很多个,比如查询google.com,会发现前面有
GOOGLE.COM.ZZZZZ.GET.LAID.AT.WWW.SWINGINGCOMMUNITY.COM
GOOGLE.COM.ZZZZZ.DOWNLOAD.MOVIE.ONLINE.ZML2.COM
GOOGLE.COM.TW
...等一些并不是我们期待的结果(至于为什么我也不太清楚),这时候在查询com,net域名时在域名前加上 = 符号,即

  1. $query = "=$domain\r\n"; //查询COM.NET域名用这个

返回的结果依然很多,要提取正确的WHOIS信息建议得想方法才行。我们注意到规律:不是正确的查询结果开头是“Server Name:”,正确的查询结果是“Domain Name:”,这下容易了吧,先使用substr函数把“Domain Name:”前的无关内容去掉

  1. $newdata = substr($data,strpos($data,'Domain Name:'),strlen($data));
  2. //$data是刚才的数据,$newdata是去除无关的数据后的新数据
  3. preg_match('/Whois Server: ([A-Za-z0-9.]+)/', $newdata, $newserver);
  4. //用正则提取出真正要再次查询的WHOIS地址
  5. //得到类似 $newserver[1] = 'whois.markmonitor.com';

在查询COM/NET域名的时候务必注意这两个问题!至于其他域名,基本上只要向WHOIS服务器进行请求一次就能得到完整结果。

IP WHOIS

IP WHOIS不同于域名WHOIS,管理IP的机构分为北美的ARIN,亚太的APNIC,拉美的LACNIC,欧洲的RIPE,非洲的AFRINIC(具体见IANA的说明)。

查询IP WHOIS与域名WHOIS类似的地方在于均是打开WHOIS服务器的43端口,同样是输入域名后以换行符结尾即可。查询IP WHOIS,(无论是哪个组织管理的)首先向北美地区的ARIN服务器(whois.arin.net)进行查询,如果ARIN中有其信息,即可返回,如果ARIN并不管理该域名段,将给出该域名段的管理机构及WHOIS服务器,可以在返回的数据中找到类似于


ReferralServer: whois://whois.apnic.net

PHP提取该WHOIS地址:

  1. preg_match('/ReferralServer: whois:\/\/([A-Za-z0-9.]+)/', $result, $server);
  2. //$server[1] 即是准确的WHOIS服务器地址。

这时候再向该地址提交IP WHOIS查询即可获得准确信息。

顶级域名对应WHOIS服务器资料

该部分由本人根据IANA数据进行整理获得。注意,并非所有顶级域均提供WHOIS查询服务器,某些顶级域由于管理、或保护隐私出发,未提供WHOIS服务器,如果需要查询其WHOIS信息,应当通过“小偷”程序进行调用。

TXT 格式:tld.txt
PHP数组格式:tld.php.txt

这个列表已经是最全的列表了,包括目前世界上所以现行的顶级域。

IP/WHOIS/Alexa查询工具zQuery.com

星期五, 九月 12th, 2008

隆重向大家推荐一款强大的IP/WHOIS/Alexa/Google Pagerank等查询工具-zQuery.com

zQuery提供了Alexa查询 | Google PR查询 | 网站收录 | IP/域名定位 | IP Whois | 域名 Whois | 服务器信息 | 代码加密 等服务。现在我简单地介绍一下。

Alexa查询
提供了Alexa排名、网站信息(站长、邮件、地址、电话)等功能。获取Alexa数据的方法在这里,接下来用PHP里面的preg_match() 函数提取一下就OK了。比较可惜的是,现在还没有找到Alexa网站缩略图的接口,以及访客国家比例等数据,估计要寻找收费的AWIS服务才提供。另外,Alexa图片调用的功能也即将推出。

Google PR查询
老掉牙的功能了,不过还是要推出一下。目前还提供了7种风格的图片调用,全站PR查询的服务也在计划表之内。

网站收录
提供了Google,百度,搜狗,有道等国内国外常见7种搜索引擎的收录数据。并且每日保存数据,届时将推出历史统计功能。

IP/域名定位
输入IP或网站的域名查询所属的物理地址。数据源来自纯真数据库。

IP Whois / 域名 Whois
查询网站或域名的IP Whois。域名WHOIS目前提供了包括COM/NET/ORG/CN等国内国外常见约100种顶级域的域名WHOIS信息,我敢说绝对比万网的数据还全!域名Whois是提供该域名的使用者的信息,比如IP定位中用到的物理位置就需要参考这个结果。

服务器信息
王牌服务了 :) 估计国内还没有提供这个功能的网站吧?输入某个服务器的IP或域名,记住一定要Web服务器,也就是使用80端口的哦。查询结果可以知道这个服务器用的软件(Apache或IIS)、支持的语言(ASP.NET或PHP)等一些常用功能。

zQuery由于是设立在美国的服务器,所以无论查询Google PR还是Alexa信息,或者是WHOIS信息都是相当快,另外还大量使用了缓存技术,所以调用PR图片的时候一点也不觉得会影响网络速度。更多服务还在策划中,欢迎提供意见建议 :)

各国域名趣闻

星期三, 七月 30th, 2008

我目前在做一个WHOIS查询程序,这个查询程序不同于其他WHOIS查询服务最大的特点就是号称能够查询到世界上绝大多数域名的WHOIS,.com/.net/.org/.cn/.com.cn/…这些都不用说了,美国的.us ,欧盟的.eu ,德国的.de ,英国的.uk ,日本的.jp ,韩国的 .kr ,亚洲的 .asia ,移动的 .mobi ,以及国内很容易注册的 .cc等都能准确查询,难能可贵的是还提供了其他一些少见的国家域名查询,例子就不举了,举出来大家可能也不太了解 :)IANA提供了世界上所有顶级域名的列表,这里面的域名90%都可以查询了,除了极少数没有提供WHOIS查询的以外。

Whois查询服务地址 http://www.neekey.com/whois/ ,架在Dreamhost主机上, DH的联网速度可比我在本地测试的福建电信快多了,整体测试了一下,速度、效果还不错的,希望您也试试。如果有BUG或CSS/JS错误,可以在这里给我回一下,谢谢了!

这里记下我在制作过程中遇到的比较有趣的事。(以下NIC指Network Information Center,一般是域名管理机构)

  • 最少域名的国家顶级域名

.kp 我们亲爱的朝鲜战友,您可以Google一下 site:kp ,不多不少,正好三个结果,两个域名。域名分别是他们的官方宣传网站和他们的NIC(相当于我们的CNNIC)。而且,他们的服务器都是架设在德国的。其中他们NIC主页上仅写着这几个字:

.kp ccTLD whois and registration services
comming soon …

当然更别提应该去哪里注册的问题了。

  • 最多域名的国家顶级域名

不用说了.cn(是国家之中最多的)。

  • 最有经商头脑的国家

.tt 特立尼达和多巴哥,位于北美洲西印度群岛,关注世界杯的朋友都知道他们参加了06年世界杯,登陆他们的NIC首页,其他的不吸引人,唯独无处不在的Google Adsense广告吸引了我。此外,他们的注册费用分本国人和外国人,本国人每3年 $50,外国人就要翻倍 $100了(不知道是什么货币),二级域名还要另外收费,您说他们精明么?

  • 最有经济头脑的国家

您没看错,这里的经济头脑和上回的经商头脑被我定位为不同的概念,我认为经商头脑是他们经营上有赚钱的妙招,至于经济头脑,那就是全盘一锅端卖了。典型:.la (老挝), .cc (太平洋岛国Cocos (Keeling) Islands),.me(黑山)很多岛屿小国、落后国家即便人口稀少,经济落后,依然从 ICANN那里分配到了自己的顶级域名,而限于经济落后,与其浪费了资源,不如卖给国外(主要指美国)的企业去经营,从那里赚点钱回来。像美国的Verisign(也是经营.com的机构)就在经营.CC,而国内很多人注册的 .la也是被美国公司买了,他们的NIC首页原本是 www.la ,估计后来来这网站的都是在找Los Angeles(美国城市洛杉矶)的消息,当我访问www.la的时候,直接跳转到 www.la.com 去了。。

  • 最危险的顶级域名

这不是我说的 :) McAfee买咖啡杀毒软件(以前常在戴尔的广告中看到买电脑+100多送的杀毒软件,我没用过)发布的报告说,.hk域名是世界上最危险的域名,19.5%的.hk的网站存在安全隐患。当然,我们可爱的.cn域名紧随其后。我估计McAfee的统计应该有些误差,而且还挺大的。估计香港几百万人就有数十万人用McAfee吧,而大陆使用的人太少吧?我怎么也觉得CN域名应该是独占鳌头,鹤立鸡群,傲视群雄。。

  • 最小气的国家域名

这里说的几个是没有提供或限制WHOIS查询服务的顶级域名。不提供WHOIS查询服务可能是出于隐私的保护或者是对域名注册商利益的保护。如 .es(西班牙),.ac(查询结果只告诉你可否注册而无注册信息),上文提到的 .kp 的WHOIS服务器根本就已经倒闭了。以及 cn的WHOIS服务器,抽风似的时而没有响应,时而正常,估计是限制了非注册商IP的查询。

  • 下属子域名最多的国家域名

(我的理解是近似于最爱钱的域名).pl (波兰)pl,com.pl,net.pl,org.pl,aid.pl,agro.pl, atm.pl,auto.pl,
biz.pl,edu.pl,gmina.pl,gsm.pl, info.pl,mail.pl, miasta.pl,media.pl,mil.pl,nom.pl,pc.pl,priv.pl realestate.pl,rel.pl,shop.pl,sklep.pl, sos.pl,targi.pl,tm.pl,tourism.pl,travel.pl, turystyka.pl
都是它的二级下属域名。与之相争的恐怕也只剩 .cn 了。除了.com.cn /.net.cn /.org.cn外还要有各省市的域名,如北京的要弄个 bj.cn ,上海的要弄个 sh.cn ,全国三十多个省市自治区直辖市特别行政区,圈钱好方法啊!

  • 下属子域名最少的国家域名

.us 我想这个争议是最小了。你看他的政府部门有顶级的 .gov ,军事部门有顶级的 .mil ,教育部门也有顶级的 .edu 都是他家专用呢,他还有必要搞什么 .gov.us , .mil.us 吗?当然也有些国家只提供了顶级的 .xx域名而没有 .com.xx。

  • 最搞怪的国家顶级域名

br.com,cn.com,eu.com,hu.com…称它为国家顶级域名有点搞怪,其实是一些国外商业公司抢注了比较有价值的国家.com 域名,然后再出售三级域名,如 xxx.cn.com ,可是照样获利颇丰。个人感觉无耻了点。。还有 .cn有个二级域名叫 hk.cn 意思就是香港.cn的域名,可人家香港都有自己的顶级域 .hk 了,你说CNNIC可笑不可笑?类似的还有 mo.cn(澳门),tw.cn(台湾)

  • 最无耻的保留名

有的顶级域名为了保护、限制某个特殊行业或特殊名称,会把一些域名保留起来,如 sex等。可最无耻的保留名是啥,您猜猜?我想是baidu.net.cn 。当我查询baidu.net.cn是否可注册的时候,返回”Sorry, the domain you want to register is reserved.”

OK,全文完,有看法?下面回复。谢谢 :)

Neekey API Services

星期天, 七月 27th, 2008

经过几天的努力,Neekey API services 总算让我搞定了 :)

这个API Services提供了Google Pagerank查询、图片调用,Alexa图片调用,以及上次提到的国旗调用服务等多种免费的Web服务。

扯点题外话,目前虽然网上有很多Google Pagerank,Alexa查询这样的服务,但我总感觉这些服务太商业化了,没有内涵,他们仅仅是关注数字这个表面的东西,而内部那些有价值的东西却很少关注。并且国内的网站都很小气,就拿提供一个Pagerank的图片来说,他们告诉你“不得修改代码,不得去除本站链接,否则永久停止服务,加入黑名单”,是不是很吝啬?我不否认使用他们的“免费服务”就应该给点链接上的回报,但我更喜欢一个开放、自由的互联网,也就是不能强制要求保留链接。这不是一个软件、程序,有GNU或CC之类的版权保护,更何况这个数据源还并非你提供的,怎么就没看见你的页面保留了Google的链接?更可笑的是国内一些“垃圾网站”的版权声明是这样写的

站内软件包含破解及注册码均由网上搜集,若无意中侵犯到您的权利,敬请来信联系我们.

未经本站明确许可,任何网站不得非法盗链及抄袭本站资源;如引用页面,请注明来自 XXX.COM,谢谢您的支持!

请大家看看这是什么强盗逻辑?自个儿到处“盗取”别人的东西,回头就不允许别人“盗取”你的?很可惜,目前国内很多提供Google Pagerank,Alexa这些服务的网站就是这样。而我做这个网站的目的,就是想让更多的博主能够享受Neekey API Services的开放、自由的服务。

从功能上来说,这个服务跟别的网站没有区别,主要就是查询网站的Google Pagerank值,还提供调用图片,一共有6种风格的图标可供选择。

做这个服务还得感谢Dianso的提醒。我原来一直以为调用的那个接口的某个参数是要系统计算的,后来Dianso告诉我,无论查询的网址怎么变,那个参数即使不变也是可以得到结果的,我测试成功后就做了这个服务。

Google 接口:http://www.google.com/search?client=navclient-auto&ch=6-1385476800&features=Rank&q=info:photozero.net

加粗的部分以前是要根据URL计算一个唯一值的,现在随便输入一个2位以上的数字就可以了,看来Google要放开PR的查询了。

网上有所谓的678个服务器的查询结果,其实就是把www.google.com换成不同的Google服务器的IP(如64.233.167.19 ),得到了678个相同的结果,还声称“可以根据不同的服务器返回值预测下次PR变化”。其实Google何止这678个服务器?如果想要,用扫描工具一扫就上千个IP,但实际上那么多IP,恐怕也多数是指向那几台主服务器。既然数据基本一样,又何必浪费Google资源做那么多无用功呢?

如果678个服务器的数据那么吸引人,下回我收集它几千个提供服务哈哈:)

这个是比较有趣的一个服务了。官方虽然也提供了图片调用的服务,但图片款式老土,且是用JavaScript调用,会影响页面打开的速度,所以还是推荐用我这个图片调用服务,纯粹的<img />代码,是不会影响页面速度的。

设计是我的弱项,所以也就用PHP的画图函数随便小弄了一下,看看效果:

分别是标准,古典,活泼风格,具体调用方法可以看演示Documents。下回还会增添更多的风格以及字体,敬请期待哦!特别推荐:活泼风格的图片真是很Cool的,字体会自动倾斜,彩字,而且每次效果都是不一样的。

而且调用这个图片还会提高你的网站的Alexa排名,你信吗?答案下回分解。

把原来存放在 http://photozero/api 的搬迁到 http://www.neekey.com/flag了,效果跟以前是一样的。原来有使用我的插件Reviewers_Info的朋友不用担心,它会自动转向到新地址的。而且我这个插件已经获得了官方Hosting,由于时间匆忙还没来得及发布,发布后您可以后台一键更新了。

  • 即将提供

这里说几个即将提供的服务或者其查询接口。

1.域名/IP Whois查询。虽然这个是纯粹站长用的工具(区别于一般的博客主),不过还是提供一下,而且不会很困难。目前提供这个服务的网站,要嘛速度很慢,要嘛仅仅是“Whois Server Version 1.3”,提供的信息太少,个人觉得万网(http://whois.hichina.com/)的接口是最好的,“Whois Server Version 2.0”,信息完整,速度超快,而且不用验证码。

2.Technorati。上次写了一篇 Technorati API教程,介绍了Technorati API的使用。Technorati的博客信息是比较有用的吧?那就提供博客信息查询服务好了。

3.微型博客链接平台。何为微型博客链接平台?就是一个简单的博客平台,超级简单,只要你的博客上放上一个<a href=”http://www.neekey.com”>Neekey API Services</a>,或者在调用PR图片、ALEXA图片的时候加上A链接,并且有人通过链接点击到这里,Neekey首页就会显示您的网站网址,不信您试试看。这个平台是为了方便大家交换友情链接,提升自己的PR值特别准备的 :)

好了,介绍那么多服务。如果你有自己的博客,还不试试?(只要我这个博客不倒,这些服务就会一直提供下去。也欢迎您提供创意和想法)