回复 2楼 寒风中的细雨
终于有人关注了,好开心呵呵。
字段从左到右依次是:
1) 流水号
2) 访问时间
3) 访问的目标url或IP
4) 登录账号
5) 源MAC
6) 源IP
7) 目标端口
8) 访问类型:0表示DNS请求,1表示同步请求(如开始拨号或登录请求),2表示get请求,3表示post请求
9) 访问目标IP
10) 源端口
11) 保留数值
65535
65535
2010-01-05 17:10:35
116.225.75.16
08460134
001E68250AB3
10.0.156.30
15703
1
116.225.75.16
13291
0
这就是其中一条记录,这样的记录服务器会自动记录在txt文档中,一分钟大概就有3万多条。
一直想不出好的解决方法,自己想了一个笨方法,就是建立一个数组分别存储目标ip,端口,类型,时间。IP访问量的统计只需统计到前三段,如a.b.c.x。然后按每小时读取日志,读取时对数组中的记录进行查找,查找采用并行查找(对a,b,c同时进行匹配),若匹配成功,则访问量加1,若不成功,则添加新记录,同时按访问量进行排序。对于端口与访问类型的统计,打算嵌套两个数组用相同的方法统计。把结果的top100记录生成图表,并记录到数据库中。
但是感觉这样的效率太低了,对服务器的开销也有些大。求指点啊!