开发学院WEB开发PHP PHP 执行 whois 操作的代码 阅读

PHP 执行 whois 操作的代码

 2012-05-17 07:22:57 来源:WEB开发网   
核心提示: 要获取指定IP地址的whois数据,可使用如下代码php;"><?php/**Program to perform ip whoisSilver Moonm00n.silv3r@gmail.com*/$ip = "";$whois = get_whois($


	Program to perform ip whois
	Silver Moon

$ip = "";

$whois = get_whois($ip);

echo "<pre>$whois</pre>";

	Get the whois content of an ip by selecting the correct server
function get_whois($ip)
	$w = get_whois_from_server('whois.iana.org' , $ip);

	preg_match('@whois\.[\w\.]*@si' , $w , $data);

	$whois_server = $data[0];

	//echo $whois_server;

	//now get actual whois data
	$whois_data = get_whois_from_server($whois_server , $ip);

	return $whois_data;

	Get the whois result from a whois server
	return text
function get_whois_from_server($server , $ip)
	$data = '';

	#Before connecting lets check whether server alive or not

	#Create the socket and connect
	$f = fsockopen($server, 43, $errno, $errstr, 3);	//Open a new connection
		return '';

	#Set the timeout limit for read
	if(!stream_set_timeout($f , 3))
		die('Unable to set set_timeout');	#Did this solve the problem ?

	#Send the IP to the whois server
		fputs($f, "$ip\r\n");

		Theory : stream_set_timeout must be set after a write and before a read for it to take effect on the read operation
		If it is set before the write then it will have no effect : http://in.php.net/stream_set_timeout

	//Set the timeout limit for read
	if(!stream_set_timeout($f , 3))
		die('Unable to stream_set_timeout');	#Did this solve the problem ?

	//Set socket in non-blocking mode
	stream_set_blocking ($f, 0 );

	//If connection still valid
		while (!feof($f))
			$data .= fread($f , 128);

	//Now return the data
	return $data;
# Query terms are ambiguous.  The query is assumed to be:
#     "n"
# Use "?" to get help.

# The following results may also be obtained via:
# http://whois.arin.net/rest/nets;q=

NetRange: -
NetName:        RRNY
NetHandle:      NET-74-64-0-0-1
Parent:         NET-74-0-0-0-0
NetType:        Direct Allocation
RegDate:        2006-03-27
Updated:        2007-01-29
Ref:            http://whois.arin.net/rest/net/NET-74-64-0-0-1

OrgName:        Road Runner HoldCo LLC
OrgId:          RRNY
Address:        13820 Sunrise Valley Drive
City:           Herndon
StateProv:      VA
PostalCode:     20171
Country:        US
RegDate:        2000-09-28
Updated:        2011-07-06
Comment:        Allocations for this OrgID serve Road Runner residential customers out of the New York City, NY and Syracuse, NY RDCs.
Ref:            http://whois.arin.net/rest/org/RRNY

ReferralServer: rwhois://ipmt.rr.com:4321

OrgTechHandle: IPTEC-ARIN
OrgTechName:   IP Tech
OrgTechPhone:  +1-703-345-3416
OrgTechEmail:  abuse@rr.com
OrgTechRef:    http://whois.arin.net/rest/poc/IPTEC-ARIN

OrgAbuseHandle: ABUSE10-ARIN
OrgAbuseName:   Abuse
OrgAbusePhone:  +1-703-345-3416
OrgAbuseEmail:  abuse@rr.com
OrgAbuseRef:    http://whois.arin.net/rest/poc/ABUSE10-ARIN

# ARIN WHOIS data and services are subject to the Terms of Use
# available at: https://www.arin.net/whois_tou.html

Tags:PHP 执行 whois

编辑录入:爽爽 [复制链接] [打 印]