Chinaunix首页 | 论坛 | 博客
  • 博客访问: 750220
  • 博文数量: 741
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-18 11:18
文章分类

全部博文(741)

文章存档

2011年(1)

2008年(740)

我的朋友

分类:

2008-09-18 11:31:41

我是通过mnt-by来区分网通、电信等的路由
好像这样写有问题
还请高手指正

QUOTE:

#!/bin/sh
FILE=./apnic
rm -f $FILE
wget -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 ^mnt-by | sed -e 's/.*:      \(.*\)/\1/g' | sed -e 's/-.*//g'`
        case $NETNAME in
        CNC)
                echo $ip/$mask >> CNCGROUP
        ;;
        CHINANET|CNCGROUP)
                echo $ip/$mask >> $NETNAME
        ;;
        CHINANET|CNCGROUP)
                echo $ip/$mask >> $NETNAME
        ;;
        CHINATELECOM)
                echo $ip/$mask >> CHINANET
        ;;
        *)
                echo $ip/$mask >> OTHER
        ;;
        esac
done
或者求教以下获取方法

QUOTE:

wget
tar xzvf ripe-dbase-client-v3.tar.gz
cd whois-3.1
./configure
make
make install
编译安装后,我们可以通过以下命令来获取某个运营商的IP地址段;

中国网通:
./whois3 -h whois.apnic.net -l -imb MAINT-CNCGROUP>/var/cnc

中国电信:
./whois3 -h whois.apnic.net -l -imb MAINT-CHINANET>/var/chinanet

中国铁通:
./whois3 -h whois.apnic.net -l -imb MAINT-CN-CRTC>/var/crtc

打开获取后的文件可以看到里面的信息非常详细,甚至可以看到各个分公司的负责人、电话、电子邮件等等信息。如果想得到一份整齐干净的IP地址段文件,只要用grep和awk简单过滤就可以了
如果想得到具体的服务商比如江苏省电信的IP池,就把mb的值改为MAINT-CHINANET-JS,或者是辽宁网通,那就改为MAINT-CNCGROUP-LN
以上命令如何过滤成路由表?




11

[ 本帖最后由 dboypq 于 2008-6-24 09:06 编辑 ]

--------------------next---------------------

阅读(504) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~