获得网通、电信IP地址的shell文件
时间:2009-05-04 来源:zeuls
|
获取地址列表,先安装whois-3:
shell> wget http://ftp.apnic.net/apnic/dbase/tools/ripe-dbase-client-v3.tar.gz
shell> tar xzvf ripe-dbase-client-v3.tar.gz
shell> cd whois-3.1
shell> ./configure
shell> make install clean 完成上述编译安装工作后,我们开始获取IP地址段:
中国网通:shell> /usr/local/bin/whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP > ./cnc
中国电信:shell> /usr/local/bin/whois3 -h whois.apnic.net -l -i mb MAINT-CHINANET > /var/chinanet
中国铁通:shell> /usr/local/bin/whois3 -h whois.apnic.net -l -i mb MAINT-CN-CRTC > /var/crtc 自动获得网通、电信IP的shell程序: http://www.chinaunix.net/jh/30/577598.html 从 wxw2004gl 于:2006-03-21 09:39:20下载: 稍微修改:
|
----------------------------------------------------------------- 以下为资料保留: Iva 回复于:2005-07-15 10:00:48
引用:原帖由 "abel" 发表:
有了這個,就看你如何發揮了..iptable/iproute/dns/squid...firewall 很多東西都會有需要的
我放了一份今天做出來的 List 在下面,日後永不更新,所以你要最新的就得
自己做了
http://211.72.210.251/images/CHI..........
你这段代码有两个问题:
一、EOF后面那个“)”一定要换行。
二、通过whois查询ISP部分有问题,中国电信有部分网段注册的是"CHINATELECOM”,比如:
inetnum: 222.222.0.0 - 222.223.255.255
netname: CHINATELECOM-HE
descr: CHINANET hebei province network
descr: China Telecom
还有可能有其它不规范的netname,我觉得这应该把所有netname和descr字段做为查询目标,你那么多sed搞得太复杂了,grep足够了……:-)
abel 回复于:2005-07-15 10:20:29
引用:原帖由 "Iva" 发表:
你这段代码有两个问题:
一、EOF后面那个“)”一定要换行。
二、通过whois查询ISP部分有问题,中国电信有部分网段注册的是"CHINATELECOM”,比如:
inetnum: 222.222.0.0 - 222.223.255.255
netname: ..........
EOF 不見得一定要換行,因為後面巳經 end of file 了
至於 CHINATELECOM 與 CHINANET 有什麼差別,我並不清楚(我不住在CN)
如果是一樣的,那在 case 那段補上就好
case $NETNAME in
CHINANET|CNCGROUP)
echo $ip/$mask >;>; $NETNAME
;;
#如果你還要其他 ISP , 請在這邊加上去即可,透過 apnic whois , 你可以知道他的 NETNAME
OTHER_NETNAME_here)
;;
#如果兩個是一樣的
CHINATELECOM)
echo $ip/$mask >;>; CHINANET
esac
至於只用 grep 怎麼做,您倒可以試看看怎麼做,我只是提供我的 idea ,並開啟 在 apnic 一般人不知道的 IP 位址發放資訊而以,shell 的做法本來就有很多種可能
---------------------------------------- hsboy 回复于:2005-10-10 02:26:39
abel兄,今天发现您提供的脚本似乎有一点问题,举例来说:
从apnic下载的delegated-apnic-latest中有如下一行:
apnic|CN|ipv4|210.32.0.0|262144|19960904|allocated
按我的理解这一行表示的是210.32.0.0~210.35.255.255的分配。实际上它确实被分配给了中国教育与科研计算机网(CNNIC)。
在您的脚本中会使用:
whois -h 202.12.29.13 210.32.0.0 | sed -e '/./{H;$\!d;}' -e 'x;/netnum/\!d'
这一命令来查询whois以得到它所属ISP,但是实际上whois查询出来的结果却是一个更为细化后的结果:
引用:
inetnum: 210.32.0.0 - 210.32.15.255
netname: ZJMU-CN
descr: ~{Uc=-R=?F4sQ'~}
descr: Zhejiang University (merged former Zhejiang Medical University)
descr: Hangzhou, Zhejiang 310027, China
country: CN
admin-c: HY465-AP
tech-c: HY465-AP
tech-c: CER-AP
remarks: origin AS4538
changed: [email protected] 19961128
changed: [email protected] 20040716
mnt-by: MAINT-CERNET-AP
status: ASSIGNED NON-PORTABLE
source: APNIC
这一段确实是分配给浙江大学的,查询结果没有错误,但是得到的网络名却是“ZJMU"而不是期望中的“CERNET”,这应该与您的本意不一致,请问这是否是一个bug?又该如何解决?谢谢。
类似情况还有
apnic|CN|ipv4|210.78.0.0|8192|19980811|allocated
表示210.78.0.0~210.78.31.255,本来应该属于CNCGROUP,但是在脚本中却查出为SHHY(即210.78.0.0~210.78.0.255的分配)。
------------------------------------
相关阅读 更多 +