有勇气的牛排博客

nginx日志分析查询异常请求IP地址之狙击网络黑客

有勇气的牛排 622 nginx 2021-08-18 22:18:47

1 分析

使用nginx作为web端口分发时,只要请求服务器,nginx便会在access.logerror.log文件中留下记录,包括请求时间、请求方式、浏览器、、以及访问的静态文件等信息。

网络中存在很多脚本小子,多用现成工具对目标发起工具,过程中会大量占用我的服务器资源。

2 python分析 access.log

这里会统计出日志文件中ip地址请求服务器的次数,并输出结果到excel中

import openpyxl, redis # 连接redis辅助存储数据 r = redis.Redis(host="localhost", port=6379, decode_responses=True) # 创建一个工作簿 实例化 wb = openpyxl.Workbook() # 创建一个test_case的sheet表单 wb.create_sheet('nginx_log') # 删除默认表 sh = wb['Sheet'] wb.remove(sh) # 第二步:选取表单 sh = wb['nginx_log'] # 第一行输入 sh.append(['ip', '请求次数']) res = r.hgetall('ip') for key in res: print(key+':'+res[key]) # 写 excel sh.append([key.strip(), res[key]]) # 保存为一个xlsx格式的文件 wb.save('日志分析1.xlsx')

然后就可以得知每个ip地址的请求次数按照降序显示,下期讲解如何禁用异常访问ip

此方案仅用于小测试,更高级的可学习 Elasticsearch


留言

专栏
文章
加入群聊