ChinaUnix首页 > 精华文章 > Linux > 正文

[保留] 自動產生 電信(CHINANET)/網通(CNCGROUP) IP 列表


http://www.chinaunix.net 作者:abel  发表于:2008-06-23 11:13:53
发表评论】 【查看原文】 【Linux讨论区】【关闭

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 還不太一致, 就懶得做了



 platinum 回复于:2005-07-14 19:00:57


define log2(x) { 
if (x<=1) return (pow); 
pow--; 
return(log2(x/2)); 


这段运用递归调用的方式计算 mask 的 code 令人拍案叫绝!!!!


 abel 回复于:2005-07-15 09:47:32

引用:原帖由 "platinum"]这段运用递归调用的方式计算 mask 的 code 令人拍案叫绝!!!!
 发表:


 :D 這是我在 man bc 時,得到的靈感,不然在 shell 中計算起來
還可有點費事


 abel 回复于:2005-07-15 10:30:31

CHINANET 和 CHINATELECOM 都是電信嗎 ?


 platinum 回复于:2005-07-15 11:19:07




 abel 回复于: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,才會用到


 bhuang 回复于:2005-07-15 13:04:33

cernet的地址list在这http://www.nic.edu.cn/RS/ipstat/


 mii_tool 回复于:2005-07-15 13:34:50

为什么我执行了,
在/root/study/apnic/ip_apnic 文件中的内容是
http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-lates
这个网页里的内容呢。根本没经过处理。


 abel 回复于: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, 原則上不動


 abel 回复于:2005-07-15 13:41:11

引用:原帖由 "bhuang"]cernet的地址list在这http://www.nic.edu.cn/RS/ipstat/
 发表:


 :roll: 你看得到內容 ? 我看不到耶
我本來也有找到這個,但是跟本看不到,不是回應 403 , 就是跳轉回首頁


 webfox 回复于:2005-07-15 14:16:26

引用:原帖由 "abel" 发表:

 :roll: 你看得到內容 ? 我看不到耶
我本來也有找到這個,但是跟本看不到,不是回應 403 , 就是跳轉回首頁



你也许不在教育网内


 abel 回复于:2005-07-15 14:35:42

引用:原帖由 "webfox" 发表:


你也许不在教育网内


是的,更甚者,我也不在大陸


 joecen 回复于:2005-07-15 14:46:53

引用:原帖由 "abel" 发表:

修正後結果,那段取段落的 sed 可以不用, 因為 apnic 有一個更細的 whois file,才會用到



非常感谢able兄!正要用呢!


 mii_tool 回复于:2005-07-16 14:29:54

引用:原帖由 "abel" 发表:

產出的是 CHINANET  CNCGROUP 兩個檔案
不是您指的那個,因為那個是 source, 原則上不動



ip_apnic  是文件?还是文件夹?
可否给我一个你在LINUX下写好的SHELL。我感觉我按照你的那个写的,但是不知道哪错了。就是不对,
我MSN已经加你为好友了。请发e-mail到我MSN吧。我叫 mii_tool@hotmail.com.cn


 joecen 回复于: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
 的下一行漏了“;;”


 joecen 回复于: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阿


 haohaoo 回复于:2005-07-20 01:00:46

教育网在联系人那里会有“net.edu.cn”这样的mail地址的


 abel 回复于: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


 joecen 回复于: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的倍数代表什么意思呢?


 abel 回复于: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) 等.類推..


 abel 回复于: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 的收費費標準來看,實在太貴了


 joecen 回复于:2005-07-21 11:42:35

谢谢abel.
从本贴中学到很多东西!


 ming312 回复于: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


 abel 回复于:2005-07-25 14:29:02

引用:http://211.72.210.251/images/cn_isp.sh

你直接用這個嗎 ? 或是 Copy Code 裏的東西,若是後者,每行最尾你會多一個空白


 ming312 回复于:2005-07-25 14:30:28

没有,我就把你论坛里的脚本COPY了一下,


 ming312 回复于:2005-07-25 14:34:41

刚刚重新下了  http://211.72.210.251/images/cn_isp.sh  这个脚本,直接运行还是一样,同样的错误,不知道楼主用的是什么操作系统?


 abel 回复于:2005-07-25 14:41:44

引用:原帖由 "ming312"]刚刚重新下了  http://211.72.210.251/images/cn_isp.sh  这个脚本,直接运行还是一样,同样的错误,不知道楼主用的是什么操作系统?
 发表:


bash    RH9


 platinum 回复于:2005-07-27 08:32:19

