统计攻击ip
2012-10-23 10:09
211 查看
http://topic.csdn.net/u/20081224/16/23041dbb-b0b9-46c5-9ff7-3a4dede2a6e3.html
给你1亿个ip地址和每个ip访问的时间(00:00:00=<时间<=23:59:59,并且已经按照时间排好序了),然后给定一段时间X,定义在X内如果某IP的访问次数超过Y次,则判定该IP为攻击IP。要求输出所有攻击IP。只有一组测试用例。第一行输入IP记录数(即10万),时间X(10=<X<=120秒),次数Y(2=<Y<=100)。输出按访问的时间顺序输出,IP重复不再输出。
输入示例:(为了方便,只给出8个,意思意思)
8 10 2
10.254.82.126 00:00:39
10.85.124.135 00:00:40
10.254.82.126 00:00:44
10.254.82.126 00:00:44
10.1.82.125 00:00:45
10.85.124.135 00:00:48
10.254.82.126 00:00:48
10.254.82.126 00:00:49
输出示例:
10.254.82.126
10.85.124.135
struct ipChain{
char ip[16];
char date[16];
}ipArray[100000];
在这个ipArray上 维持 2个动态标记: head 初始为0 tail为的index为 ipArray[tail].date - ipArray[head].date <= X 并且 ipArray[tail+1].date - ipArray[head].date > X。
将 tail - head + 1个元素 进行散列,加下每个ip的 count 大于Y的直接 可以输出
以后 tail++, 查看先加入的元素是否 使 ipArray[tail].date - ipArray[head].date > x, 大于 则 head++,且 散列表中其count--,一旦为0,删除之。然后 将新加入的ipArray[tail] 加入散列表 查看是否 count > Y。
这样的话 算法 应该比 O(n)差不了多少。
给你1亿个ip地址和每个ip访问的时间(00:00:00=<时间<=23:59:59,并且已经按照时间排好序了),然后给定一段时间X,定义在X内如果某IP的访问次数超过Y次,则判定该IP为攻击IP。要求输出所有攻击IP。只有一组测试用例。第一行输入IP记录数(即10万),时间X(10=<X<=120秒),次数Y(2=<Y<=100)。输出按访问的时间顺序输出,IP重复不再输出。
输入示例:(为了方便,只给出8个,意思意思)
8 10 2
10.254.82.126 00:00:39
10.85.124.135 00:00:40
10.254.82.126 00:00:44
10.254.82.126 00:00:44
10.1.82.125 00:00:45
10.85.124.135 00:00:48
10.254.82.126 00:00:48
10.254.82.126 00:00:49
输出示例:
10.254.82.126
10.85.124.135
struct ipChain{
char ip[16];
char date[16];
}ipArray[100000];
在这个ipArray上 维持 2个动态标记: head 初始为0 tail为的index为 ipArray[tail].date - ipArray[head].date <= X 并且 ipArray[tail+1].date - ipArray[head].date > X。
将 tail - head + 1个元素 进行散列,加下每个ip的 count 大于Y的直接 可以输出
以后 tail++, 查看先加入的元素是否 使 ipArray[tail].date - ipArray[head].date > x, 大于 则 head++,且 散列表中其count--,一旦为0,删除之。然后 将新加入的ipArray[tail] 加入散列表 查看是否 count > Y。
这样的话 算法 应该比 O(n)差不了多少。
相关文章推荐
- .统计日志中攻击的IP次数然后加IP屏蔽
- Python基于nginx访问日志并统计IP访问量 推荐
- IP分片攻击
- freebsd 统计连接数查看外部IP
- 统计下载日志流量,ip等各项信息的shell脚本代码
- 写了一个简单的防止IP攻击的脚本 [转]
- IP包的分片和重组——路由器的分片攻击
- IP攻击升级,程序改进以对付新的攻击
- 在线IP统计
- NET平台下的IP欺骗和SYN Flood攻击
- shell 实现统计一个网段的IP和mac对应关系并保存到文件mac.txt
- 简单网站统计功能的实现 PV IP 真实访客数(UV)
- shell 统计浏览器端ip和访问次数
- 联盟营销,统计每天IP数量的sql
- 利用IP冲突 攻击目标服务器
- 网站统计中的PV-UV-IP的定义与区别
- JSP根据IP统计访问次数
- 基于IP分片的攻击方法!
- 调整 TCP/IP 防范攻击
- 分析apache日志,统计ip访问频次命令