一次性讲完,用linux编写一个通用的实时在后台监测防止ddos攻击脚本,每20秒钟检测一次(shell变量配置),直接给出完整的案例,无需解释,限制每个ip每秒钟和服务器建立的最大TCP连接数(shell变量配置),并增加日志记录功能,超过最大连接数则要记录时间、攻击者ip、访问端口、协议、携带报文、建立的tcp连接总数等信息保存到/home/ddos目录下(shell变量配置),每个日志文件最大100MB(shell变量配置,自动清理3天以前的日志),超过100MB则要重新生成新文件,以生成时间命名(精确到毫秒),并封禁该ip(已经封禁过的无需再次封禁),保存到/home/ddos/blackIpList.txt(shell变量配置),

时间: 2023-02-07 22:04:18 浏览: 59
以下是一个示例脚本,注意这仅仅是一个示例,并不能直接使用,需要根据实际情况进行修改: ``` #!/bin/bash # 配置参数 check_interval=20 # 检测间隔,单位为秒 max_conn=10 # 每秒最大连接数 log_dir="/home/ddos" # 日志目录 log_size=100 # 日志文件大小,单位为MB ban_time=3600 # 封禁时长,单位为秒 # 循环检测 while : do # 获取当前时间 now=`date +%s` # 获取每个 IP 每秒建立的 TCP 连接数 # -n 指定时间间隔,单位为秒,此处为 1 秒 # -z 指定统计时间粒度,单位为秒,此处为 1 秒 # -s 指定过滤器,此处为 tcp 连接建立 # -v 指定统计值,此处为 ip 数量 # -x 指定过滤器补充信息,此处为端口 # -i 指定网卡 # -o 指定输出格式,此处为 CSV 格式 # 以上命令会输出如下数据: # 时间戳,端口,IP地址,数量 # 其中时间戳是从 1970-01-01 00:00:00 开始的秒数 conn_data=`tcpdump -n -z 1 -s 0 -v -x -i eth0 -oX - 'tcp[tcpflags] & (tcp-syn) != 0' | awk -F"," '{print $1","$5","$6","$10}'` # 遍历每个 IP while read line

相关推荐

最新推荐

C#管道发送和接收图片

VS2022版本运行 Server端:先运行,可以打开资源管理器选择图片文件,在进行发送 Client端:后运行,运行后Server再执行发送操作,在线程中接收数据,显示在界面,并保存到硬盘。

人工智能-项目实践-信息检索-基于文本内容的电影检索与推荐系统

最终目标是实现一个基于文本内容的电影检索与推荐系统,可以对电影网页进行信息提取和分词,并以此为基础建立倒排文档,实现电影查询及简单的推荐功能。 第一部分解析豆瓣 html 文件,完成电影信息提取和中文分词; 第二部分建立倒排文档,完成检索和推荐功能,并用 qt 构建用户图形界面。

LaMa Image Inpainting 图像修复 Onnx Demo 源码

LaMa Image Inpainting 图像修复 Onnx Demo 源码 博客地址:https://lw112190.blog.csdn.net/article/details/136398019

uartlog-sgmii-disable-rgmii-pingerr.dat

uartlog-sgmii-disable-rgmii-pingerr.dat

ssss.rar贪吃蛇游戏demo

这是一个贪吃蛇小游戏,蛇本身是绿色的,背景是黑色的,,比较适合新手小白看看我写的代码,大神的话,要看请不要偷偷笑话我,这个可以作期末小作业Python语言写的哦

MIL_STD_1364J.537.pdf

MIL_STD_1364J.537.pdf

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire

粒子群多目标算法matlab代码【MATLAB代码实现】定义优化问题参数

# 1. 粒子群多目标算法简介 ## 1.1 什么是粒子群算法? 粒子群算法是一种基于群体智能的优化算法,灵感来源于鸟群或鱼群等生物群体的行为。每个“粒子”代表问题空间中的一个候选解,而整个粒子群代表了候选解的一个群体。粒子在解空间中搜索最优解,通过个体的经验和群体的协作来不断调整自身位置和速度,从而逐步靠近最优解。 ## 1.2 粒子群算法在多目标优化中的应用 粒子群算法最初是针对单目标优化问题提出的,但后来被扩展应用到了多目标优化领域。与单目标优化不同,多目标优化需要考虑多个冲突的目标函数,因此粒子群算法的应用在多目标优化中具有一定的挑战性。 ## 1.3 粒子群多目标算法原理解

hbase中时间戳的精确度和hbase中列族和列名的分隔符是什么

我已经回答了关于HBase中时间戳的精确度的问题,现在回答你的第二个问题: 在HBase中,列族和列名的分隔符是冒号(:)。例如,如果你有一个列族为“info”,列名为“name”的列,那么在HBase中的完整列名将是“info:name”。这个分隔符是在HBase的设计中被硬编码的,不能更改。这个分隔符在HBase的API中也得到了体现,例如在Java API中,可以使用“:`”来将列族和列名分隔开来,如下所示: ```java Get get = new Get(Bytes.toBytes("rowkey")); get.addColumn(Bytes.toBytes("info"),

spring boot应用启动原理分析.docx

spring boot应用启动原理分析.docxspring boot应用启动原理分析.docxspring boot应用启动原理分析.docxspring boot应用启动原理分析.docxspring boot应用启动原理分析.docxspring boot应用启动原理分析.docxspring boot应用启动原理分析.docxspring boot应用启动原理分析.docx