Shell 檔如下, wget 所取得的檔案,若您有心仔細看一下即可知內容
( http://211.72.210.251/images/cn_isp.sh )
#!/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
CHINANET|CNCGROUP)
echo $ip/$mask >;>; $NETNAME
;;
#如果你還要其他 ISP , 請在這邊加上去即可,透過 apnic whois , 你可以知道他的 NETNAME
OTHER_NETNAME_here)
;;
esac
done
再來,你只要看 CHINANET 或 CNCGROUP 這兩個檔案內容即可以知道其所有的 IP List 了,若需要其他 ISP , 上面代碼以給您足夠空間自己發揮
[root@log images]# cat CHINANET
58.32.0.0/13
58.40.0.0/15
58.42.0.0/16
58.44.0.0/14
58.48.0.0/13
58.208.0.0/12
59.32.0.0/13
59.40.0.0/15
59.42.0.0/16
59.44.0.0/14
59.48.0.0/16
...以下略
有了這個,就看你如何發揮了..iptable/iproute/dns/squid...firewall 很多東西都會有需要的
我放了一份今天做出來的 List 在下面,日後永不更新,所以你要最新的就得
自己做了
http://211.72.210.251/images/CHINANET
http://211.72.210.251/images/CNCGROUP
教育網(CERNET) ? 我不知道,他的 IP Source 很亂,由 ARIN 的也有 APNIC
的,而且 NETNAME 還不太一致, 就懶得做了
回复于:2005-07-14 19:00:57
define log2(x) {
if (x<=1) return (pow);
pow--;
return(log2(x/2));
}
这段运用递归调用的方式计算 mask 的 code 令人拍案叫绝!!!!
回复于:2005-07-15 09:47:32
引用:原帖由 "platinum"]这段运用递归调用的方式计算 mask 的 code 令人拍案叫绝!!!! 发表:
:D 這是我在 man bc 時,得到的靈感,不然在 shell 中計算起來
還可有點費事
回复于:2005-07-15 10:30:31
CHINANET 和 CHINATELECOM 都是電信嗎 ?
回复于:2005-07-15 11:19:07
是
回复于:2005-07-15 11:42:57
#!/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
)
# 有朋友說在 FreeBSD 下, EOF 後一定要 NL ,Linux 下有無 NL 並無差別
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
CHINANET|CNCGROUP)
echo $ip/$mask >;>; $NETNAME
;;
#修正這裏的 CHINATELECOM = CHINANET
CHINATELECOM)
echo $ip/$mask >;>;CHINANET
#如果你還要其他 ISP , 請在這邊加上去即可,透過 apnic whois , 你可以知道他的 NETNAME
OTHER_NETNAME_here)
;;
esac
done
修正後結果,那段取段落的 sed 可以不用, 因為 apnic 有一個更細的 whois file,才會用到
回复于:2005-07-15 13:04:33
cernet的地址list在这http://www.nic.edu.cn/RS/ipstat/
回复于:2005-07-15 13:34:50
为什么我执行了,
在/root/study/apnic/ip_apnic 文件中的内容是
http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-lates
这个网页里的内容呢。根本没经过处理。
回复于:2005-07-15 13:39:26
引用:原帖由 "mii_tool" 发表: 为什么我执行了,
在/root/study/apnic/ip_apnic 文件中的内容是
http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-lates
这个网页里的内容呢。根本没经过处理。
產出的是 CHINANET CNCGROUP 兩個檔案
不是您指的那個,因為那個是 source, 原則上不動
回复于:2005-07-15 13:41:11
引用:原帖由 "bhuang"]cernet的地址list在这http://www.nic.edu.cn/RS/ipstat/ 发表:
:roll: 你看得到內容 ? 我看不到耶
我本來也有找到這個,但是跟本看不到,不是回應 403 , 就是跳轉回首頁
回复于:2005-07-15 14:16:26
引用:原帖由 "abel" 发表:
:roll: 你看得到內容 ? 我看不到耶
我本來也有找到這個,但是跟本看不到,不是回應 403 , 就是跳轉回首頁
你也许不在教育网内
回复于:2005-07-15 14:35:42
引用:原帖由 "webfox" 发表:
你也许不在教育网内
是的,更甚者,我也不在大陸
回复于:2005-07-15 14:46:53
引用:原帖由 "abel" 发表:
修正後結果,那段取段落的 sed 可以不用, 因為 apnic 有一個更細的 whois file,才會用到
非常感谢able兄!正要用呢!
回复于:2005-07-16 14:29:54
引用:原帖由 "abel" 发表:
產出的是 CHINANET CNCGROUP 兩個檔案
不是您指的那個,因為那個是 source, 原則上不動
ip_apnic 是文件?还是文件夹?
可否给我一个你在LINUX下写好的SHELL。我感觉我按照你的那个写的,但是不知道哪错了。就是不对,
我MSN已经加你为好友了。请发e-mail到我MSN吧。我叫 mii_tool@hotmail.com.cn
回复于:2005-07-19 19:45:39
引用:原帖由 "mii_tool" 发表:
ip_apnic 是文件?还是文件夹?
可否给我一个你在LINUX下写好的SHELL。我感觉我按照你的那个写的,但是不知道哪错了。就是不对,
我MSN已经加你为好友了。请发e-mail到我MSN吧。我叫 mii_tool@hotmail.com.cn
ip_apnic是文件。
abel贴的代码可能由于换行的原因,的确会出错。
1、第六行的cnt 应该在第五行的最后。
2、最后的
echo $ip/$mask >;>;CHINANET 的下一行漏了“;;”
回复于:2005-07-19 19:48:29
另外,请教abel兄,bc和tail -1的作用是什么呢?
mask不是在后面算出来了吗?
一直看不明白这两个的作用是什么。
还有另一个问题,ip_apnic文件里面为什么没有美国的IP呢?
回复于:2005-07-19 21:46:45
你的msn地址是 mii_tool@hotmail.com.cn ?? 有cn阿
回复于:2005-07-20 01:00:46
教育网在联系人那里会有“net.edu.cn”这样的mail地址的
回复于:2005-07-20 10:11:12
joecon 感謝您的糾正,的確,問題主因是貼上來時,換行沒有處理好所致
另外, 如果一個數字是 256, 想知道它是2的 N 次方
但 bc 並沒有 log function , 所以要自己算
mask=$(cat << EOF | bc | tail -1
# prefix, 從 32 來減
pow=32;
# log function base 2
define log2(x) {
# 小於等於1就回傳,如果一開始x 是 256 , 那會回傳 1 2 3 4 5 6 7 8 (數字
# 間的空白有換行,但我們只要 8 這個數字,所以會有 tail -1 的需要
if (x<=1) return (pow);
pow--;
return(log2(x/2));
}
log2($cnt)
EOF
)
所以,bc 用處主要在處理, 像 65536 是 2^N 次方中的這個 N 為何
而 mask (prefix) 也就為 32-N 的值了
另外,美國的 ip 要到 ARIN 查,
http://www.arin.net/whois 或
ftp://ftp.arin.net/
歐洲的到 RIPE 等等
我的 shell 檔則放在
http://211.72.210.251/images/cn_isp.sh
回复于:2005-07-20 18:15:32
引用:原帖由 "abel" 发表: 所以,bc 用處主要在處理, 像 65536 是 2^N 次方中的這個 N 為何
而 mask (prefix) 也就為 32-N 的值了
另外,美國的 ip 要到 ARIN 查,
http://www.arin.net/whois 或
ftp://ftp.arin.net/
歐洲的到 RIPE 等..........
哦,明白了.没想到bc还可以这样用!
另外大家要注意第2个"EOF"后面不能有空格,不然会出一个(standard_in) 8: illegal character: O
(standard_in) 8: parse error
的错.
最后还想问abel一个问题:
ip_apnic文件中我们提取出来的"cnt"变量可以算出mask,不过这个变量的值(比如512,65536,131072等),这些2的倍数代表什么意思呢?
回复于:2005-07-20 18:32:55
引用:p_apnic文件中我们提取出来的"cnt"变量可以算出mask,不过这个变量的值(比如512,65536,131072等),这些2的倍数代表什么意思呢?
代表 APNIC 發給它們多少個連續的 IP
512 是兩個 class C (/24 x2 =/23) , 65536 等於一個 B 的量 (/16) 等.類推..
回复于:2005-07-20 18:45:52
http://www.apnic.net/member/feesinfo.html
http://www.apnic.net/docs/corpdocs/member-fee-schedule.html
這兩家公司,一年最多各交給 APNIC USD 40000 元(年費)
從 APNIC 拿到一個 IP 不過 USD 0.02 元(一 次性費用)
可是以 ADSL 的收費費標準來看,實在太貴了
回复于:2005-07-21 11:42:35
谢谢abel.
从本贴中学到很多东西!
回复于:2005-07-25 14:21:49
#!/bin/sh
FILE=/usr/local/ming/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
)
# 有朋友說在 FreeBSD 下, EOF 後一定要 NL ,Linux 下有無 NL 並無差別
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
CHINANET|CNCGROUP)
echo $ip/$mask >;>; $NETNAME
;;
#修正這裏的 CHINATELECOM = CHINANET
CHINATELECOM)
echo $ip/$mask >;>;CHINANET
;;
#如果你還要其他 ISP , 請在這邊加上去即可,透過 apnic whois , 你可以知道他的 NETNAME
OTHER_NETNAME_here)
;;
esac
done
运行时出现以下错误 :
./dianxi.sh: 36: Syntax error: end of file unexpected (expecting ")")
操作系统 : Freebsd5.3
回复于:2005-07-25 14:29:02
引用:http://211.72.210.251/images/cn_isp.sh
你直接用這個嗎 ? 或是 Copy Code 裏的東西,若是後者,每行最尾你會多一個空白
回复于:2005-07-25 14:30:28
没有,我就把你论坛里的脚本COPY了一下,
回复于:2005-07-25 14:34:41
刚刚重新下了 http://211.72.210.251/images/cn_isp.sh 这个脚本,直接运行还是一样,同样的错误,不知道楼主用的是什么操作系统?
回复于:2005-07-25 14:41:44
引用:原帖由 "ming312"]刚刚重新下了 http://211.72.210.251/images/cn_isp.sh 这个脚本,直接运行还是一样,同样的错误,不知道楼主用的是什么操作系统? 发表:
bash RH9
回复于:2005-07-27 08:32:19
无意中看到 abel 的这个贴子
http://bbs.chinaunix.net/forum/viewtopic.php?t=577598
因为重复发贴,此贴降级为“保留”,请 abel 兄不要责怪 ^_^
回复于:2005-07-27 10:24:25
引用:原帖由 "platinum" 发表: 无意中看到 abel 的这个贴子
http://bbs.chinaunix.net/forum/viewtopic.php?t=577598
因为重复发贴,此贴降级为“保留”,请 abel 兄不要责怪 ^_^
沒有關係, 我只是想說應該發在合適的地方,並沒有考慮重覆的問題
回复于:2005-07-29 13:48:27
谁能提供 教育网的网段?
http://www.nic.edu.cn/RS/ipstat/
这个地址我访问不到里面的东西,谢了先
回复于:2005-07-29 14:19:11
引用:NETNAME=`whois $ip@whois.apnic.net
whois 60.176.0.0@whois.apnic.net
No whois server is known for this kind of object.
$ ping whois.apnic.net
PING whois.apnic.net (202.12.29.13): 56 data bytes
64 bytes from 202.12.29.13: icmp_seq=0 ttl=229 time=324.7 ms
64 bytes from 202.12.29.13: icmp_seq=1 ttl=229 time=325.3 ms
脚本里的NETNAME取不到
回复于:2005-07-29 14:32:22
你先看看你的環境的 whois 用法
不同的 OS 稍有不同
我的結果是
[root@log images]# whois 60.176.0.0@whois.apnic.net
[whois.apnic.net]
% [whois.apnic.net node-2]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html
inetnum: 60.176.0.0 - 60.176.255.255
netname: CHINANET-ZJ-HZ
country: CN
descr: CHINANET-ZJ Hangzhou node network
descr: Zhejiang Telecom
admin-c: CZ4-AP
tech-c: CH122-AP
status: ALLOCATED NON-PORTABLE
changed: auto-dbm@dcb.hz.zj.cn 20050429
mnt-by: MAINT-CHINANET-ZJ
mnt-lower: MAINT-CN-CHINANET-ZJ-HZ
source: APNIC
role: CHINANET ZHEJIANG
address: No.378 Yan'an Road,Hangzhou,Zhejiang.310006
country: CN
phone: +86-571-87023950
fax-no: +86-571-87027816
e-mail: antispam@dcb.hz.zj.cn
trouble: send spam reports to antispam@dcb.hz.zj.cn
trouble: and abuse reports to antispam@dcb.hz.zj.cn
trouble: Please include detailed information and times in UTC
admin-c: CZ61-AP
tech-c: CZ61-AP
nic-hdl: CZ4-AP
remarks: http://www.zjtelecom.com.cn
mnt-by: MAINT-CHINANET-ZJ
changed: master@dcb.hz.zj.cn 20031204
source: APNIC
role: CHINANET-ZJ Hangzhou
address: No.352 Tiyuchang Road,Hangzhou,Zhejiang.310003
country: CN
phone: +86-571-85157929
fax-no: +86-571-85102776
e-mail: anti_spam@mail.hz.zj.cn
trouble: send spam reports to anti_spam@mail.hz.zj.cn
trouble: and abuse reports to anti_spam@mail.hz.zj.cn
trouble: Please include detailed information and times in UTC
admin-c: CH54-AP
tech-c: CH54-AP
nic-hdl: CH122-AP
mnt-by: MAINT-CHINANET-ZJ
changed: master@dcb.hz.zj.cn 20031204
source: APNIC
回复于:2005-07-29 14:40:53
了解,我的系统是Debian 直接用 whois ipaddress
thx
我执行完了,看了netname,好多小的ISP商都不再里面,中国至少大大小小的有那么十几家ISP,比如我们杭州华数集团(我们这里都叫杭州网通的)的 [color=blue][size=18]HZDTV-IDC[/size][/color] 都没有
ping www.taobao.com
PING www.taobao.com (218.108.246.89): 56 data bytes
64 bytes from 218.108.246.89: icmp_seq=0 ttl=252 time=169.5 ms
64 bytes from 218.108.246.89: icmp_seq=1 ttl=252 time=1.9 ms
whois 218.108.246.89
% [whois.apnic.net node-2]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html
inetnum: 218.108.244.0 - 218.108.251.255
netname: HZDTV-IDC
descr: HZDTV-IDC
country: CN
admin-c: MX46-AP
tech-c: MX46-AP
status: ASSIGNED NON-PORTABLE
mnt-by: MAINT-CN-WASU
remarks: ****************************************************
remarks: * please report spam/abuse to abuse@hzdtv.com *
remarks: * reports to other addresses will not be processed *
remarks: ****************************************************
changed: tim@hzdtv.com 20031201
source: APNIC
person: ming xu
nic-hdl: MX46-AP
e-mail: tim@hzdtv.com
address: No.9 ShuGuang Road,HangZhou City,ZheJiang Province
phone: +86-571-56800110
fax-no: +86-571-85214455
country: CN
changed: tim@chinahcn.com 20030624
mnt-by: MAINT-CN-WASU
source: APNIC
另外其实有很多不全的,比如
ping www.utstar.com.cn
PING www.chinacache.utstar.com.cn (211.154.222.34): 56 data bytes
64 bytes from 211.154.222.34: icmp_seq=0 ttl=239 time=59.9 ms
64 bytes from 211.154.222.34: icmp_seq=1 ttl=239 time=50.6 ms
whois 211.154.222.34
% [whois.apnic.net node-2]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html
inetnum: 211.154.192.0 - 211.154.255.255
netname: TONET
country: CN
descr: Beijing TONEK Information technology Development Company
descr: No.11 Xichangan Street,Beijing,100031
admin-c: DL436-AP
tech-c: DL436-AP
status: ALLOCATED PORTABLE
changed: shenzhi@cnnic.cn 20050629
mnt-by: MAINT-CNNIC-AP
mnt-lower: MAINT-CN-TONET
mnt-routes: MAINT-CN-TONET
source: APNIC
person: Daqin Liu
nic-hdl: DL436-AP
e-mail: support@bj160.com.cn
address: No.11 Xichangan Street,Beijing,China
address: 100031
phone: +86-010-63060071
fax-no: +86-010-66030433
country: CN
changed: ipas@cnnic.net.cn 20041122
mnt-by: MAINT-NEW
source: APNIC
但脚本里的那个http地址的文件里,属于 TONET的只有 202.103.128.0/18
这个网段,但这个网段并不包括上面我ping的地址
我只是想说明那个文件里的ip不全,脚本是非常不错的,hoho
:D [size=24][/size]
回复于:2005-07-29 15:46:21
不是不全,是您的理解不同所致, 不是要查 IP , 是要查網段
我可以跟你講,這個表是對的,因為不對的話,基本上大家會懷疑 APNIC 的能力
而且這個表廣為引用,做為計算 IP 量的標準
你的問題在於不了解 whois 結構
apnic|CN|ipv4|211.152.0.0|524288|20000627|allocated
你說的那個 IP 在這個裏面 211.152/13 中,應為21vianet.com 所有
它又把 IP 發放給你說的那家公司使用.
至於杭州網通的那個問題也是一樣,我查的是 netid , 不是 IP ,
查出來的結果是
$>;whois 218.108.0.0@whois.apnic.net
[whois.apnic.net]
% [whois.apnic.net node-1]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html
inetnum: 218.108.0.0 - 218.109.255.255
netname: WASU-HLTT
descr: WASU TV & Communication Holding Co.,Ltd.
descr: 6/F, Jian Gong Building, NO.20 Wen San Road, Hangzhou,
descr: Zhejiang province, P.R.China 310012
country: CN
admin-c: MX46-AP
tech-c: MX46-AP
mnt-by: MAINT-CNNIC-AP
mnt-lower: MAINT-CN-WASU
mnt-routes: MAINT-CNNIC-AP
status: ALLOCATED PORTABLE
changed: hm-changed@apnic.net 20041014
changed: hm-changed@apnic.net 20050330
changed: ipas@cnnic.net.cn 20050418
source: APNIC
person: ming xu
nic-hdl: MX46-AP
e-mail: tim@hzdtv.com
address: No.9 ShuGuang Road,HangZhou City,ZheJiang Province
phone: +86-571-56800110
fax-no: +86-571-85214455
country: CN
changed: tim@chinahcn.com 20030624
mnt-by: MAINT-CN-WASU
source: APNIC
至於 whois 查 IP 得到的結果,整個 whois database 則是在這個檔內
http://ftp.apnic.net/apnic/whois-data/APNIC/split/apnic.db.inetnum.gz
你查到的是這個內容所致,至於若要用這麼細的資料也可以,不過你要有心理準
備, 這個資料有很多都是重覆的,而且很多資料是以 1 或 4 個 IP 登記的
回复于:2005-08-03 18:56:10
用你这个shell查到是很省事,不过时间也真常,都一下午了,还在查呢!
是不是我机子的配置太低??
网速应该不慢的!
不过这也无所谓了,慢就慢吧
可我发现他查的好像也有露掉的,例如我用的网通和电信的段的都没有查到!
回复于:2005-08-03 19:02:53
引用:原帖由 "ecto" 发表: 用你这个shell查到是很省事,不过时间也真常,都一下午了,还在查呢!
是不是我机子的配置太低??
网速应该不慢的!
不过这也无所谓了,慢就慢吧
可我发现他查的好像也有露掉的,例如我用的网通和电信的段的..........
你網速快...出國不見得快...
估記有可能會掉是掉在 whois 查詢時, timeout 掉了
我這邊跑一次大概不掉或掉一兩個
所以你得把什麼掉了挑出來,再跑一次
回复于:2005-08-03 19:15:20
刚完成,我看了一下,电信的段,我用的一个都找到,网通的段没有找到
我的意思是,你的程序搜索完成了以后写入到文件中了么,我的cncgroup中没有我现在用的网通的段,我现在的是:218.58的段和60.213的段,都没有找到
回复于:2005-08-03 19:29:31
我把我的数据和你的数据对比了一下,电信的比你的少那么几个段,网通的比你的多一些!
是不是他们数据库更新的问题,我的网通段属于新申请的,还没有更新上呢?按说也不可能,我的网通218.58段都用了一年多了!
回复于:2005-08-03 19:33:23
應該是 whois 的 error 造成的
我也沒有多注意,我現再給它重跑一次,
記錄一下錯誤的部份看看
回复于:2005-08-03 19:37:17
你說的這兩個 IP 我都看到了
在 CNCGROUP 中
回复于:2005-08-03 19:47:53
你跑一次大概需要多长时间?
我的是从下午3点多开始到了晚上7点才结束!!
不过这也搜索到了大部分了,可能用电信的线路会好一些,因为国际出口电信的要比网通的宽的多!
回复于:2005-08-03 19:51:11
引用:原帖由 "ecto" 发表: 你跑一次大概需要多长时间?
我的是从下午3点多开始到了晚上7点才结束!!
不过这也搜索到了大部分了,可能用电信的线路会好一些,因为国际出口电信的要比网通的宽的多!
10 分鐘左右可以跑完
很順,這次沒有看到 error 訊息
回复于:2005-08-03 19:51:54
是吧,那看来可能就是whois的查询的时候出错了
你是全部重新查询一遍,还是单独的查询的?
你的怎么这么快?
回复于:2005-08-03 19:55:24
引用:原帖由 "ecto" 发表: 是吧,那看来可能就是whois的查询的时候出错了
你是全部重新查询一遍,还是单独的查询的?
你的怎么这么快?
我是從頭跑到尾,也就是重做一次
你可以在相同 link 看到結果
至於快或慢,我想還是在出口品質吧,
我查一個 IP 得到的結果,應不到2秒
回复于:2005-08-03 19:56:36
引用:原帖由 "ecto" 发表: 是吧,那看来可能就是whois的查询的时候出错了
你是全部重新查询一遍,还是单独的查询的?
你的怎么这么快?
我是從頭跑到尾,也就是重做一次
你可以在相同 link 看到結果
至於快或慢,我想還是在出口品質吧,
我查一個 IP 得到的結果,應不到2秒
回复于:2005-08-03 19:57:16
看来我 的还是太慢,链接下载ip_apnic文件的时候速度是25kb
后面单个分析的时候就更慢了!
看来是跟这个有关的,你把你跑的文件再覆盖一下你前面发布的那两个吧,我用一下,非常感谢了!
回复于:2005-08-03 20:10:25
我巳經蓋掉了...
剛又跑了一次測試時間,以
$>;time sh cn_isp.sh
得到的結果
real 12m27.410s
user 0m9.500s
sys 0m13.340s
所以是 12 分左右,你要幾個小時是有點誇張
你可以改一下 shell 程式, whois 部份可以做到并發連接
不過 error 在你的環境下可能會較多
回复于:2005-08-03 20:17:26
恩,那肯定是了,我先用你的做dns的view功能测试,等测试好以后再弄其他的
非常感谢大侠指教!有问题我再请教您!
回复于:2005-08-03 20:18:45
引用:原帖由 "abel" 发表: 我巳經蓋掉了...
剛又跑了一次測試時間,以
$>;time sh cn_isp.sh
得到的結果
real 12m27.410s
user 0m9.500s
sys 0m13.340s
所以是 12 分左右,你要幾個小時是有點誇張
你可以改一下 shell 程?.........
有些网络访问apnic比较慢的。
此外倒是还有另外一个问题,许多地址(多数是CT的)查出来不是电信注册的,这个估计就无解了。
也许以后第二版再做一个骨干网路由器地址表,然后trace每个地址段,看看是从哪里走的……
回复于:2005-08-03 20:26:37
引用:原帖由 "cnadl" 发表:
有些网络访问apnic比较慢的。
此外倒是还有另外一个问题,许多地址(多数是CT的)查出来不是电信注册的,这个估计就无解了。
也许以后第二版再做一个骨干网路由器地址表,然后trace每个地址段,看看是从哪..........
我不知道 CT 是什麼東東...
給我一個 whois 後的結果參考看看如何?
回复于:2005-08-04 12:57:11
CT就是电信ChinaTelecom
这是我们一个客户,地址落在下面
-----------------------------------------------------------------------------
% [whois.apnic.net node-2]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html
inetnum: 202.93.0.0 - 202.93.3.255
netname: CNINFO-CN
descr: Shenzhen Great Trend Securities Computer Information Co, Ltd
descr: 2/F, West 407 Bldg, Zhenhua Road.
descr: Futian District, Shenzhen
country: CN
admin-c: QW3-CN
tech-c: GZ1-CN
rev-srv: netmgr.cninfo.co.cn
remarks: none
notify: dbmon@apnic.net
mnt-by: APNIC-HM
changed: admin-t@shell.cninfo.co.cn 950919
status: ALLOCATED PORTABLE
source: APNIC
person: Qiangqiang WANG
address: 2/F, West 407 Bldg, Zhenhua Road.
address: Futian District, Shenzhen
phone: +86-755-320-2227
phone: +86-755-320-2229
fax-no: +86-755-320-2232
e-mail: admin-c@shell.cninfo.co.cn
nic-hdl: QW3-CN
remarks: none
notify: dbmon@apnic.net
mnt-by: MAINT-NULL
changed: admin-t@shell.cninfo.co.cn 19950919
source: APNIC
person: Guoqiang Zhao
address: 2/F, West 407 Bldg, Zhenhua Road.
address: Futian District, Shenzhen
phone: +86-755-320-2227
phone: +86-755-320-2229
fax-no: +86-755-320-2232
e-mail: admin-t@shell.cninfo.co.cn
nic-hdl: GZ1-CN
remarks: none
notify: dbmon@apnic.net
mnt-by: MAINT-NULL
changed: admin-t@shell.cninfo.co.cn 19950919
source: APNIC
-------------------------------------------------------------------------
下面是这个客户网通的地址所在的大段
-------------------------------------------------------------------------
% [whois.apnic.net node-2]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html
inetnum: 210.21.192.0 - 210.21.255.255
netname: SHENZHEN-CNC
country: CN
descr: shenzhen branch, china netcom corp
admin-c: YS224-AP
tech-c: YS224-AP
status: ALLOCATED NON-PORTABLE
changed: guoyb@china-netcom.com 20031222
mnt-by: MAINT-CN-ZM28
mnt-lower: MAINT-CN-SY28
source: APNIC
person: yumei sun
nic-hdl: YS224-AP
e-mail: sz-ipaddress@china-netcom.com
address: china netcom
address: shenzhen
phone: +86-0755-6983588
country: CN
changed: moujh@china-netcom.com 20030827
mnt-by: MAINT-CN-ZM28
source: APNIC
Bold: Object type.
Underlined: Primary key(s).
Hyperlinks: Searchable Attributes.
2 records found for '210.21.207.225'
回复于:2005-08-04 13:35:55
引用:原帖由 "cnadl"]nic.net node-2 发表:
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html
inetnum: 210.21.192.0 - 210.21.255.255
netname: SHENZHEN-CNC
country: CN
descr: sh..........
兩位的說法是 CT 就是 CHINANET ?
但很多 netname 可能不帶CHINANET/CHINATELE 等名字的意思嗎 ?
如果是這樣那我也沒有辨法,對大陸的 ISP 環境完全不了解
回复于:2005-08-05 19:21:41
引用:原帖由 "abel" 发表:
兩位的說法是 CT 就是 CHINANET ?
但很多 netname 可能不帶CHINANET/CHINATELE 等名字的意思嗎 ?
如果是這樣那我也沒有辨法,對大陸的 ISP 環境完全不了解
我觉得可以查找出两家运营商的骨干路由器,然后trace地址参看是否经过。
而且我们做这个列表并不是要了解电信有哪些段,网通那些段,而是为了给一些兄弟作静态路由用。
那么使用apnic得到地址之后,由想用的兄弟分别在两条路上trace和ping,在对结果运算取其优者,似乎比较好。(暂不考虑运营商多出口情况)
而这也是目前大多数链路负载均衡设备的工作原理,只是他们的性能要好、检测方法更多等等。
供参考。
回复于:2005-08-18 11:21:27
个位不好意思,我是学cisco的,但现在用到了这个资料,之前我没有学过linux这个东西,所以我都不会用这个脚本,不知道可不可以哪位帮忙一下,跑一下,我要用跑出来的资料,哎!还是要学习啊,有东西都不会用真郁闷
回复于:2005-09-08 18:30:04
看不到啊
回复于:2005-09-15 11:22:07
shell不大懂,于是就把文件抓回来,用excell来算,也很快了。现在还希望进一步按运营商把分散的段收敛成大段,用的时候少输入几个字,大家来研究一下!
回复于:2005-09-15 12:50:43
这个好东东,谢谢南非蜘蛛帮我找出来了!
回复于:2005-09-16 16:25:25
这个是最新的么?
回复于:2005-09-23 01:06:48
引用:原帖由 "清晓"]这个是最新的么? 发表:
這個是教你如何取得最新的
自動用 shell 算出來
回复于:2005-09-29 17:57:33
正好借问一个问题,照前面意思,是不是大陆地区internet除了教育网等一些小规模网,一般使的也就是中国公用网chinanet了。
大陆的isp像电信网通本来是一家的,有自己的骨干网;而中国联通和铁通这两家也有自己的带宽,它们就没有骨干网租用chinanet的线路吧?如果是这样,怎么互联互通的问题这么严重呢?
菜问题一个,请赐教!
回复于:2005-10-01 02:13:59
fb 5.4 bash:
EOF后要换行
whois ip不要带@whois.apnic.net
呵呵,折腾我几天了。终于ok了
不过发现了有几十个不同的netname是网通的。。。
回复于:2005-10-06 14:48:48
引用:原帖由 "ming312" 发表:
....
read ip cnt
do
echo $ip:$cnt
mask=$(cat << EOF | bc | tail -1
....
EOF
)
把第二个EOF前面的空格去掉
mask=$(cat <<EOF |bc | tail -1
.....
EOF
)
EOF前面的空格在部分版本的BSH下面会报错,在部分版本的KSH下面可以正常执行,呵呵
回复于:2005-12-02 11:16:26
引用:原帖由 abel 于 2005-7-15 11:42 发表
#!/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/ ...
錯誤百出,根本沒法運行,寫腳本要負責任啊!
回复于:2005-12-02 15:31:58
我也在搞这个东西,不过在判断的时候是通过MNT-BY来判断是否是那个ISP的,会出现以下的情况 判断一些IP地址是那里的
219.246.83.196 MAINT-CERNET-AP MAINT-CERNET-AP MAINT-CERNET-AP
162.105.109.27 APNIC-HM MNT-ERX-PEKINGUNI-NON-CN
219.146.204.254 MAINT-CHINANET MAINT-CHINANET MAINT-CHINATELECOM-SD
218.71.137.151 MAINT-CN-CHINANET-ZJ-NB MAINT-CHINANET-ZJ MAINT-CN-CHINANET-ZJ-NB
221.226.231.142 APNIC-HM MAINT-CHINANET-JS MAINT-CHINANET-JS MAINT-CHINANET
202.108.27.3 APNIC-HM MAINT-CNCGROUP MAINT-CHINANET-BJ
222.175.99.126 APNIC-HM MAINT-CHINANET MAINT-CHINATELECOM-SD
218.200.209.67 MAINT-CN-CMCC MAINT-NEW
218.30.22.140 MAINT-CHINANET MAINT-CHINANET
222.243.205.38 APNIC-HM MAINT-CHINANET MAINT-CHINANET-HUNAN
221.230.23.46 MAINT-CHINANET-JS MAINT-CHINANET-JS MAINT-CHINANET-JS-ZJ MAINT-CHINANET-JS
那么可以根据这里的MTN-BY来判断是归属于那里的.
这样会更准确一些,只是还要再作写处理
回复于:2005-12-08 14:17:11
abel老大,我在solaris7上执行的时候提示如下:
# ./cn_isp.sh
--14:10:14-- http://ftp.apnic.net:80/apnic/stats/apnic/delegated-apnic-latest
=> `/apnic/ip_apnic'
Connecting to ftp.apnic.net:80... connected!
HTTP request sent, awaiting response... 200 OK
Length: 693,512 [text/plain]
0K -> .......... .......... .......... .......... .......... [ 7%]
50K -> .......... .......... .......... .......... .......... [ 14%]
100K -> .......... .......... .......... .......... .......... [ 22%]
150K -> .......... .......... .......... .......... .......... [ 29%]
200K -> .......... .......... .......... .......... .......... [ 36%]
250K -> .......... .......... .......... .......... .......... [ 44%]
300K -> .......... .......... .......... .......... .......... [ 51%]
350K -> .......... .......... .......... .......... .......... [ 59%]
400K -> .......... .......... .......... .......... .......... [ 66%]
450K -> .......... .......... .......... .......... .......... [ 73%]
500K -> .......... .......... .......... .......... .......... [ 81%]
550K -> .......... .......... .......... .......... .......... [ 88%]
600K -> .......... .......... .......... .......... .......... [ 95%]
650K -> .......... .......... ....... [100%]
14:10:40 (27.25 KB/s) - `/apnic/ip_apnic' saved [693512/693512]
./cn_isp.sh: syntax error at line 8: `mask=$' unexpected
这是什么原因,另外老大有MSN吗?能否相告,有问题请教。
回复于:2005-12-11 10:36:31
比如:
inetnum: 219.133.0.0 - 219.133.0.63
netname: SHENZHEN-HUAWEI-CO
mnt-by: MAINT-CHINANET-GD
inetnum: 219.128.0.0 - 219.137.255.255
netname: CHINANET-GD
descr: CHINANET Guangdong province network
mnt-by: MAINT-CHINANET
mnt-lower: MAINT-CHINANET-GD
可以看出,华为公司的地址段在广东电信的大地址段内,如果以netname为依据,恐怕就……
回复于:2006-01-18 12:36:45
我做了个并行查询的sh,可被 拒了,可能是发得太快吧
回复于:2006-02-18 15:49:55
这个脚本可能是有问题的,有些IP由于南北分家问题,其NETNAME都是CHINANET,而实际上可能是分属于网通或电信的,有谁能解决?拿出真正的网通IP段或电信IP段?
回复于:2006-03-15 15:01:10
根据62楼在fb5.4下的测试结果,我这里也测试通过了,呵呵,谢谢62楼的啦
回复于:2006-05-18 14:51:41
用bash可以直接查询apnic的数据库
exec 5<>/dev/tcp/whois.apnic.net/43
echo '-F -T in -i mb MAINT-CNCGROUP'>&5
cat <&5
MAINT-CHINANET 电信
取cidr格式的国内ip(awk版)
awk -F'|' 'BEGIN{for(i=0;i<33;i++)a[2^i]=32-i}/^apnic\|CN\|ipv4\|/{print $4"/"a[$5]}' delegated-apnic-latest
回复于:2006-08-02 09:36:48
58.32.0.0/13
58.40.0.0/15
58.42.0.0/16
58.44.0.0/14
58.48.0.0/13
58.208.0.0/12
59.32.0.0/13
59.40.0.0/15
59.42.0.0/16
59.44.0.0/14
59.48.0.0/16
请问/后面的数字是什么意思。
回复于:2006-08-07 13:24:32
引用:原帖由 FUS 于 2006-8-2 09:36 发表
58.32.0.0/13
58.40.0.0/15
58.42.0.0/16
58.44.0.0/14
58.48.0.0/13
58.208.0.0/12
59.32.0.0/13
59.40.0.0/15
59.42.0.0/16
59.44.0.0/14
59.48.0.0/16
请问/后面的数字是什么意思。
/13 /14 /15这些是掩码
255.255.0.0 /16
255.254.0.0 /15
255.252.0.0 /14
255.248.0.0 /13
255.240.0.0 /12
255.255.255.255 /32
255.255.255.0 /24
回复于:2006-08-16 15:37:36
感谢abel ,脚本我很顺利的运行了,产生出了CNINANET 和CNCGROUP ,但怎么验证某个ip或ip段属于二者中的一个呢?也就是怎么验证它的正确性或者可以自己添加漏掉的呢?
回复于:2006-08-31 09:32:16
NETNAME=`whois $[email]ip@whois.apnic.net[/email] | sed -e '/./{H;$!d;}' -e 'x;/netnum/!d' |grep ^netname | sed -e 's/.*: \(.*\)/\1/g' | sed -e 's/-.*//g'`
netname 为 Shanghai-MAN-CNC 则不能判断为CNC,怎么办?
[ 本帖最后由 红雨 于 2006-8-31 10:08 编辑 ]
回复于:2007-05-07 00:34:29
各位,我认为用记录里的自治号也就是AS来匹配是最准的,毕竟电信网通的自治号是不会变的。
仅供参考呵呵 !!!
回复于:2008-06-23 11:13:53
我按照楼主的办法做了,产生了cn.net和OTHER文件,但是没有CNC和TELE的文件哈
我用的是UB804
不知道怎么回事
[ 本帖最后由 dboypq 于 2008-6-23 11:17 编辑 ]
|