转载请注明地址:http://blog.csdn.net/kumu_Linux
APNIC是管理亚太地区IP地址分配的机构,它有着丰富准确的IP地址分配库,同时这些信息也是对外开放的,whois3就可以在Linux帮助我们获取中国电信、网通、铁通的地址段:
whois3 install
=========================================================================# wget http://ftp.apnic.net/apnic/dbase/tools/ripe-dbase-client-v3.tar.gz
# tar xf ripe-dbase-client-v3.tar.gz -C /usr/local/src/
# cd /usr/local/src/whois3-3.2.2
# ./configure
# make && make install
=========================================================================
获取网通、电信、铁通ip网段
=========================================================================
# whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP > cnc
# whois3 -h whois.apnic.net -l -i mb MAINT-CHINANET > chinanet
# whois3 -h whois.apnic.net -l -i mb MAINT-CN-CRTC > crtc
=========================================================================
处理获取数据
=========================================================================
# cat cnc | grep inetnum | awk -F: '{print $2}' | sed -r 's/( *)(.*)/\2/' | tr -d " " > cnc_ipcalc
# cat chinanet | grep inetnum | awk -F: '{print $2}' | sed -r 's/( *)(.*)/\2/' | tr -d " " > chinaet_ipcalc
# cat crtc | grep inetnum | awk -F: '{print $2}' | sed -r 's/( *)(.*)/\2/' | tr -d " " > crtc_ipcalc
# cat crtc_ipcalc //处理成类似如下的格式
... ...
61.236.250.0-61.236.250.255
61.236.251.0-61.236.251.255
... ...
=========================================================================
ipcalc是Linux下的IP/子网计算器
RHEL自带的ipcalc版本较低,去官网下载最新的ipcalc即可
# wget http://jodies.de/ipcalc-archive/ipcalc-0.41.tar.gz
# tar xf ipcalc-0.41.tar.gz -C /usr/local/src
# /usr/local/src/ipcalc-0.41/ipcalc 61.236.250.0-61.236.250.255 | grep -v dea
//以下的结果就是我们需要的结果
61.236.250.0/24
#
# cat ipcalc.sh //查看如下转换脚本
#!/bin/bash ########### ##by kumu## ########### while (( $# > 0 )) do while read line do /usr/local/src/ipcalc-0.41/ipcalc $line | grep -v dea done < $1 >> $1.txt shift done ## ./ipcalc.sh cnc_ipcalc chinanet_ipcalc crtc_ipcalc
# ls *.txt
chinanet_ipcalc.txt cnc_ipcalc.txt crtc_ipcalc.txt
# tail -5 cnc_ipcalc.txt
210.22.0.0/16
210.21.0.0/16
218.106.240.0/20
210.13.64.0/18
220.250.32.0/19
#
到此就完成所有的转换了,国内IP地址汇总并以 网段/掩码 格式显示
参考:www.commandlinefu.com/commands/matching/ipcalc/aXBjYWxj/sort-by-votes
http://mgmt.bjenet.cn/wiki/doku.php/freebsd/whois_get_addresses