免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 42469 | 回复: 74

自動產生 電信(CHINANET)/網通(CNCGROUP) IP 列表 [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2005-07-14 18:53 |显示全部楼层
Shell 檔如下, wget 所取得的檔案,若您有心仔細看一下即可知內容
( http://211.72.210.251/images/cn_isp.sh )

  1. #!/bin/sh
  2. FILE=/root/study/apnic/ip_apnic
  3. rm -f $FILE
  4. wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest -O $FILE
  5. grep 'apnic|CN|ipv4|' $FILE | cut -f 4,5 -d'|'|sed -e 's/|/ /g' | while read ip
  6. cnt
  7. do
  8.         echo $ip:$cnt
  9.         mask=$(cat << EOF | bc | tail -1
  10. pow=32;
  11. define log2(x) {
  12. if (x<=1) return (pow);
  13. pow--;
  14. return(log2(x/2));
  15. }
  16. log2($cnt)
  17. EOF)
  18.         echo $ip/$mask>;>; cn.net
  19.         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'`
  20.         case $NETNAME in
  21.         CHINANET|CNCGROUP)
  22.                 echo $ip/$mask >;>; $NETNAME
  23.         ;;
  24. #如果你還要其他 ISP , 請在這邊加上去即可,透過 apnic whois , 你可以知道他的 NETNAME
  25.         OTHER_NETNAME_here)
  26.         ;;
  27.         esac
  28. done
复制代码

再來,你只要看 CHINANET 或 CNCGROUP 這兩個檔案內容即可以知道其所有的 IP List 了,若需要其他 ISP , 上面代碼以給您足夠空間自己發揮

  1. [root@log images]# cat CHINANET
  2. 58.32.0.0/13
  3. 58.40.0.0/15
  4. 58.42.0.0/16
  5. 58.44.0.0/14
  6. 58.48.0.0/13
  7. 58.208.0.0/12
  8. 59.32.0.0/13
  9. 59.40.0.0/15
  10. 59.42.0.0/16
  11. 59.44.0.0/14
  12. 59.48.0.0/16
  13. ...以下略
复制代码


有了這個,就看你如何發揮了..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 還不太一致, 就懶得做了

论坛徽章:
0
发表于 2005-07-14 19:00 |显示全部楼层

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


  1. define log2(x) {
  2. if (x<=1) return (pow);
  3. pow--;
  4. return(log2(x/2));
  5. }
复制代码

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

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2005-07-15 09:47 |显示全部楼层

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

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

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

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2005-07-15 10:30 |显示全部楼层

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

CHINANET 和 CHINATELECOM 都是電信嗎 ?

论坛徽章:
0
发表于 2005-07-15 11:19 |显示全部楼层

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

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2005-07-15 11:42 |显示全部楼层

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

  1. #!/bin/sh
  2. FILE=/root/study/apnic/ip_apnic
  3. rm -f $FILE
  4. wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest -O $FILE
  5. grep 'apnic|CN|ipv4|' $FILE | cut -f 4,5 -d'|'|sed -e 's/|/ /g' | while read ip
  6. cnt
  7. do
  8.        echo $ip:$cnt
  9.        mask=$(cat << EOF | bc | tail -1
  10. pow=32;
  11. define log2(x) {
  12. if (x<=1) return (pow);
  13. pow--;
  14. return(log2(x/2));
  15. }
  16. log2($cnt)
  17. EOF
  18. )
  19. # 有朋友說在 FreeBSD 下, EOF 後一定要 NL ,Linux 下有無 NL 並無差別
  20.        echo $ip/$mask>;>; cn.net
  21.        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'`
  22.        case $NETNAME in
  23.        CHINANET|CNCGROUP)
  24.                echo $ip/$mask >;>; $NETNAME
  25.        ;;
  26. #修正這裏的 CHINATELECOM = CHINANET
  27.       CHINATELECOM)
  28.                echo $ip/$mask >;>;CHINANET
  29. #如果你還要其他 ISP , 請在這邊加上去即可,透過 apnic whois , 你可以知道他的 NETNAME
  30.        OTHER_NETNAME_here)
  31.        ;;
  32.        esac
  33. done
复制代码


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

论坛徽章:
0
发表于 2005-07-15 13:04 |显示全部楼层

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

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

论坛徽章:
0
发表于 2005-07-15 13:34 |显示全部楼层

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

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

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2005-07-15 13:39 |显示全部楼层

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

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

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

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2005-07-15 13:41 |显示全部楼层

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

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

你看得到內容 ? 我看不到耶
我本來也有找到這個,但是跟本看不到,不是回應 403 , 就是跳轉回首頁
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP