Heim > php教程 > PHP源码 > PHP 执行 whois 操作的代码

PHP 执行 whois 操作的代码

PHP中文网
Freigeben: 2016-06-01 14:33:16
Original
1200 Leute haben es durchsucht

要获取指定IP地址的whois数据,可使用如下代码

<?php
/**
    Program to perform ip whois
    Silver Moon
    m00n.silv3r@gmail.com
*/
 
$ip = "74.65.112.23";
 
$whois = get_whois($ip);
 
echo "<pre class="brush:php;toolbar:false">$whois
"; /** 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 if(!$f) { 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 if($f) { 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 if($f) { while (!feof($f)) { $data .= fread($f , 128); } } //Now return the data return $data; }
Nach dem Login kopieren

执行结果

#
# Query terms are ambiguous.  The query is assumed to be:
#     "n 74.65.112.23"
#
# Use "?" to get help.
#
 
#
# The following results may also be obtained via:
# http://whois.arin.net/rest/nets;q=74.65.112.23?showDetails=true&showARIN=false&ext=netref2
#
 
NetRange:       74.64.0.0 - 74.79.255.255
CIDR:           74.64.0.0/12
OriginAS:
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
#
Nach dem Login kopieren


Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage