#需求:
#1、每分钟监控服务器日志,ip请求超过200次的,加入黑名单 #1、读文件,获取到每行的内容 open readlines
# 178.210.90.90 - - [04/Jun/2017:03:44:13 +0800]
#2、找到ip,按照空格分隔字符串,取第一个元素 split
#3、把ip存到字典里面,每个ip出现一次,ip次数就+1
#4、判断ip次数是否大于200,加入黑名单
point = 0 #
import time while True:
ips = {} # 存放ip地址的
f = open('access.log',encoding='utf-8')
f.seek(point)
for line in f.readlines():
#获取所有的ip和次数,存到字典里面
ip = line.split()[0]
if ip not in ips:
ips[ip]=1
else:
ips[ip]+=1
point = f.tell()#记录读完之后文件指针
for ip,count in ips.items():#判断ip出现的次数是否大于200
if count>=200:
print('【%s】加入黑名单'%ip)
time.sleep(60)

最新文章

  1. 通过接口实现JAVA和.NET互调用-JNInterface
  2. dapper 注意事项之GUID
  3. 腾讯QQ内测群新功能:QQ万人群即将袭来!
  4. D3D9 浮点精度的问题
  5. Docker第三方项目小结
  6. BootStrap弹窗
  7. c# 简单的通用基础字典
  8. Android进阶——声波振幅显示
  9. 转载--配置WAMP开发环境
  10. html元素
  11. sqlite3 语句总结
  12. 优秀的开发者 vs. 差的开发者
  13. BZOJ 1688: Disease Manangement (子集枚举)
  14. 成熟的C#网络通信框架介绍——ESFramework通信框架
  15. 201521123055 《Java程序设计》第5周学习总结
  16. Nuxt框架,ssr服务器渲染解决单页面应用的 SEO 问题
  17. 【python】随机数用法
  18. ubuntu18.04.2LTS下如何用五笔输入法 --Linux
  19. svg的使用集合
  20. The connection to adb is down, and a severe error has occured(Android模拟器端口被占用)

热门文章

  1. MyEclipse 2016CI破解版for Mac
  2. 常见的div布局面试题
  3. echart title属性
  4. Hdu1015&&寒假作业第二组I题
  5. 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest A. Toda 2 贪心 + 暴力
  6. 几种常用排序算法代码实现和基本优化(持续更新ing..)
  7. feign实现服务间的负载均衡
  8. 公司项目git开发流程规范
  9. 'gets' undeclared here (not in a function)
  10. 快速搭建基于Azure Paas的高可用WordPress网站