搜档网
当前位置:搜档网 › 电信移动网通铁通IP地址分配段(Linux下获得运营商的IP地址分配情况)

电信移动网通铁通IP地址分配段(Linux下获得运营商的IP地址分配情况)

电信移动网通铁通IP地址分配段(Linux下获得运营商的IP地址分配情况)
电信移动网通铁通IP地址分配段(Linux下获得运营商的IP地址分配情况)

电信\移动\网通铁通IP地址分配段(Linux下获得运营商的IP地址分配情况)

由itpapa? 2011-03-05 16:08

时搞一些跨网段的工程和应用,需要尽量准确的知道电信、网通、铁通等电信运营商的IP 地址段分配情况,可网上的资料不但很少,而且经常都是N个月前的过期资料……

APNIC是管理亚太地区IP地址分配的机构,它有着丰富准确的IP地址分配库,同时这些信息也是对外公开的!下面就让我们看看如何在Linux下获得一些电信运营商的IP地址分配情况:

shell> wget https://www.sodocs.net/doc/295325021.html,/apnic/dbase/tools/ ... -v3.tar.gz

shell> tar xzvf ripe-dbase-client-v3.tar.gz

shell> cd whois-3.1

shell> ./configure

shell> make

完成上述编译安装工作后,我们开始获取IP地址段;

中国网通:shell> ./whois3 -h https://www.sodocs.net/doc/295325021.html, -l -i mb MAINT-CNCGROUP > /var/cnc

中国电信:shell> ./whois3 -h https://www.sodocs.net/doc/295325021.html, -l -i mb MAINT-CHINANET >

/var/chinanet

中国铁通:shell> ./whois3 -h https://www.sodocs.net/doc/295325021.html, -l -i mb MAINT-CN-CRTC > /var/crtc

打开获取后的文件可以看到里面的信息非常详细,甚至可以看到各个分公司的负责人、电话、电子邮件等等信息。如果想得到一份整齐干净的IP地址段文件,只要用grep和awk 简单过滤就可以了。

#自动生成IP段脚本

vi apnic

贴入以下的内容:(是一个相当优秀的脚本)

#!/bin/sh

FILE=./ip_apnic

rm -f $FILE

wget https://www.sodocs.net/doc/295325021.html,/apnic/stats/apnic/ ... nic-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>> https://www.sodocs.net/doc/295325021.html,

NETNAME=`whois $ip@https://www.sodocs.net/doc/295325021.html, | sed -e '/./{H;$!d;}' -e 'x;/netnum/!d' |grep ^netname | sed -e 's/.*: \(.*\)/\1/g' | sed -e 's/-.*//g'`

NETNAME=`echo $NETNAME | sed -e 's/cJ/ /g' | awk -F' ' '{ printf $1; }'`

case $NETNAME in

CNC)

echo $ip/$mask >> CNCGROUP

;;

CHINANET|CNCGROUP)

echo $ip/$mask >> $NETNAME

;;

CHINATELECOM)

echo $ip/$mask >> CHINANET

;;

*)

echo $ip/$mask >> OTHER

;;

esac

done

chmod 744 apnic

./apnic

#注:红色部分为网络名可通过WHOIS查询该网段的网络名是什么,即查询是电信还是网通或移动或其它网络的标式,因此我们可以简单地修改这个脚本就可以得到中国其它运营商的网络IP段分配列表,

在当目前目录就会成以下三个文件

CHINANET CNCGROUP OTHER

#命令行获得IP地址段并生成DNS需要ACL.CONF文件方法,以获得移动IP段为例

/path/whois3 -h https://www.sodocs.net/doc/295325021.html, -l -i mb MAINT-CN-CMCC | grep "descr" | grep "Reverse" | awk -F "for" '{if ($2!="") print $2}'| sort -n | awk 'BEGIN{print "acl \"MOBILE\" '{'"}{print $1";"}END{print "'}';"}' > /var/mobile_acl.conf

#红色部分很重要,这个值是代表哪个网络的如"MAINT-CN-CMCC"是移动,"MAINT-CHINANET"是电信,以此类推

相关主题