监控日志(把访问超过指定次数的ip预警出来)

需求分析:

 

 

复制代码
import time
file_name = "access.log"
point = 0
while True:
    ips = {}
    f = open(file_name,encoding="utf-8")
    f.seek(point)
    for line in f:
       if line.strip():
           ip = line.split()[0]  #默认按照空格分隔,取到第一个元素是ip地址
           if ip not in ips:
               ips[ip] = 1
           else:
               ips[ip] += 1
    point = f.tell()  #读取之后记录指针的位置
    for ip in ips:
        count = ips[ip]
        if count >= 20:
            print("%s在攻击你"%ip)
    time.sleep(60)
复制代码

 

posted @   青青子佩-  阅读(84)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
历史上的今天:
2018-03-01 python之类的相关名词-继承-
点击右上角即可分享
微信分享提示