python监控ip攻击,服务器防火墙

本文介绍了一个简单的Python程序,该程序用于监控Nginx服务器日志文件。通过对日志文件的实时读取与分析,当发现某个IP在一分钟内请求次数超过200次时,该IP将被标记为潜在攻击者并加入黑名单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'''写一个程序,监控nginx的日志,如果有人攻击就加入黑名单
把ip加入黑名单的策略是,1分钟之内,如果同一个ip请求超过200次,那就加入黑名单'''
'''分析:
1、打开文件 2、循环读取 3、分割字符串取值 4、统计次数 5、加入黑名单的命令 6、关闭文件 因为每次读文件都是从开头读的,所以导致以前已经读过的就重复了,所以要 记录每次读完后的文件指针位置,再seek到那个位置 tell()能记录文件指针
''' import time pin =0 # 指针默认等于0
while True:
  with open('access.log','a+') as fr
    ips = []
    fr.seek(pin)
    for line in fr:
      ip = line.split()[0]
      ips.append(ip)
    set_ips = set(ips)
    set_ip = set(ip)
    for set_ip in ipsets:
      if ips.count(ipset)>200:
        print('%s加入黑名单'%ipset)
    pin = fr.tell()
  time.sleep(60)

 

转载于:https://www.cnblogs.com/lingxia/p/7681789.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值