您的位置:首页 > 其它

从apnic获取电信 网通 铁通等ip的办法

2011-05-07 21:39 363 查看
APNIC是管理亚太地区IP地址分配的机构,它有着丰富准确的IP地址分配库,同时这些信息也是对外公开的!
一、在Linux下获得一些电信运营商的IP地址段的情况:
1、编译安装软件
shell> wget http://ftp.apnic.net/apnic/dbase/tools/ripe-dbase-client-v3.tar.gz shell> tar xzvf ripe-dbase-client-v3.tar.gz
shell> cd whois-3.1
shell> ./configure
shell> make
2、开始获取IP地址段
中国网通:

shell> ./whois3 -h
whois.apnic.net -l -i mb MAINT-CNCGROUP > /root/cncrange.txt
中国电信:

shell> ./whois3 -h
whois.apnic.net -l -i mb MAINT-CHINANET > /root/chinanetrange.txt
中国铁通:

shell> ./whois3 -h
whois.apnic.net -l -i mb MAINT-CN-CRTC > /root/crtcrange.txt

专门获取中国网通路由表

shell> ./whois3 -h
whois.apnic.net -l -i mb MAINT-CNCGROUP-RR > /root/cncrr.txt

注:MAINT-CNCGROUP
为中国网通在apnic的自治系统号

如果想得到具体的服务商比如山东网通的
就用MAINT-CNCGROUP-SD

具体查看http://www.apnic.net/index.html

其他查询选项 请查看 http://www.apnic.net/apnic-info/whois_search
3、过滤提取IP段
以中国网通为例:

shell> cat cncip.txt
| grep “inetnum” | sed ‘s/inetnum: //g’
中国网通路由表

shell> cat
/root/cnciprt.txt | grep route | sed ‘s/route://g’ | sed ‘s/. //g’
用下面的工具进行整理更方便LFHIPConverter

subnettools102

如果做智能dns的话 用下面的方法:

获取中国CNC网通地址列表字段

./whois3 -h
whois.apnic.net -l -i mb MAINT-CNCGROUP | grep “descr” | grep “Reverse” | awk -F
“for” ‘{if ($2!=”") print $2}’| sort -n | awk ‘BEGIN{print “acl /”CNC/”
‘{‘”}{print $1″;”}END{print “‘}’;”}’ > /var/named/cnc_acl.conf
获取中国电信CTC 地址列表字段

./whois3 -h
whois.apnic.net -l -i mb MAINT-CHINANET | grep “descr” | grep “Reverse” | awk -F
“for” ‘{if ($2!=”") print $2}’| sort -n | awk ‘BEGIN{print “acl /”CTC/”
‘{‘”}{print $1″;”}END{print “‘}’;”}’ > /var/named/ctc_acl.conf

二、使用ripe-whois3获得电信,网通等运营商的ip地址(以下方法没有测试,摘抄于网络)
Linux中下载安装 http://ftp.apnic.net/apnic/dbase/tools/ripe-whois-tools-2.3.tar.gz tar xzvf ripe-whois-tools-2.3.tar.gz
cd /usr/ports/net/ripe-whois3
make install clean
rehash
查询:
中国网通: whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP
中国电信: whois3 -h whois.apnic.net -l -i mb MAINT-CHINANET
中国铁通: whois3 -h whois.apnic.net -l -i mb MAINT-CNC-CRTC
三、自动获取任意国家地区ip段(需要自己根据实际情况修改)
#!/bin/sh
FILE=./ip_apnic
rm -f $FILE
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@whois.apnic.net | 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 $ip/$mask >> $NETNAME
;;
#如果你還要其他 ISP , 請在這邊加上去即可,透過 apnic whois , 你可以知道他的
NETNAME
OTHER_NETNAME_here)
;;
esac
done
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