自動產生 電信(CHINANET)/網通(CNCGROUP) IP 列表

  1. #!/usr/local/bin/bash
  2. FILE=/root/ip_apnic
  3. rm -f $FILE
  4. rm -f CNC
  5. rm -f OTHER
  6. rm -f CHINANET
  7. rm -f CRTC
  8. wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest -O $FILE
  9. grep 'apnic|CN|ipv4|' $FILE | cut -f 4,5 -d'|'|sed -e 's/|/ /g' | while read ip cnt
  10. do
  11. #       echo $ip:$cnt
  12.     mask=$(cat << EOF | bc | tail -1
  13. pow=32;
  14. define log2(x) {
  15. if (x<=1) return (pow);
  16. pow--;
  17. return(log2(x/2));
  18. }
  19. log2($cnt)
  20. EOF)
  21.         echo $ip/$mask
  22.         echo $ip/$mask>> cn.net
  23.         NETNAME=`whois $ip | grep ^netname | sed -e 's/.*:      \(.*\)/\1/g' | sed -e 's/-.*//g'`
  24. #       NETNAME=`whois $ip@whois.apnic.net | sed -e '/./{H;$!d;}' -e 'x;/netnum/!d' |grep ^netname | sed -e 's/.*:\(.*\)/\1/g' | sed -e 's/-.*//g'`
  25. echo $NETNAME;
  26.         case $NETNAME in
  27.         CNC)
  28.                 echo $ip/$mask >> CNC
  29.         ;;
  30.         CNCGROUP)
  31.                 echo $ip/$mask >> CNC
  32.         ;;
  33.         CHINANET)
  34.                 echo $ip/$mask >> CHINANET
  35.         ;;
  36.         CHINATELECOM)
  37.                 echo $ip/$mask >> CHINANET
  38.         ;;
  39.         CRTC)
  40.                 echo $ip/$mask >> CRTC
  41.         ;;
  42.         *)
  43.                 echo $ip/$mask >> OTHER
  44.         ;;
  45.         esac
  46. done

可以产生出铁通、电信、网通的IP,私有网络包括教育网的列表Other文件。shell的位置自己改正确。呵呵。

2 条评论 »

  1. cxy152376 said,

    十一月 29, 2007 at 8:58 下午

    你Shell路径怎么这么奇怪啊,

    貌似一般都是/bin/shell

  2. catch said,

    十二月 6, 2007 at 5:46 下午

    我的环境是FreeBSD来的。

    Bash是需要手动安装的。所以目录跟Linux的不一样。

RSS feed for comments on this post · TrackBack URL

发表评论

You must be logged in to post a comment.