监控服务器日志,找出每分钟访问超过100次的ip地址
Posted zhumintest
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监控服务器日志,找出每分钟访问超过100次的ip地址相关的知识,希望对你有一定的参考价值。
#1、监控服务器日志,找出每分钟访问超过100次的ip地址
#分析:
#1、读取文件,获取到文件里面的所有ip地址
#2、把ip地址存起来,用字典存,key是ip地址,value是次数
#3、循环字典,判断value大于100的
#日志内容分析
#37.9.169.20 - - [04/Jun/2017:03:48:21 +0800] "GET /wp-admin/security.php HTTP/1.1" 302 161 "http://nnzhp.cn/wp-admin/security.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.4 (Khtml, like Gecko) Chrome/5.0.375.99 Safari/533.4" "-"
import time
point = 0
while True:
ips = {} # 存放所有的ip地址以及它出现的次数
f = open(‘access.log‘)
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] = ips[ip]+1
point = f.tell() #当前文件指针的位置
for ip in ips:
if ips.get(ip) >= 100:
print(‘超过100次的ip是:%s‘%ip)
time.sleep(60) #每分钟统计一次
以上是关于监控服务器日志,找出每分钟访问超过100次的ip地址的主要内容,如果未能解决你的问题,请参考以下文章
日志监控文件中获取ip,每一分钟统计一次,超过200次的计入黑名单