FILE=./ip_apnic
rm -f $FILE
rm -f CHINANET.rsc CNCGROUP.rsc OTHER.china
touch CHINANET.rsc CNCGROUP.rsc
echo '/ip route rule' > CHINANET.rsc
echo '/ip route rule' > CNCGROUP.rsc
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
echo $ip:$cnt
mask=$(cat << EOF | bc | tail -1
pow=32;
define log2(x) {
if (x<=1) return (pow);
pow--;
return(log2(x/2));
}
log2($cnt)
EOF
)
echo $ip/$mask>> cn.net
NETNAME=`whois $ip | sed -e '/./{H;$!d;}' -e 'x;/netnum/!d' |grep ^netname | sed -e 's/.*: \(.*\)/\1/g' | sed -e 's/-.*//g'`
case $NETNAME in
CHINANET|CNCGROUP)
echo add dst-address=$ip/$mask action=lookup table=$NETNAME >> $NETNAME.rsc
;;
CHINANET|CNCGROUP)
echo add dst-address=$ip/$mask action=lookup table=$NETNAME >> $NETNAME.rsc
;;
*)
echo $ip/$mask >> OTHER.china
;;
esac
done
上述程序在ubuntu-6.10下面测试通过,它会自动生成CHINANET.rsc和CNCGROUP.rsc,然后通过FTP上传到ROS中,再导入即可。
但是通过比较发现,有些IP地址表取不出来的,现在已经找到另外的方法可以获取到其它的IP段了,正在测试中,弄好了会发出来给大家分享的。
[ 本帖最后由 大连天空 于 2007-1-10 11:06 编辑 ] 支持支持....
页:
1
[2]