`
阿尔萨斯
  • 浏览: 4111836 次
社区版块
存档分类
最新评论

用PHP实现标准的IP Whois查询

 
阅读更多
由于Internet的历史原因,apin负责整个网络IP的整体规划以及北美区 还有部分非洲地区的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

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

$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
分享到:
评论

相关推荐

    ip查询系统附带域名whois.zip

    本程序为ip查询系统附带域名whois功能采用淘宝ip数据库接口,更高效更速度,更精确。

    whois查询经典源码

    whois查询经典源码,不用多说哦,整理得不错的!

    IP地址查询 v3.0 php版.zip

    1.IP地址查询php版,采用淘宝IP地址库,非常的精准。并且会随着淘宝IP地址库实时更新。所以您获得的数据将会是最新的。 2.此3.0核心函数代码加密 其它2.0 1.0 版本完全开源 3.define('SINA_SAE', '0'); //是否启用...

    IP地址查询php版 3.0.zip

    1.IP地址查询php版,采用淘宝IP地址库,非常的精准。并且会随着淘宝IP地址库实时更新。所以您获得的数据将会是最新的。 2.此3.0核心函数代码加密 其它2.0 1.0 版本完全开源 3.define('SINA_SAE', '0'); //是否启用...

    ip whois查询系统 v1.0

    <p><fontface> 名称:ipwhois查询系统V1.0 大小:4k 主页:http://aiyaha.cn/ 演示:http://173158.net/who/ip.php</font> <p><fontface>语言:PHP 说明: ipwhois查询系统V1.0。 </font></p>

    IP地址查询 v3.0 php版

    1.IP地址查询php版,采用淘宝IP地址库,非常的精准。并且会随着淘宝IP地址库实时更新。所以您获得的数据将会是最新的。 2.此3.0核心函数代码加密 其它2.0 1.0 版本完全开源 3.define('SINA_SAE', '0'); //是否启用...

    IP地址域名Whois查询

    IP查询采用QQ的纯真数据

    php 编写whois函数

    这个可以查看别人的ip 调用的是whois 官方网站 呵呵

    php项目源码_[主机域名]PHP多功能域名查询系统_phpchaxun.rar

    该系统基于PHP技术开发,支持多种查询方式,包括域名WHOIS查询、IP反查域名、DNS查询等。用户可以通过输入关键词或IP地址,快速获取域名的详细信息,如注册商、注册人、联系方式、域名解析记录等。 此系统具有以下...

    基于PHP多功能域名查询系统的毕业设计,后端数据库采用MySQL,前端界面使用Bootstrap框架

    3. 域名解析查询:用户可以通过输入域名来查询该域名对应的IP地址、服务器等信息。 4. 域名历史记录查询:用户可以查询自己查询过的域名历史记录,方便下次查询。 5. 域名推荐查询:用户可以输入关键词,系统会自动...

    站长查询网站源码,使用TP框架

    可以查询 whois,天气,蜘蛛模拟,域名反查(有自己的反查数据库),PR,SogouRank查询,反链查询,连接检测,关键字排名查询,IP查询,收录查询,城市信息查询,Alexa查询。有历史记录功能,可以记录网站信息变更...

    仿爱站站长查询工具网源码

    综合查询、收录查询、 ALEXA查询 、备案查询、iP地址查询、 网站测速 、PR查询 、在线刷PV 、中国排名 、 META信息检测、关键词密度查询、百度关键字排名查询、百度权重查询、whois查询、网页颜色选择器 、 MD5加密...

    LPLY PHP 网站综合信息查询工具 v1.2.rar

    具有在线IP地址,国内排名,Alexa世界排名,Google PageRank,搜狗评级,搜索引擎收录,反向链接,域名Whois,服务器状态等查询功能。 2010.12.23 V1.2 更新版权限期失效问题 增加 同IP服务器站点数 查询 布局小修改

    ip查询系统附带域名whois

      

    phpWhois:phpWhois通用存储库

    它还支持ip / AS whois查询,这对于跟踪SPAM非常有用。 您只需要传递受迷惑的四核ip地址或AS(自治系统)句柄即可,而不是传递域名。 还提供了对引用Whois(RFC 1714/2167)的有限,非递归支持。 要求 phpWhois需要...

    whois

    PHP版本v3.0的Whois查找脚本脚本Whois域和IP,Dengan PHP。 Untuk Menambahkan列出域名whois,并通过di config/whois.php编辑新未来阿帕·菲图尔·杨·巴鲁(Apa Fitur Yang Baru)? Penambahan AdminPanel(Apa ...

    二指禅SEO代工者1.0正式版源码

    Whois查询 IP定位 代码转换工具 Escape/UnEscape转码 MD5加密 网页拾色器 CSS样式表生成器 html转asp/php/js 下次会加入友情链接互探功能及会员定制,一次定制网站收录及SEO详情尽在眼底!

    Whois and IP address tracker-开源

    fstflx是使用perl和php构建的whois和ip地址跟踪器。 Fstflx提供了一个Web界面,该界面使用Google Maps API和MaxMind数据库显示IP的(物理)位置。

    八桂大地便民查询工具 v1.0.rar

    22、IP查询(通过该工具可以查询指定IP的物理地址或域名服务器的IP和物理地址,及所在国家或城市,甚至精确到某个网吧,机房或学校等;查出的结果仅供参考!) 23、Google收录查询(查询谷歌收录情况。) 24、友情...

    webtools:域和主机 IP 地址 Web 工具查找 - PHP、HTML、CSS。 DNS、whois、ping、端口扫描

    用 PHP、HTML 和 CSS 编写的域和主机 IP 地址 Web 工具。 工具包括查找 DNS、whois、ping、rbl 黑名单检查和端口扫描 要求: Linux 操作系统、PHP、Apache 或其他 Web 服务器、whois、host、nmap 和 rblcheck - 。

Global site tag (gtag.js) - Google Analytics