#监控日志,如果有攻击的,就把IP加入黑名单
#分析 1、打开文件 2、拿出IP 3、判断IP出现次数 大于100次加入 4、每分钟读一次
#直接循环一个文件对象的话,每次循环的是文件的每一行
#文件句柄 文件对象
import time
point=0#每次记录文件指针的位置
while True:
all_ips=[]#存放所有IP
file=open('access.log',encoding='utf-8')
file.seek(point)#移动文件指针
for line in file:
ip=line.split()[0]
all_ips.append(ip)
point=file.tell() # 记录文件指针的位置
# print(all_ips)
# for i in set(all_ips):
# if all_ips.count(i)>100:
# print("攻击的IP是%s"%i)
all_ip_set=set(all_ips)
for ip in all_ip_set:
if all_ips.count(ip)>50:
print(ip)
file.close()
time.sleep(60)#暂停60秒