有些时候需要针对某个国家做IP限制,或者是通过shadowsocks爬梯子时需要通过IP列表来做智能代理,国家ip地址列表可以通过apnic获取。

下面是获取中国国内ip列表的shell脚本:
#!/bin/sh
FILE=ip_apnic 
rm -f $FILE 
rm -f cn.net 
wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest -O $FILE 
grep 'apnic|CN|ipv4|' $FILE | cut -f 4,5 -d'|'|sed -e 's/|/ /g' | while read ip cnt
do 
 pow=32;
 x=$cnt; 
 while [ $x -gt 1 ]; do
  x=$((x/2));
  pow=$((pow-1))
 done
 mask=$pow
 echo $ip/$mask 
 echo $ip/$mask>> cn.net
done
执行完得到cn.net文件,包含了国内所有IP地址。