监控日志(把访问超过指定次数的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 @ 2022-03-01 22:39  青青子佩-  阅读(73)  评论(0编辑  收藏  举报