有些时候需要针对某个国家做IP限制,或者是通过shadowsocks爬梯子时需要通过IP列表来做智能代理,需要用到针对某个国家的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地址。