免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1366 | 回复: 0
打印 上一主题 下一主题

如何实现IP地域分布的统计 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-18 11:08 |只看该作者 |倒序浏览
new.txt 为IP库
得到方法可以从http://www.cz88.net/fox/ 下载最新QQWry.Dat文件,通过iplook工具转换成new.txt 文件,格式如下:

开始段           结束段           地域  公司
0.0.0.0         0.255.255.255   IANA  CZ88.NET
1.0.0.0         1.255.255.255   IANA  CZ88.NET
2.0.0.0         2.255.255.255   IANA  CZ88.NET
3.0.0.0         3.255.255.255   美国 新泽西通用电气公司

ip.txt 为需要比对的IP文件,格式如下:
38.119.136.66
58.104.35.215
58.18.56.191
58.18.58.57
58.208.2.91
58.208.66.32

接下来需要完成的工作都是在LINUX环境下编写SHELL脚本来实现比对功能。
第一步,将ip地址格式转换成12位数字并去除分隔符“.”

trans_ip.sh

#!/bin/sh
dir=/root/compareIP
dir1=ip.txt
awk 'gsub(/\./," "){if($1=10){print "0"$1} else if($1 $dir/a
awk 'gsub(/\./," "){if($2=10){print "0"$2} else if($2 $dir/b
awk 'gsub(/\./," "){if($3=10){print "0"$3} else if($3 $dir/c
awk 'gsub(/\./," "){if($4=10){print "0"$4} else if($4 $dir/d
paste $dir/a $dir/b $dir/c $dir/d  > $dir/j
sleep 5
awk '{print $1$2$3$4}' $dir/j >trans.txt
rm -fr $dir/a $dir/b $dir/c $dir/d $dir/j

第二步,将ip库段的开始和结束段ip转换同上格式。

trans_iplib.sh

#!/bin/sh
dir=/root/compareIP

awk 'gsub(/\./," "){if($1=10){print "0"$1} else if($1$dir/a
awk 'gsub(/\./," "){if($2=10){print "0"$2} else if($2$dir/b
awk 'gsub(/\./," "){if($3=10){print "0"$3} else if($3$dir/c
awk 'gsub(/\./," "){if($4=10){print "0"$4" "} else if($4$dir/d
awk 'gsub(/\./," "){if($5=10){print "0"$5} else if($5$dir/e
awk 'gsub(/\./," "){if($6=10){print "0"$6} else if($6$dir/f
awk 'gsub(/\./," "){if($7=10){print "0"$7} else if($7$dir/g
awk 'gsub(/\./," "){if($8=10){print "0"$8" "} else if($8$dir/h
awk 'gsub(/\./," "){print $9}' $dir/new.txt >$dir/i
paste $dir/a $dir/b $dir/c $dir/d $dir/e $dir/f $dir/g $dir/h $dir/i > $dir/j
awk '{print $1$2$3$4 " " $5$6$7$8 " " $9}' $dir/j > $dir/new1.txt
rm -fr $dir/a $dir/b $dir/c $dir/d $dir/e $dir/f $dir/g $dir/h $dir/i $dir/j  

第三步,比对。

comip.sh

#!/bin/sh
for i in `cat trans.txt`
do
a=`awk '{if('$i'>=$1&&'$i'> souce
done

souce文件就是我们所要的比对结果。


目前该方法速度还算可以,每1秒能比对5个IP左右。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/12318/showart_114389.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP