zoukankan      html  css  js  c++  java
  • python处理log日志屏蔽攻击ip

    需求:监控日志,如果有攻击,就把ip加入黑名单
    分析:
    1、打开日志文件,读取文件中的所有的内容
    2、提取内容中的ip
    3、把ip放入到列表中去,在用set去重,得到独立不同的ip数
    4、循环set中的ip,到list中去进行ip个数的统计,超过50次的加入到黑名单

    import time
    count=0                             #初始的文件指针设置为0
    while True:
        ip_list = []                     #每次循环时把列表清空,因为是按1分钟进行统计的
        with open("access.log","r",encoding="utf-8") as fr:
            fr.seek(count)                   #根据文件指针进行文件内容读取
            for line in fr:                  #循环拿每一行内容
                ip_list.append(line.split("-")[0])  #取每一行的ip
            count=fr.tell()                #读完之后更新文件的指针
            for ip in set(ip_list):       #循环读取集合中的ip并到列表中进行统计
                if ip_list.count(ip)>50:
                    print("把ip为%s的加入到黑名单"%ip)
            fr.close()    #最后关闭文件句柄
            time.wait(60)

  • 相关阅读:
    When You Get Troubles
    CentOS 6.8升级到7+
    Tomcat服务器搭建
    Percona Server 安装
    VirtualBox中如何使虚拟机能够上网?
    CentOS
    xen安装
    SSH免密码设置
    打造绿色版的RobotFramework
    零散知识记录-Jira的安装
  • 原文地址:https://www.cnblogs.com/xinlvtian/p/11280778.html
Copyright © 2011-2022 走看看