还有部分非洲地区的IP分配管理,与此相应的是,whois.apin.net是IP
whois的root
server,标准的IP
whois查询方法是,首先向whois.apin.net查询某个IP属于哪个大区,然后再向该区的whois
服务器查询此IP的whois详细信息。
目前负责
IPV4的大区
whois.arin.net
美洲区
北美
whois.apnic.net
亚太区
包括亚洲和澳大利亚
whois.ripe.net
欧洲区
欧洲/中东(西亚)/北非
whois.lacnic.net
拉美区
拉丁美洲和加勒比海区域
非洲网络的IP查询也在whois.arin.net
向某个whois服务器提交whois查询的过程
打开一个到whois服务器的43端口的连接,然后发送要查询的域名
和一个回车换行。如果要查询多个域名,请用空格分开然后从sokect中读取结果。最后服务器将自动断开连接。
用PHP实现
1.验证IP(用
ip2long代替
ereg)
2.向
whois.arin.net查询,如果数据库中没有相关信息,会给出一个Referral
Server的URL,格式如下
ReferralServer:
然后根据此信息,继续查询
代码如下
whoisip.php
<?php
include_once
"lang.inc.php"
$IP
=
isset($_GET['ip'])?$_GET['ip']:'blank'
if
(-1
===
ip2long($ip))
die(str_replace('%IP%',
$IP,
$Text['ip_invalid']))
echo
GetWhois($IP)
function
GetWhois($IP)
{
global
$Text
$rootwhois
=
'whois.arin.net'
$buffer
=
str_replace('%SERVER%',
$rootwhois,
$Text['sock_connect'])
$buffer1
=
ReadSocket($rootwhois,$IP)
if
($buffer1
!==
'')
{
$whois
=
SubStrByTag("ReferralServer:
whois://","\n",$buffer1)
//remove
port
number
":43"
if
(
($pos=strpos($whois,":"))
!==
FALSE)
{
$whois
=
substr($whois,
0,$pos)
}
if
($whois
!==
'')
{
$buffer
.=
str_replace('%SERVER%',
$whois,
$Text['sock_connect'])
$buffer
.=
ReadSocket($whois,$IP)
}
else
{
$buffer
.=
$buffer1
}
}
return
nl2br($buffer)
}
function
SubStrByTag($firstTag,$secondTag,&$longStr)
{
$firstPos
=
strpos
($longStr,$firstTag)
$ret
=
''
if
($firstPos
!==
FALSE)
{
$secondPos
=
strpos
($longStr,$secondTag,$firstPos)
if
($secondPos
!==
FALSE)
{
$firstPos
+=
strlen($firstTag)
$ret
=
substr($longStr,$firstPos,$secondPos-$firstPos)
}
}
return
$ret
}
function
ReadSocket($whois,$ip)
{
global
$Text
$buffer
=
''
if
(!$sock
=
fsockopen(
$whois,
43,
$errNum,
$errStr,
20))
{
$buffer
=
str_replace('%SERVER%',
$whois,
$Text['sock_fail'])
}
else
{
fputs($sock,"$ip\n")
//$buffer
=
fread($sock,
8192)
while(!feof($sock))
$buffer.=fgets($sock,
8192)
fclose($sock)
}
return
$buffer
}
?>
语言文件:
lang.inc.php
<?php
$Text
=
Array(
'ip_invalid'=>'I
want
to
get
a
valid
IP,
but
it
is
[%IP%].',
'sock_connect'=>'Ask
%SERVER%
...
',
'sock_fail'=>'Cannot
connect
to
the
host:%SERVER%'
)
?>
其他有名的whois服务器
1.Tucows
(whois.opensrs.net)
一次只能一个连接
dnsstuff就是查询的它
2.BulkRegister
(whois.bulkregiter.net)
小心它临时封IP,如果大量连接的话
3.Network
Solutions
(whois.networksolutions.com)
一天只能查1000次
4.Go
Daddy
(whois.godaddy.com)
5.whois.abuse.net
简单来说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商、域名注册日期和过期日期等)。通过whois来实现对域名信息的查询。如果你想对这个问题做进一步了解,下面是中国互联网络信息中心(CNNIC)网站上的一篇关于WHOIS的详细介绍,其中包括WHOIS概念、发展历程以及CNNIC WHOIS系统及其应用。
WHOIS概览 (作者 中国互联网络信息中心(CNNIC)技术部 王朗 )
一. WHOIS的概念
1.1什么是“WHOIS”
“WHOIS”是当前域名系统中不可或缺的一项信息服务。在使用域名进行Internet冲浪时,很多用户希望进一步了解域名、名字服务器的详细信息,这就会用到WHOIS。对于域名的注册服务机构(registrar)而言,要确认域名数据是否已经正确注册到域名注册中心(registry),也经常会用到WHOIS。直观来看,WHOIS就是链接到域名数据库的搜索引擎,一般来说是属于网络信息中心(NIC)所提供和维护的名字服务之一。
1.2 WHOIS系统组成
根据IETF标准 要求,WHOIS服务一般由WHOIS系统来提供。WHOIS系统是一个Client/Server系统。其中Client端主要负责:
1)提供访问WHOIS系统的用户接口;
2)生成查询并将其以适当的格式传送给Server;
3)接收Server传回的响应,并以用户可读的形式输出。
Server端则主要负责接收Client端的请求并发回响应数据。Internet上基于TCP协议的基本服务都有自己默认的TCP端口号,象HTTP服务的默认端口号为80,FTP服务的默认端口号为21等。同样作为Internet上核心服务之一的WHOIS服务,其Server端默认监听43号TCP端口,接收查询请求并产生响应。一般来说,Server端可以接收三种类型的信息查询:联系人、主机和域名。对于同一查询,Server端的输出应该具有一致性和稳定性。
1.3 WHOIS工作过程
WHOIS服务是一个在线的“请求/响应”式服务。WHOIS Server运行在后台监听43端口,当Internet用户搜索一个域名(或主机、联系人等其他信息)时,WHOIS Server首先建立一个与Client的TCP连接,然后接收用户请求的信息并据此查询后台域名数据库。如果数据库中存在相应的记录,它会将相关信息如所有者、管理信息以及技术联络信息等,反馈给Client。待Server输出结束,Client关闭连接,至此,一个查询过程结束。
二. WHOIS的历史及其发展
域名系统理论的建立和应用对于Internet而言具有里程碑式的意义,因而早在ARPANet时代,域名信息就备受网络用户的关注。位于美国加州Menlo Park的斯坦福研究院(Stanford Research Institute,SRI)在20世纪80年代初行使着DDN网络信息中心(Network Information Center,NIC)的职责,在这里工作的Ken Harrenstien和Vic White等人敏感地意识到提供已注册域名信息的查询对于NIC而言是一项非常重要的工作,于是便开始着手建立WHOIS系统,并将其工作成果提交给IETF 。经过Ken Harrenstien等人的改进和修改,NICNAME/WHOIS理论得以进一步完善,成为Internet上的标准服务之一 。其中,NICNAME是WHOIS服务在TENEX, TOPS-20和一部分UNIX系统上的叫法。因为ARPANet上主机数目有限,此时的WHOIS服务主要通过位于SRI的中央数据库来维护。
这以后几乎所有的UNIX版本都将WHOIS作为TCP/IP协议栈中的上层应用协议,并实现了著名的客户端程序whois。在绝大多数UNIX和类UNIX系统中键入man 1 whois,都会得到whois客户端程序的使用帮助。同样,用户只要telnet到运行WHOIS Server的43端口,敲入所需查询的信息,也能得到相应的信息反馈。
随着Internet的急速膨胀,人们意识到集中式的WHOIS Server越来越不能够满足网络用户的需求,于是分布式就成了WHOIS Server的主要发展方向。“Referral WHOIS”(简称为RWhois) 就是这个方向上的研究成果,其主要思路是利用分布式的数据库来维护众多的域名、主机等信息,用referral来指示client经由网络上的多个的Server最后连到所查询信息的权威WHOIS Server。另一方面,IETF成立了Whois and Network Information Lookup Service Working Group(WNILS)来研究将本地WHOIS服务进行扩展和标准化,并称之为WHOIS++ 。
计算机和网络通信技术在不断发展,WHOIS系统新的功能也在不断增加。比如多语言功能,支持更多的字符集,结构化数据,更强劲的表达式搜索,更安全的数据连接,更友好的用户界面等等。上世纪90年代以来,Web应用迅速普及,通过Web系统进行域名信息的查询已经成为主流趋势,各级域名注册管理机构都实现了其基于Web的WHOIS系统,Client端多以网页为主的形式提供。如InterNIC的WHOIS主页:
http://www.internic.net/whois.html。这样的界面对于普通Internet用户而言更加友好直观,清晰易读。
三. CNNIC WHOIS
3.1 CNNIC WHOIS系统
中国互联网络信息中心(China Internet Network Information Center ,简称CNNIC)是经我国国务院主管部门批准授权,行使我国国家互联网络信息中心职责的管理和服务机构。作为我国的域名体系注册管理机构,CNNIC也提供了所辖范围内域名信息查询的WHOIS服务。
当前,能注册在CNNIC域名数据库中的域名有三种:
1)CN域名:以.cn结尾的二级域名和三级域名(edu.cn除外),如cnnic.cn、sina.com.cn等;
2)中文域名:至少含有一个中文文字,由中文、字母(A-Z,a-z,大小写等价)、数字(0-9)或符号(-)和域名层次分隔符“.”(或者中文的“。”)组成,最多不超过20个字符的字符串,如中国互联网络信息中心.网络、人民日报.中国、新浪.公司等;
3)通用网址:由中文、字母(A-Z,a-z,大小写等价)、数字(0-9)或符号(-)组成,最多不超过31个字符的字符串,并且不含域名分隔符“.”,如:中国互联网络信息中心、CNNIC等。
相应的,CNNIC WHOIS服务也由三个系统构成:
1).cn域名 WHOIS系统(http://ewhois.cnnic.cn);
2)中文域名WHOIS系统(http://cwhois.cnnic.cn);
3)通用网址WHOIS系统(http://seal.cnnic.cn)。
当前我国有的注册服务机构也提供WHOIS服务,但对于注册在CNNIC的域名等信息,这些注册服务机构的信息来源最终还是CNNIC的WHOIS系统。所以,CNNIC的WHOIS在所辖域内是最权威的。
3.2 CNNIC WHOIS的使用
3.2.1 .cn域名WHOIS查询
使用这个WHOIS系统,Internet用户可以查询除.edu.cn 之外所有注册在CNNIC域名数据库中以.cn结尾的英文域名。只要在“域名查询”栏中输入以.cn结尾的英文域名字符串,然后回车,即可得到查询结果。
如果查询的域名不在CNNIC域名数据库中,比如错误键入了.com或.net等结尾的域名,系统将会显示“你所查询的信息不属于本注册机构”。对于涉及到著名企业的单位名称、驰名商标等的域名,CNNIC会进行保护性预留,查询这类域名系统会声明“经主管部门批准您申请的域名已经被列入限制注册名单”。如果所查询的域名还没有注册,或者域名因为不同的理由被CNNIC禁止查询,系统会显示“你所查询的信息不存在”。
同时,按照惯例,该系统还提供注册在CNNIC域名数据库中的联系人信息和主机信息查询,只要在“联系人查询”或“主机查询”栏中输入主机的域名或联系人号,然后回车,系统会返回相应信息。若输入有误,系统会提示“你所查询的信息不存在”。
3.2.2 中文域名WHOIS查询
使用这个系统,Internet用户可以查询注册在CNNIC域名数据库中的中文域名,域名后缀目前可以是“.cn”、“.中国”、“.公司”和“.网络”四者之一。如果域名分隔符“.”不小心输成了中文句号“。”,系统会进行自动更正并返回正确的查询信息。一般来说,输入简体的中文域名,系统会将相应的简繁体的中文域名信息都显示到客户端。
CNNIC对于诸如著名企业的单位名称、驰名商标、地理名称等的中文域名,如“北京.公司”,也会给予保护性预留。查询此类域名系统会说明:“该中文域名已由中国互联网络信息中心预留”。如果查询的域名不在CNNIC数据库中,系统会显示“此域名没有被注册”。如果系统称“此域名不存在”,则有可能是因为所查询的域名因为某种原因被禁止注册。 Internet用户也可以利用该系统进行联系人和主机信息的查询。
3.2.3 通用网址WHOIS查询
使用这个系统,Internet用户可以查询注册在CNNIC域名数据库中的通用网址相关信息。
若要查询CNNIC进行了保护性预留的通用网址,系统会通知“您查询的通用网址限制注册”;对于禁止注册的通用网址,系统则会显示“您所查询的通用网址不存在”。如果系统声明“您查询的通用网址/联系人目前没有被注册”,则说明可以向相应的注册服务机构申请注册该通用网址。
使用该系统Internet用户也可以查询到相关的联系人信息。只需键入所需查询的联系人姓名或联系人号,在其后的下拉列表中选择联系人所属的注册服务机构,回车,系统就会返回相应信息。如果不清楚联系人属于哪个注册服务机构,也可以保持下拉列表为“全部”,系统会返回所有与输入相符的联系人信息。
综上,CNNIC的WHOIS系统能够在所管理的范围内,提供清晰易读的域名信息。同时CNNIC也在积极进取,不断完善WHOIS系统,努力为广大Internet用户和域名注册服务机构提供更加方便、准确、快捷的域名信息查询服务
PHP集成开发环境,有Zend Studio、Eclipse for PHP、PhpStorm等。
1、Zend Studio
Zend Studio是Zend Technologies公司开发的PHP语言集成开发环境(IDE)。除了有强大的PHP开发支持外也支持HTML、js、CSS,但只对PHP语言提供调试支持。
2、EclipsePHP Studio
EclipsePHP是一个大型PHP项目开发编译器,基于Eclipse底层开发而来,并且集成了JDK,免除了安装配置的麻烦,一次安装即可使用,无需配置。
此编译器为PHP编译器,辅助PHP代码的开发和调试,集成了代码高亮,函数跟踪,实时纠错等功能。同时还增加了协作开发版本服务器功能:SVN 、 CVS 。 内嵌浏览器可以在调试简单代码实时浏览。
3、PhpStorm
PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。
扩展资料
php的特点
一、开源性和免费性
由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP 运行环境的使用也是免费的。
二、快捷性
PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址 *** 作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它 *** 作编辑非常简单,实用性很强。
三、数据库连接的广泛性
PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。
四、面向过程和面向对象并用
在PHP语言的使用中,可以分别使用面向过程和面向对象, 而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言是做不到的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)