文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>获得网通、电信IP地址的shell文件

获得网通、电信IP地址的shell文件

时间:2009-05-04  来源:zeuls

文件: cn_isp_20090505.rar
大小: 150KB
下载: 下载
目前中国的ISP主要有电信和网通两家,由于南方和北方的ISP不同,ISP之间的限制导致南北方用户访各的网站时速度奇慢,要解决这个问题,目前普遍的做法是在路由器短采用WAN口路由器设备。双WAN口路由器都内置了电信,网通的路由,通过申请电信网通各一条线路,然后设置“电信走电信,网通走网通”就可以让本地网络的PC可以做到高效访问电信、网通的站点。
  教育网通常以教育网的国内流量地址表为主:cernet的地址list在这http://www.nic.edu.cn/   ftp://ftp.apnic.net/apnic/stats/   网通、电信、教育网IP查询
获取地址列表,先安装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下载: 稍微修改:
文件: cn_isp.sh.tar.gz
大小: 170KB
下载: 下载
已包含网通Ip、电信Ip等数据,但不再更新,本程序已经在Freebsd上成功运行。   2009年5月5日更新的数据(自己留备份用的):  
-----------------------------------------------------------------
以下为资料保留: 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的分配)。
------------------------------------
相关阅读 更多 +
排行榜 更多 +
大武道最新版

大武道最新版

休闲益智 下载
宝宝巴士手机版(babybus)

宝宝巴士手机版(babybus)

休闲益智 下载
宝宝巴士快乐启蒙游戏

宝宝巴士快乐启蒙游戏

休闲益智 下载