python-监控日志练习

存在一个access.log 日志, 格式如下, 每行 以ip 地址开始:

python-监控日志练习

1、需求:

#1、如果同一个ip地址60s之内访问超过200次,那么就把ip加入黑名单
#需求分析:
#1、60秒读一次文件
#2、分割,取到第一个元素,ip地址
#3、把所有的ip加入到一个list里,如果ip次数超过200次,加入黑名单 import time
point = 0     #文件指针
while True:
ips = []    #存放所有的ip地址
blk_set = set() #存放需要加入黑名单ip
with open('access.log',encoding='utf-8') as f:
f.seek(point)
for line in f:
ip = line.split()[0]
ips.append(ip)
#10.125.1.1
if ips.count(ip)>200:
blk_set.add(ip)
for ip in blk_set:     #这里是因为防止ip重复加入黑名单,因为集合是去重的,所以里面没有重复的ip
#os.system('jiaurru %s'%ip)#挨个将集合中的信息 加入黑名单
print('加入黑名单%s'%ip)
point = f.tell()
time.sleep(30)            #隔30s 监控一次
上一篇:geohash-net实现


下一篇:微信小程序选择图片,查看图片信息,浏览图片,图片上传