歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下電信等IP地址匯總並以 網段/掩碼 格式顯示

Linux下電信等IP地址匯總並以 網段/掩碼 格式顯示

日期:2017/2/27 15:59:48   编辑: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地址匯總並以 網段/掩碼 格式顯示
Copyright © Linux教程網 All Rights Reserved