XuNei 发表于 2007-1-9 06:11:09

路由表分布真TMD的乱

折腾了1个小时找到2条得到路由表的方法

1.
1、 利用shell程序获取IP地址段
#!/bin/sh
FILE=/root/study/apnic/ip_apnic
rm -f $FILE
wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest -O $FILE
grep 'apnic|CN|ipv4|' $FILE | cut -f 4,5 -d'|'|sed -e 's/|/ /g' | while read ip cnt
do
echo $ip:$cnt
mask=$(cat << EOF | bc | tail -1
pow=32;
define log2(x) {
if (x<=1) return (pow);
pow--;
return(log2(x/2));
}
log2($cnt)
EOF)
echo $ip/$mask>> cn.net
NETNAME=`whois $ip@whois.apnic.net | sed -e '/./{H;$!d;}' -e 'x;/netnum/!d' |grep ^netname | sed -e 's/.*: \(.*\)/\1/g' | sed -e 's/-.*//g'`
case $NETNAME in
CNC)
echo $ip/$mask >> CNCGROUP
;;
CHINANET|CNCGROUP)
echo $ip/$mask >> $NETNAME
;;
CHINANET|CNCGROUP)
echo $ip/$mask >> $NETNAME
;;
CHINATELECOM)
echo $ip/$mask >> CHINANET
;;
*)
echo $ip/$mask >> OTHER
;;
esac
done
2、 可以利用网上的资料,下面是最新的信息,然后利awk行成地址段即可。


方法2:

APNIC是管理亚太地区IP地址分配的机构,它有着丰富准确的IP地址分配库,同时这些信息也是对外公开的!下面就让我们看看如何在Linux下获得一些电信运营商的IP地址分配情况:


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

完成上述编译安装工作后,我们开始获取IP地址段;


中国网通:shell> ./whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP > /var/cnc


中国电信:shell> ./whois3 -h whois.apnic.net -l -i mb MAINT-CHINANET > /var/chinanet


中国铁通:shell> ./whois3 -h whois.apnic.net -l -i mb MAINT-CN-CRTC > /var/crtc


打开获取后的文件可以看到里面的信息非常详细,甚至可以看到各个分公司的负责人、电话、电子邮件等等信息。如果想得到一份整齐干净的IP地址段文件,只要用grep和awk简单过滤就可以了:)

___________________________________________________


使用ripe-whois3获得电信,网通等运营商的ip地址


Linux中下载安装

http://ftp.apnic.net/apnic/dbase/tools/ripe-whois-tools-2.3.tar.gz

tar xzvf ripe-whois-tools-2.3.tar.gz

cd /usr/ports/net/ripe-whois3

make install clean

rehash


查询:

中国网通: whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP

中国电信: whois3 -h whois.apnic.net -l -i mb MAINT-CHINANET

中国铁通: whois3 -h whois.apnic.net -l -i mb MAINT-CNC-CRTC



。。本来自己想用PHP写一个的,可惜啊。功底不深。。折腾半天。头都搞大。。算了。先试试他们的方法
装LINUX 。。。。。。。。。。。。
其中折腾个把小时
。。。。。。。。。。。。。装好
恩?,。。没GCC。。编译毛。。
接着又装GCC。。网络安装真TMD的慢
。。。装好。。好了编译whois3 成功
但是一看,感觉就不对头。IP明显太少

。换方法,第一个方法,能获取IP与子网掩码
但是自动区分不同的ISP的SHELL,好像没起作用。。。

算了歇一会。。。欣赏一下LINUX

[ 本帖最后由 XuNei 于 2007-1-9 06:14 编辑 ]

XuNei 发表于 2007-1-9 06:12:05

个人认为,功底够深的PHPER 绝对能写的出来

zooyo 发表于 2007-1-9 09:10:27

牛人噢!

ssffzz1 发表于 2007-1-9 09:12:10

天才,网上很多完整的不用,偏自己找.奉献精神可佳.

pop-q 发表于 2007-1-9 17:36:21

呵呵,Ubuntu``````不错的东西,就是汉化的不太好,而且好多软件不熟悉,学习的资料也少了点

XuNei 发表于 2007-1-9 19:44:46

原帖由 ssffzz1 于 2007-1-9 09:12 发表
天才,网上很多完整的不用,偏自己找.奉献精神可佳.

路由表不是一成不变的

专卖精品 发表于 2007-1-9 20:09:11

告诉楼主一个办法:

去APNIC网站上下载亚洲全部的IP,然后把其中CN的全选择出来,最后自己用路由追踪看看到底是电信还是网通的,绝对是最全的

host2318 发表于 2007-1-9 20:13:16

楼主的办法.好象刚巧在CU上看见.真巧.

XuNei 发表于 2007-1-9 21:33:12

原帖由 专卖精品 于 2007-1-9 20:09 发表
告诉楼主一个办法:

去APNIC网站上下载亚洲全部的IP,然后把其中CN的全选择出来,最后自己用路由追踪看看到底是电信还是网通的,绝对是最全的

工作量太大了。

还是让电脑自动完成最好。。

用PHP写这个,偶在进行了。。。就是不知道什么时候能写好:L

专卖精品 发表于 2007-1-9 22:10:33

原帖由 XuNei 于 2007-1-9 21:33 发表


工作量太大了。

还是让电脑自动完成最好。。

用PHP写这个,偶在进行了。。。就是不知道什么时候能写好:L

呵呵,其实工作量也不大,一共也就是1000条左右,然后你配合CNNIC的资料,基本上上面都写了是哪个ISP的,如果是一些以前注册的才需要去追踪一下

XuNei 发表于 2007-1-9 22:26:21

原帖由 专卖精品 于 2007-1-9 22:10 发表


呵呵,其实工作量也不大,一共也就是1000条左右,然后你配合CNNIC的资料,基本上上面都写了是哪个ISP的,如果是一些以前注册的才需要去追踪一下

有这个精力,还是写个自动的比较好,毕竟路由表是变动的,
然后一个月,或者一个星期更新一次,这样就能保证自己的表是最新,最全的
铁通,网通,广电 3个表,工作量蛮大

analyst 发表于 2007-1-9 22:52:19

http://bbs.routerclub.com/viewthread.php?tid=9051&highlight=%2Banalyst

XuNei 发表于 2007-1-10 00:38:09

原帖由 analyst 于 2007-1-9 22:52 发表
http://bbs.routerclub.com/viewthread.php?tid=9051&highlight=%2Banalyst

这个方法行不通哎。。

analyst 发表于 2007-1-10 08:17:08

原帖由 XuNei 于 2007-1-10 00:38 发表


这个方法行不通哎。。

可以的啊,我都是这么算的。

XuNei 发表于 2007-1-10 08:29:07

我也不知道为什么。。。
OS:UBUNTU 6.10
这个SHELL 可以获取,也可以FIND到CHINA的IP
但是就是WHOIS查询这步失败
页: [1] 2
查看完整版本: 路由表分布真TMD的乱