博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
日志监控文件中获取ip,每一分钟统计一次,超过200次的计入黑名单
阅读量:5741 次
发布时间:2019-06-18

本文共 656 字,大约阅读时间需要 2 分钟。

一、日志文件access.log

#1、要从日志里面找到1分钟之内访问超过200次的#2、每分钟都运行一次#1、读取文件内容,获取到ip地址#2、把每个ip地址存起来{}#3、判断ip访问的次数是否超过200次#4、加入黑名单import timepoint=0while True: #死循环    ips={}    f=open('access.log',encoding='utf-8')    f.seek(point)    for res in f : #循环取文件里面的每行数据        ip=res.split()[0] #按照空格分割,取第一个元素就是iP        if ip in ips: #判断这个IP 是否存在            # ips[ip]=ips[ip]+1            ips[ip]+=1  #如果存在的话,次数+1        else:            ips[ip]=1  #如果不存在ip的次数就是1    point=f.tell()  #记录文件指针位置    for ip,count  in ips.items(): #循环这个字典,判断次数大于200的        if count>=200:            print('%s,加入黑名单'%ip)    time.sleep(60)  #停60秒

 

转载于:https://www.cnblogs.com/jingshuhui/p/9595544.html

你可能感兴趣的文章
python内置数据结构之list
查看>>
iptables 4表5链
查看>>
策略路由实验,指定出口
查看>>
针对 exchange 的杀毒软件
查看>>
Zend Studio之调试Xdebug
查看>>
SQL自动调优
查看>>
Oracle11gR2 RAC实时应用集群在Redhat Enterprise Linux5 x86_64下的集群(ASM篇)
查看>>
工作问题总结20160712
查看>>
Django博客教程(五):处理 http 请求完全解读
查看>>
haproxy负载均衡算法
查看>>
selinux(实验环境:redhat7.0)
查看>>
Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理
查看>>
linux下SS命令使用
查看>>
solaris学习1:磁盘续
查看>>
安装hadoop+zookeeper
查看>>
关于docker
查看>>
【C#】基于webservice的身份验证,如何创建新项目
查看>>
centos安装zeromq, jzmq
查看>>
【我的技术我做主】如何解决市场部门和测试部门之间的冲突
查看>>
EIGRP中AD与FD的区别
查看>>