无意中看到 abel 的这个贴子
http://bbs.chinaunix.net/forum/viewtopic.php?t=577598

因为重复发贴,此贴降级为“保留”,请 abel 兄不要责怪 ^_^


 abel 回复于:2005-07-27 10:24:25

引用:原帖由 "platinum" 发表:
无意中看到 abel 的这个贴子
http://bbs.chinaunix.net/forum/viewtopic.php?t=577598

因为重复发贴,此贴降级为“保留”,请 abel 兄不要责怪 ^_^


沒有關係, 我只是想說應該發在合適的地方,並沒有考慮重覆的問題


 killua 回复于:2005-07-29 13:48:27

谁能提供 教育网的网段?

http://www.nic.edu.cn/RS/ipstat/

这个地址我访问不到里面的东西,谢了先


 killua 回复于: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取不到



 abel 回复于: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



 killua 回复于: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]


 abel 回复于: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 登記的


 ecto 回复于:2005-08-03 18:56:10

用你这个shell查到是很省事,不过时间也真常,都一下午了,还在查呢!
是不是我机子的配置太低??
网速应该不慢的!

不过这也无所谓了,慢就慢吧
可我发现他查的好像也有露掉的,例如我用的网通和电信的段的都没有查到!


 abel 回复于:2005-08-03 19:02:53

引用:原帖由 "ecto" 发表:
用你这个shell查到是很省事,不过时间也真常,都一下午了,还在查呢!
是不是我机子的配置太低??
网速应该不慢的!

不过这也无所谓了,慢就慢吧
可我发现他查的好像也有露掉的,例如我用的网通和电信的段的..........


你網速快...出國不見得快...
估記有可能會掉是掉在 whois 查詢時, timeout 掉了 
我這邊跑一次大概不掉或掉一兩個

所以你得把什麼掉了挑出來,再跑一次


 ecto 回复于:2005-08-03 19:15:20

刚完成,我看了一下,电信的段,我用的一个都找到,网通的段没有找到

我的意思是,你的程序搜索完成了以后写入到文件中了么,我的cncgroup中没有我现在用的网通的段,我现在的是:218.58的段和60.213的段,都没有找到


 ecto 回复于:2005-08-03 19:29:31

我把我的数据和你的数据对比了一下,电信的比你的少那么几个段,网通的比你的多一些!

是不是他们数据库更新的问题,我的网通段属于新申请的,还没有更新上呢?按说也不可能,我的网通218.58段都用了一年多了!


 abel 回复于:2005-08-03 19:33:23

應該是 whois 的 error 造成的
我也沒有多注意,我現再給它重跑一次,
記錄一下錯誤的部份看看


 abel 回复于:2005-08-03 19:37:17

你說的這兩個 IP 我都看到了
在 CNCGROUP 中


 ecto 回复于:2005-08-03 19:47:53

你跑一次大概需要多长时间?
我的是从下午3点多开始到了晚上7点才结束!!

不过这也搜索到了大部分了,可能用电信的线路会好一些,因为国际出口电信的要比网通的宽的多!


 abel 回复于:2005-08-03 19:51:11

引用:原帖由 "ecto" 发表:
你跑一次大概需要多长时间?
我的是从下午3点多开始到了晚上7点才结束!!

不过这也搜索到了大部分了,可能用电信的线路会好一些,因为国际出口电信的要比网通的宽的多!


10 分鐘左右可以跑完
很順,這次沒有看到 error 訊息


 ecto 回复于:2005-08-03 19:51:54

是吧,那看来可能就是whois的查询的时候出错了

你是全部重新查询一遍,还是单独的查询的?

你的怎么这么快?


 abel 回复于:2005-08-03 19:55:24

引用:原帖由 "ecto" 发表:
是吧,那看来可能就是whois的查询的时候出错了

你是全部重新查询一遍,还是单独的查询的?

你的怎么这么快?


我是從頭跑到尾,也就是重做一次
你可以在相同 link 看到結果
至於快或慢,我想還是在出口品質吧,
我查一個 IP 得到的結果,應不到2秒


 abel 回复于:2005-08-03 19:56:36

引用:原帖由 "ecto" 发表:
是吧,那看来可能就是whois的查询的时候出错了

你是全部重新查询一遍,还是单独的查询的?

你的怎么这么快?


我是從頭跑到尾,也就是重做一次
你可以在相同 link 看到結果
至於快或慢,我想還是在出口品質吧,
我查一個 IP 得到的結果,應不到2秒


 ecto 回复于:2005-08-03 19:57:16

