zoukankan      html  css  js  c++  java
  • python监控ip攻击,服务器防火墙

    '''写一个程序,监控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)
  • 相关阅读:
    angularIO 路由守卫
    vue-property-decorator用法
    windows mysql 忘记密码
    OSPF 做负载均衡
    NLB 部署网络负载平衡
    flexible.js 布局详解
    python setup.py 构建
    python Zope.interface安装使用
    lnmp菜单
    linux下的文件删除原理
  • 原文地址:https://www.cnblogs.com/lingxia/p/7681789.html
Copyright © 2011-2022 走看看