大连天空 发表于 2007-1-10 10:57:32

#!/bin/sh
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 编辑 ]

peterchen 发表于 2007-1-10 11:13:37

支持支持....
页: 1 [2]
查看完整版本: 路由表分布真TMD的乱