經過whois查詢APNIC獲取三大運營商公網IP段

引言:數據庫


自從中國電信拆分紅北網通、南電信之後,開始了各自資源的壟斷.成就了目前這種互聯不互通的奇怪局面,連信產部都無能爲力.爲了解決南北互聯互通的問題,開始出現了智能DNS,這須要準確的知道電信和網通及其它運營商的IP分段狀況。網絡

通常有以下兩種辦法能夠獲得各運營商的IP段:
1 經過導出各BGP路由器的路由表,獲得各運營商的IP段.
2 經過whois查詢APNIC數據庫信息.APNIC是管理亞太地區IP地址分配的機構,它有着豐富準確的IP地址分配庫,同時這些信息也是對外公開的!
ide


下面就讓咱們看看如何在Linux下得到一些電信、網通、等運營商的IP地址分配狀況:
首先:確保Linux系統能夠上Internet
[root@rhel6-client ~]# ping www.baidu.com
PING www.a.shifen.com (180.97.33.107) 56(84) bytes of data.
64 bytes from 180.97.33.107: icmp_seq=1 ttl=55 time=8.36 ms
64 bytes from 180.97.33.107: icmp_seq=2 ttl=55 time=5.98 ms
64 bytes from 180.97.33.107: icmp_seq=3 ttl=55 time=6.33 ms
64 bytes from 180.97.33.107: icmp_seq=4 ttl=55 time=10.6 ms
64 bytes from 180.97.33.107: icmp_seq=5 ttl=55 time=8.84 ms
64 bytes from 180.97.33.107: icmp_seq=6 ttl=55 time=8.80 ms
^C
--- www.a.shifen.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5481ms
rtt min/avg/max/mdev = 5.980/8.155/10.608/1.586 ms

其次:下載whois客戶端工具
[root@rhel6-client ~]# wget http://ftp.apnic.net/apnic/dbase/tools/ripe-dbase-client-v3.tar.gz
而後解壓、編譯和安裝
[root@rhel6-client ~]# tar -zxvf ripe-dbase-client-v3.tar.gz
[root@rhel6-client ~]#cd whois-3.1/
[root@rhel6-client ~]#./configure
[root@rhel6-client ~]#make && make install
最後:獲取運營商IP段
[root@rhel6-client ~]#./whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP > /root/cnc
[root@rhel6-client ~]#./whois3 -h whois.apnic.net -l -i mb MAINT-CHINANET > /root/chinanet
[root@rhel6-client ~]#./whois3 -h whois.apnic.net -l -i mb MAINT-CN-CRTC > /root/crtc
[root@rhel6-client ~]# ls -al
total 1640
dr-xr-x---.  6 root root    4096 May 28 06:08 .
dr-xr-xr-x. 22 root root    4096 May 27 20:21 ..
-rw-r--r--   1 root root  420038 May 28 06:08 chinanet
-rw-r--r--   1 root root  408469 May 28 06:05 cnc
-rw-r--r--   1 root root  384472 May 28 06:10 crtc
-rw-r--r--   1 root root   26342 Dec 10  2014 ripe-dbase-client-v3.tar.gz
drwxrwxrwx   2  512  5020   4096 May 28 06:03 whois-3.1
依次獲取電信、網通、鐵通IP地址段信息
工具

若是想獲得具體的服務商好比江蘇省電信的IP池,就把mb的值改成MAINT-CHINANET-JS,或者是遼寧網通,那就改成MAINT-CNCGROUP-LN。能夠先查看各運營商的網絡IP地址,而後在官方網站上查看這個地址歸屬的運營商組名。

打開獲取後的文件能夠看到裏面的信息很是詳細,甚至能夠看到各個分公司的負責人、電話、電子郵件等等信息。若是想獲得一份整齊乾淨的IP地址段文件,只要用grep和awk簡單過濾就能夠了。

獲取中國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

grep過程:

grep "inetnum" cnc-he > cnc-grep

最終結果出來前把inetnum字段去掉會更清楚一些:(sed過程)

sed 's/inetnum: //g' cnc-grep

sed 's/inetnum: //g' chinanetgrep

sed 's/inetnum: //g' crtcgrep

more cnc-he | grep "descr" | grep "Reverse" | awk -F "for" '{if ($2!="") print $2}'| sort -n | awk 'BEGIN{print "acl \"cnc-he\" '{'"}{print $1";"}END{print "'}';"}' > /var/named/cnc.he 使用ripe-whois3得到電信,網通等運營商的ip地址
網站

相關文章
相關標籤/搜索