1. 程式人生 > >日誌監控文件中獲取ip,每一分鐘統計一次,超過200次的計入黑名單

日誌監控文件中獲取ip,每一分鐘統計一次,超過200次的計入黑名單

utf-8 spl color bsp 死循環 odin 分割 名單 true

一、日誌文件access.log

#1、要從日誌裏面找到1分鐘之內訪問超過200次的
#2、每分鐘都運行一次

#1、讀取文件內容,獲取到ip地址
#2、把每個ip地址存起來{}
#3、判斷ip訪問的次數是否超過200次
#4、加入黑名單
import time
point=0
while 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秒

日誌監控文件中獲取ip,每一分鐘統計一次,超過200次的計入黑名單