获取最新ip库

方法1,简单不过不全

 

安装最新版 whois

 

wget http://ftp.apnic.net/apnic/dbase/tools/ripe-dbase-client-v3.tar.gz

 

tar xzvf ripe-dbase-client-v3.tar.gz

cd whois-3.1

./configure

make

 

cat run.sh 脚本

 

/home/mj/whois-3.1/whois3 -h whois.apnic.net -l -i mb MAINT-CN-CRTC | grep "descr" | grep "Reverse" | awk -F "for" '{if ($2!="") print $2}'| sort -n | awk 'BEGIN{print "acl /"CRTC/" '{'"}{print $1";"}END{print "'}';"}' > crtc_acl.conf

/home/mj/whois-3.1/whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP | grep "descr" | grep "Reverse" | awk -F "for" '{if ($2!="") print $2}'| sort -n | awk 'BEGIN{print "acl /"CNC/" '{'"}{print $1";"}END{print "'}';"}' > cnc_acl.conf

/home/mj/whois-3.1/whois3 -h whois.apnic.net -l -i mb MAINT-CHINANET | grep "descr" | grep "Reverse" | awk -F "for" '{if ($2!="") print $2}'| sort -n | awk 'BEGIN{print "acl /"TELECOM/" '{'"}{print $1";"}END{print "'}';"}' > telecom_acl.conf

 

方法2,速度慢,不过齐全

 

php ip.php 运行脚本

 

<?php $iplist=file_get_contents("http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest"); $ipsplit=split("[/n]+",$iplist); foreach($ipsplit as $val){ if(preg_match("/apnic/|CN/|ipv4/|/",$val)){ list($nic,$CN,$ver,$ip,$mask)=preg_split("//|/",$val); $iparray['set'][]=array("ip"=>$ip,"mask"=>$mask); } } foreach($iparray['set'] as $val){ echo $val['ip']."/t".(32-log($val['mask'],2))."/n"; $flag=GetWhois($val['ip']); switch($flag){ case "CHINANET": $fpc=fopen("CHINANET","a+"); fwrite($fpc,$val['ip']."/".(32-log($val['mask'],2)).";/n"); break; case "CNC": $fpc=fopen("CNC","a+"); fwrite($fpc,$val['ip']."/".(32-log($val['mask'],2)).";/n"); break; break; case "CRTC": $fpc=fopen("CRTC","a+"); fwrite($fpc,$val['ip']."/".(32-log($val['mask'],2)).";/n"); break; default: $fpc=fopen("OTHERS","a+"); fwrite($fpc,$val['ip']."/".(32-log($val['mask'],2)).";/n"); break; } } function GetWhois($IP){ $rootwhois = 'whois.apnic.net'; $buffer1 = ReadSocket($rootwhois,$IP); $flag=""; $buffer_result=nl2br($buffer1); if(preg_match("/CHINANET/",$buffer_result)){ $flag="CHINANET"; return $flag; } if(preg_match("/CNC/",$buffer_result)){ $flag="CNC"; return $flag; } if(preg_match("/CRTC/",$buffer_result)){ $flag="CRTC"; return $flag; } if(!preg_match("/CHINANET|CRTC|CNC/",$buffer_result)){ $flag="OTHERS"; return $flag; } } function ReadSocket($whois,$ip) { $buffer = ''; if (!$sock = fsockopen( $whois, 43, $errNum, $errStr, 20)) { echo "Sorry,Can't fsockopen it"; } else { fputs($sock,"$ip/n"); //$buffer = fread($sock, 8192); while(!feof($sock)) $buffer.=fgets($sock, 8192); fclose($sock); } return $buffer; } ?>

 

你可能感兴趣的:(获取最新ip库)