從apnic獲取電信網(wǎng)通鐵通等ip的辦法
APNIC 是管理亞太地區(qū)IP 地址分配的機(jī)構(gòu),它有著豐富準(zhǔn)確的IP 地址分配庫(kù),同時(shí)這些信息也是對(duì)外公開的!一、在Linux 下獲得一些電信運(yùn)營(yíng)商的IP 地址段的情況:1、編譯安裝軟件shell>
APNIC 是管理亞太地區(qū)IP 地址分配的機(jī)構(gòu),它有著豐富準(zhǔn)確的IP 地址分配庫(kù),同時(shí)這些信息也是對(duì)外公開的!
一、在Linux 下獲得一些電信運(yùn)營(yíng)商的IP 地址段的情況:
1、編譯安裝軟件
shell> wget
shell> cd whois-3.1
shell> ./configure
shell> make
2、開始獲取IP 地址段
中國(guó)網(wǎng)通:
shell> ./whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP > /root/cncrange.txt
中國(guó)電信:
shell> ./whois3 -h whois.apnic.net -l -i mb MAINT-CHINANET > /root/chinanetrange.txt
中國(guó)鐵通:
shell> ./whois3 -h whois.apnic.net -l -i mb MAINT-CN-CRTC > /root/crtcrange.txt
專門獲取中國(guó)網(wǎng)通路由表
shell> ./whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP-RR > /root/cncrr.txt
注:MAINT-CNCGROUP 為中國(guó)網(wǎng)通在apnic 的自治系統(tǒng)號(hào)
如果想得到具體的服務(wù)商比如山東網(wǎng)通的 就用MAINT-CNCGROUP-SD 具體查看http://www.apnic.net/index.html
其他查詢選項(xiàng) 請(qǐng)查看 http://www.apnic.net/apnic-info/whois_search
3、過(guò)濾提取IP 段
以中國(guó)網(wǎng)通為例:
shell> cat cncip.txt | grep “inetnum” | sed ‘s/inetnum: //g’ 中國(guó)網(wǎng)通路由表
shell> cat /root/cnciprt.txt | grep route | sed ‘s/route://g’ | sed ‘s/. //g’
用下面的工具進(jìn)行整理更方便LFHIPConverter subnettools102
如果做智能dns 的話 用下面的方法:
獲取中國(guó)CNC 網(wǎng)通地址列表字段
./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
獲取中國(guó)電信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獲得電信,網(wǎng)通等運(yùn)營(yíng)商的ip 地址(以下方法沒有測(cè)試,摘抄于網(wǎng)絡(luò))
Linux 中下載安裝
cd /usr/ports/net/ripe-whois3
make install clean
rehash
查詢:
中國(guó)網(wǎng)通: whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP
中國(guó)電信: whois3 -h whois.apnic.net -l -i mb MAINT-CHINANET
中國(guó)鐵通: whois3 -h whois.apnic.net -l -i mb MAINT-CNC-CRTC
三、自動(dòng)獲取任意國(guó)家地區(qū)ip 段(需要自己根據(jù)實(shí)際情況修改)
#!/bin/sh
FILE=./ip_apnic
rm -f $FILE
wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest -O $FILE
grep ‘a(chǎn)pnic|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 , 請(qǐng)?jiān)谶@邊加上去即可, 透過(guò) apnic whois , 你可以知道他的 NETNAME
OTHER_NETNAME_here)
;;
esac
done