看来我 的还是太慢,链接下载ip_apnic文件的时候速度是25kb

后面单个分析的时候就更慢了!

看来是跟这个有关的,你把你跑的文件再覆盖一下你前面发布的那两个吧,我用一下,非常感谢了!


 abel 回复于:2005-08-03 20:10:25

我巳經蓋掉了...
剛又跑了一次測試時間,以
$>;time sh cn_isp.sh
得到的結果
real    12m27.410s
user    0m9.500s
sys     0m13.340s

所以是 12 分左右,你要幾個小時是有點誇張
你可以改一下 shell 程式, whois 部份可以做到并發連接
不過 error 在你的環境下可能會較多


 ecto 回复于:2005-08-03 20:17:26

恩,那肯定是了,我先用你的做dns的view功能测试,等测试好以后再弄其他的

非常感谢大侠指教!有问题我再请教您!


 cnadl 回复于: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每个地址段,看看是从哪里走的……


 abel 回复于:2005-08-03 20:26:37

引用:原帖由 "cnadl" 发表:


有些网络访问apnic比较慢的。

此外倒是还有另外一个问题,许多地址(多数是CT的)查出来不是电信注册的,这个估计就无解了。

也许以后第二版再做一个骨干网路由器地址表,然后trace每个地址段,看看是从哪..........


我不知道 CT 是什麼東東...
給我一個 whois 後的結果參考看看如何?


 cnadl 回复于: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'


 abel 回复于: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 環境完全不了解


 cnadl 回复于: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这个东西,所以我都不会用这个脚本,不知道可不可以哪位帮忙一下,跑一下,我要用跑出来的资料,哎!还是要学习啊,有东西都不会用真郁闷


 happy666 回复于:2005-09-08 18:30:04

看不到啊


 急不通 回复于:2005-09-15 11:22:07

shell不大懂,于是就把文件抓回来,用excell来算,也很快了。现在还希望进一步按运营商把分散的段收敛成大段,用的时候少输入几个字,大家来研究一下!


 LEOD 回复于:2005-09-15 12:50:43

这个好东东,谢谢南非蜘蛛帮我找出来了!


 清晓 回复于:2005-09-16 16:25:25

这个是最新的么?


 abel 回复于:2005-09-23 01:06:48

引用:原帖由 "清晓"]这个是最新的么?
 发表:


這個是教你如何取得最新的
自動用 shell 算出來


 china_blues 回复于:2005-09-29 17:57:33

正好借问一个问题,照前面意思,是不是大陆地区internet除了教育网等一些小规模网,一般使的也就是中国公用网chinanet了。
大陆的isp像电信网通本来是一家的,有自己的骨干网;而中国联通和铁通这两家也有自己的带宽,它们就没有骨干网租用chinanet的线路吧?如果是这样,怎么互联互通的问题这么严重呢?

菜问题一个,请赐教!


 tmdxy 回复于: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下面可以正常执行,呵呵


 shinesoft 回复于: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/ ... 




錯誤百出,根本沒法運行,寫腳本要負責任啊!


 gangse 回复于: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为依据,恐怕就……


 sxjccxq 回复于:2006-01-18 12:36:45

我做了个并行查询的sh,可被 拒了,可能是发得太快吧


 xurwxj 回复于:2006-02-18 15:49:55

这个脚本可能是有问题的,有些IP由于南北分家问题,其NETNAME都是CHINANET,而实际上可能是分属于网通或电信的,有谁能解决?拿出真正的网通IP段或电信IP段?


 xpzzh 回复于:2006-03-15 15:01:10

根据62楼在fb5.4下的测试结果,我这里也测试通过了,呵呵,谢谢62楼的啦


 r2007 回复于: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



 FUS 回复于: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

请问/后面的数字是什么意思。


 yindows 回复于: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


 hhxxttxs 回复于: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 编辑 ]


 anthonyho 回复于:2007-05-07 00:34:29

各位,我认为用记录里的自治号也就是AS来匹配是最准的,毕竟电信网通的自治号是不会变的。
仅供参考呵呵 !!!


 dboypq 回复于:2008-06-23 11:13:53

我按照楼主的办法做了,产生了cn.net和OTHER文件,但是没有CNC和TELE的文件哈
我用的是UB804
不知道怎么回事

[ 本帖最后由 dboypq 于 2008-6-23 11:17 编辑 ]




原文链接:http://linux.chinaunix.net/bbs/viewthread.php?tid=577601
转载请注明作者名及原文出处