w3pop.com :: ÍøÂçѧԺ :: PHP :: PHPʵÏÖ IP Whois ²éѯ
ÓÉÓÚInternetµÄÀúÊ·ÔÒò£¬apin¸ºÔðÕû¸öÍøÂçIPµÄÕûÌ广»®ÒÔ¼°±±ÃÀÇø »¹Óв¿·Ö·ÇÖÞµØÇøµÄIP·ÖÅä¹ÜÀí£¬Óë´ËÏàÓ¦µÄÊÇ£¬whois.apin.netÊÇIP whoisµÄroot server£¬±ê×¼µÄIP whois²éѯ·½·¨ÊÇ£¬Ê×ÏÈÏòwhois.apin.net²éѯij¸öIPÊôÓÚÄĸö´óÇø£¬È»ºóÔÙÏò¸ÃÇøµÄwhois ·þÎñÆ÷²éѯ´ËIPµÄwhoisÏêϸÐÅÏ¢¡£
Ŀǰ¸ºÔð IPV4µÄ´óÇø ´ò¿ªÒ»¸öµ½whois·þÎñÆ÷µÄ43¶Ë¿ÚµÄÁ¬½Ó£¬È»ºó·¢ËÍÒª²éѯµÄÓòÃû ºÍÒ»¸ö»Ø³µ»»ÐС£Èç¹ûÒª²éѯ¶à¸öÓòÃû£¬ÇëÓÿոñ·Ö¿ªÈ»ºó´ÓsokectÖжÁÈ¡½á¹û¡£×îºó·þÎñÆ÷½«×Ô¶¯¶Ï¿ªÁ¬½Ó¡£ ÓÃPHPʵÏÖ ´úÂëÈçÏ whoisip.php
<?php $IP = isset($_GET['ip'])?$_GET['ip']:'blank'; echo GetWhois($IP); function GetWhois($IP) function SubStrByTag($firstTag,$secondTag,&$longStr) function ReadSocket($whois,$ip) ?>
whois.arin.net ÃÀÖÞÇø ±±ÃÀ
whois.apnic.net ÑÇÌ«Çø °üÀ¨ÑÇÖ޺ͰĴóÀûÑÇ
whois.ripe.net Å·ÖÞÇø Å·ÖÞ/Öж«(Î÷ÑÇ)/±±·Ç
whois.lacnic.net ÀÃÀÇø À¶¡ÃÀÖ޺ͼÓÀձȺ£ÇøÓò
·ÇÖÞÍøÂçµÄIP²éѯҲÔÚwhois.arin.net
Ïòij¸öwhois·þÎñÆ÷Ìá½»whois²éѯµÄ¹ý³Ì
1.ÑéÖ¤IP(ÓÃ ip2long´úÌæ ereg)
2.Ïò whois.arin.net²éѯ£¬Èç¹ûÊý¾Ý¿âÖÐûÓÐÏà¹ØÐÅÏ¢£¬»á¸ø³öÒ»¸öReferral ServerµÄURL£¬¸ñʽÈçÏÂ
ReferralServer:
È»ºó¸ù¾Ý´ËÐÅÏ¢£¬¼ÌÐø²éѯ
include_once "lang.inc.php";
if (-1 === ip2long($ip))
die(str_replace('%IP%', $IP, $Text['ip_invalid']));
{
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);
}
{
$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;
}
{
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 ?> |
ÆäËûÓÐÃûµÄwhois·þÎñÆ÷
1.Tucows (whois.opensrs.net) Ò»´ÎÖ»ÄÜÒ»¸öÁ¬½Ó
dnsstuff¾ÍÊDzéѯµÄËü
2.BulkRegister (whois.bulkregiter.net) СÐÄËüÁÙʱ·âIP£¬Èç¹û´óÁ¿Á¬½ÓµÄ»°
3.Network Solutions (whois.networksolutions.com) Ò»ÌìÖ»Äܲé1000´Î
4.Go Daddy (whois.godaddy.com)
5.whois.abuse.net
ÆÀÂÛ (0)
All