有勇气的牛排博客
☰

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

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

知止自律打卡-微信小程序APP
一款微信自律打卡小程序,支持自定义打卡项目、习惯记录、项目日记、专注计时与数据统计。自律打卡、学习打卡、读书打卡、健身打卡、运动打卡、减肥打卡、戒色打卡、养生打卡、戒烟、戒酒、戒熬夜等多种场景。万能打卡模板自由创建。可自定义每日打卡目标,记录习惯连续天数,可视化追踪成长进度。
了解产品详情 →
微信搜索「知止自律打卡」
知止自律打卡微信小程序

1 分析

使用nginx作为web端口分发时,只要请求服务器,nginx便会在access.log与error.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

标签:

×
×