当前位置: 首页 > news >正文

wrk泛洪攻击监控脚本

wrk泛洪攻击介绍

        WRK泛洪攻击(WRK Flood Attack)是一种基于WRK工具进行的DDoS攻击(分布式拒绝服务攻击)。WRK是一个高度并行的HTTP负载生成器,可以模拟大量用户访问一个网站,从而导致该网站服务器瘫痪或失效。

        WRK泛洪攻击的原理是,通过大量仿真的HTTP请求和响应来占用网站服务器的资源,使其无法正常处理真实用户的请求。攻击者会使用一组代理服务器来反复发送请求,从而增加攻击的威力,使目标服务器癱瘓。

        在WRK泛洪攻击中,攻击者可以设置一些参数来控制攻击规模和持续时间,如并发请求数、请求频率、请求协议等。这种攻击方式往往需要大量的计算资源和带宽,因此需要进行计算和网络资源的收集和使用,同时攻击难度也相对较高,需要一定的技术水平。

        WRK泛洪攻击对于网站服务器而言是一种非常严重的威胁,可以造成大量的损失和影响。因此,网站管理员需要采取一些有效的保护措施来防范此类攻击,如加大服务器处理能力、增加带宽容量、使用DDoS防护技术、提高系统的安全性等。

脚本监控指标

该脚本监控的指标包括:

  1. 网络连接数:检测与端口80的连接数(使用netstat和ss命令);
  2. 系统负载均衡:使用uptime命令获取系统负载均衡数据;
  3. 访问日志情况:检测最近一千条访问日志中404状态码的数目(使用tail和grep命令)。

当网络连接数、系统负载均衡或404日志数等任一指标超过设定的阈值时,脚本使用iptables命令封锁当前访问量最高的IP地址,从而阻止DDoS攻击。

使用方法如下

  1. 将脚本保存为.py文件;
  2. 在终端中进入该文件所在的目录,执行命令:
    python filename.py
    
    其中filename.py为脚本文件名;
  3. 等待wrk工具启动;
  4. 监控泛红攻击,当达到设定的阈值时,脚本会自动封锁IP并退出。

需要注意的是,该脚本需要权限才能使用iptables命令,因此需要使用root用户或sudo命令执行。

完整代码如下:

import os
import subprocess
import time"""检测网络连接情况"""
def check_connections():# 通过 netstat 命令统计与端口80的连接数netstat_result = subprocess.check_output('netstat -an | grep :80 | wc -l', shell=True)# 通过 ss 命令统计与端口80的连接数ss_result = subprocess.check_output('ss -lnt | grep :80 | wc -l', shell=True)# 计算总连接数connections = int(netstat_result.strip()) + int(ss_result.strip())return connectionsdef check_load():"""检测系统负载情况"""# 执行 uptime 命令,获取系统负载均衡数据result = subprocess.check_output('uptime', shell=True)# 将结果转化为字符串result_str = result.decode('utf-8')# 根据空格分割字符串并获取最后三个元素(即负载均衡)load_avg = result_str.split()[-3:]# 将负载均衡前面的逗号去掉,并将结果转化为浮点数类型load_avg_str = load_avg[0].strip(',')return float(load_avg_str)def check_logs():"""检测访问日志情况"""# 查看日志文件,检索恶意IPresult = subprocess.check_output('tail -n 1000 /opt/lampp/logs/access_log | grep \' 404 \' | wc -l', shell=True)return int(result.strip())def block_ip(ip):"""使用iptables命令封锁IP"""# 将IP通过防火墙加入黑名单os.system('iptables -I INPUT -s {} -j DROP'.format(ip))print('IP {} blocked.'.format(ip))def main():# 泛红攻击检测阈值MAX_CONNECTIONS = 500MAX_LOAD = 2.0MAX_LOGS = 100# 等待wrk工具启动time.sleep(5)# 循环检测泛红攻击while True:connections = check_connections()load = check_load()logs = check_logs()print('Connections: {}, Load: {}, Logs: {}'.format(connections, load, logs))if connections > MAX_CONNECTIONS or load > MAX_LOAD or logs > MAX_LOGS:# 监测到泛红攻击,封锁IPip = subprocess.check_output('netstat -an | grep :80 | awk \'{print $5}\' | cut -d: -f1 | sort | uniq -c | sort -nr | head -n 1 | awk \'{print $2}\'', shell=True)block_ip(ip.strip())breaktime.sleep(5)if __name__ == '__main__':main()

相关文章:

wrk泛洪攻击监控脚本

wrk泛洪攻击介绍 WRK泛洪攻击(WRK Flood Attack)是一种基于WRK工具进行的DDoS攻击(分布式拒绝服务攻击)。WRK是一个高度并行的HTTP负载生成器,可以模拟大量用户访问一个网站,从而导致该网站服务器瘫痪或失效…...

软件I2C读写MPU6050代码

1、硬件电路 SCL引到了STM32的PB10号引脚,SDA引到了PB11号引脚软件I2C协议: 用普通GPIO口,手动反转电平实现协议,不需要STM32内部的外设资源支持,故端口是可以任意指定MPU605在SCL和SDA自带了两个上拉电阻,…...

销售/回收DSOS254A是德keysight MSOS254A混合信号示波器

Agilent DSOS254A、Keysight MSOS254A、 混合信号示波器,2.5 GHz,20 GSa/s,4 通道,16 数字通道。 ​Infiniium S 系列示波器 信号保真度方面树立新标杆 500 MHz 至 8 GHz 出色的信号完整性使您可以看到真实显示的信号&#xff1…...

RIDGID里奇金属管线检测仪故障定位仪维修SR-20KIT

里奇RIDGID管线定位仪/检测仪/探测仪维修SR-20 SR-24 SR-60 美国里奇SeekTech SR-20管线定位仪对于初次使用定位仪的用户或经验丰富的用户,都同样可以轻易上手使用SR-20。SR-20提供许多设置和参数,使得大多数复杂的定位工作变得很容易。此外&#xff0c…...

NodeJs之调试

关于调试 当我们只专注于前端的时候,我们习惯性F12,这会给我们带来安全与舒心的感觉。 但是当我们使用NodeJs来开发后台的时候,我想噩梦来了。 但是也别泰国担心,NodeJs的调试是很不方便!这是肯定的。 但是还好&…...

Java面试知识点(全)- Java并发-多线程JUC二-原子类/锁

Java面试知识点(全) 导航: https://nanxiang.blog.csdn.net/article/details/130640392 注:随时更新 JUC原子类 什么是CAS CAS的全称为Compare-And-Swap,直译就是对比交换。是一条CPU的原子指令,其作用是让CPU先进行比较两个值…...

CSS--移动web基础

01-移动 Web 基础 谷歌模拟器 模拟移动设备,方便查看页面效果 屏幕分辨率 分类: 物理分辨率:硬件分辨率(出厂设置)逻辑分辨率:软件 / 驱动设置 结论:制作网页参考 逻辑分辨率 视口 作用&a…...

Appuploader 常见错误及解决方法

转载:Appuploader 常见错误及解决方法 问题解决秘籍 遇到问题,第一个请登录苹果开发者官网 检查一遍账号是否有权限,是否被停用,是否过期,是否有协议需要同意,并且在右上角切换账号后检查所有关联的账号是否…...

消息通知之系统层事件发布相关流程

前言 Openharmony 3.1Release中存在消息通知的处理,消息通知包括系统层事件发布、消息订阅、消息投递与处理,为了开发者能够熟悉消息的处理流程,本篇文章主要介绍系统层事件发布的相关流程。 整体流程 代码流程 发布消息 { eventAction)w…...

Elsevier Ocean Engineering Guide for Authors 解读

文章目录 ★Types of contributions★Submission checklistEthics in publishing★Declaration of competing interestDeclaration of generative AI in scientific writingSubmission declaration and verificationPreprint posting on SSRNUse of inclusive languageReportin…...

基于Fragstats的土地利用景观格局分析

土地利用以及景观格局是当前全球环境变化研究的重要组成部分及核心内容,其对区域的可持续发展以及区域土地管理有非常重要的意义。通过对土地利用时空变化规律进行分析可以更好的了解土地利用变化的过程和机制,并且通过调整人类社会经济活动,…...

ffmpeg-转码脚本02

ffmpeg-转码脚本详解 高级脚本 以下为主要部分 更高级优化要见git上 mkv转码电影脚本 ECHO OFF REM 以下参数不可乱填 SET FFMPEG%~DP0\ffmpeg.exe ::------------------------------------------------------------------------------ CALL:PRO_LOOPDIR ::CALL:PRO_LOOPDIR_SU…...

SharedPreferences

Android轻量级数据存储 import android.content.Context; import android.content.SharedPreferences;public class SharedPreferencesUtil {private SharedPreferences sharedPreferences;private SharedPreferences.Editor editor;public SharedPreferencesUtil(Context con…...

服务(第二十五篇)redis的优化和持久化

持久化的功能:Redis是内存数据库,数据都是存储在内存中,为了避免服务器断电等原因导致Redis进程异常退出后数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;当下…...

David Silver Lecture 7: Policy Gradient

1 Introduction 1.1 Policy-Based Reinforcement Learning 1.2 Value-based and policy based RL 基于值的强化学习 在基于值的 RL 中,目标是找到一个最优的值函数,通常是 Q 函数或 V 函数。这些函数为给定的状态或状态-动作对分配一个值,表…...

知识图谱学习笔记——(五)知识图谱推理

一、知识学习 声明:知识学习中本文主体按照浙江大学陈华钧教授的《知识图谱》公开课讲义进行介绍,并个别地方加入了自己的注释和思考,希望大家尊重陈华钧教授的知识产权,在使用时加上出处。感谢陈华钧教授。 (一&…...

用vs2010编译和调试多个arx版本的arx项目

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、一级标题二级标题三级标题四级标题五级标题六级标题升级原先vs2008版本的项目文件到2010,或直接用vs2010新建一个arx项目; vs中查看项目属性:Project menu -> Properties,项目名上右…...

安全相关词汇

• DEW: Data Encryption Workshop • HSM: Hardware Security Module • KMS: Key Management System • KAM: Key Account Management • DHSM: Dedicated Hardware Security Module • KPS: Key Pair Service • CSMS: Cloud Secret Management Service • PCI-DSS: …...

最新入河排污口设置论证、水质影响预测与模拟、污水处理工艺分析及典型建设项目入河排污口方案报告书

随着水资源开发利用量不断增大,全国废污水排放量与日俱增,部分河段已远远超出水域纳污能力。近年来,部分沿岸入河排污口设置不合理,超标排污、未经同意私设排污口等问题逐步显现,已威胁到供水安全、水环境安全和水生态安全&#x…...

2023年认证杯二阶段C题数据合并python以及matlab多途径实现代码

对于每种心率下给出的数据,我们需要进行合并才能方便后续处理,这里为大家展示利用python以及matlab分别实现合并的代码 import pandas as pd import os# 创建一个空的DataFrame对象 merged_data pd.DataFrame()# 设置数据文件所在的文件夹路径 folder_…...

终极UDS安全性与最佳实践指南:确保您的数据安全无忧

终极UDS安全性与最佳实践指南:确保您的数据安全无忧 【免费下载链接】uds 📀 Unlimited Google Drive Storage by splitting binary files into base64 项目地址: https://gitcode.com/gh_mirrors/ud/uds UDS(Unlimited Drive Storage…...

百川2-13B-4bits量化版保姆级教程:nvidia-smi监控、端口诊断、防火墙开放全步骤详解

百川2-13B-4bits量化版保姆级教程:nvidia-smi监控、端口诊断、防火墙开放全步骤详解 1. 项目介绍:为什么选择百川2-13B-4bits? 如果你正在寻找一个能在消费级显卡上流畅运行的中文大语言模型,百川2-13B-Chat-4bits绝对值得你花时…...

GRACE数据处理避坑指南:手把手教你用MATLAB读取ICGEM的gfc文件并转成mat

GRACE数据处理实战:从ICGEM的gfc文件到MATLAB可操作mat文件的完整指南 GRACE卫星数据为地球物理研究提供了前所未有的重力场变化观测能力。作为科研人员,我们经常需要处理来自ICGEM(International Centre for Global Earth Models&#xff09…...

【大模型工程化核心瓶颈】:提示词版本失控正在拖垮你的AI交付效率?

第一章:提示词版本失控:大模型工程化中的隐形效率杀手 2026奇点智能技术大会(https://ml-summit.org) 在大模型落地实践中,提示词(Prompt)已从实验性文本演变为关键生产资产——其质量、复用性与可维护性直接决定推理…...

混合A星路径规划详解:从基础到实践的逐行源码分析

逐行讲解hybrid astar路径规划 混合a星泊车路径规划 带你从头开始写hybridastar算法,逐行源码分析matlab版hybridastar算法一、整体定位 Hybrid A 是一种面向非完整约束车辆(阿克曼底盘)的连续空间路径规划算法。它融合了离散栅格 A 与连续状…...

企业内网工具福音:手把手教你用HTML2EXE把Web管理系统“伪装”成原生Windows软件

企业级Web应用桌面化实战:用H2E_Studio打造无缝Windows体验 当企业内部的Web管理系统需要更接近原生应用的体验时,传统浏览器访问方式往往显得不够专业。想象一下:员工每次使用OA系统都要反复输入网址,窗口大小不固定,…...

NewPing超声波测距库:嵌入式实时测距的非阻塞实现

1. NewPing超声波传感器驱动库深度解析:面向嵌入式系统的高性能测距实现1.1 库定位与工程价值NewPing 是一款专为嵌入式平台(尤其是Arduino生态)设计的超声波传感器驱动库,其核心目标并非简单封装硬件时序,而是系统性解…...

3步精通抖音批量下载:从零开始打造个人视频素材库

3步精通抖音批量下载:从零开始打造个人视频素材库 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. …...

若依框架集成百度地图组件的实战指南

1. 环境准备与基础配置 在开始集成百度地图组件之前,确保你已经完成以下准备工作。我遇到过不少开发者因为基础环境没配好,导致后续步骤频频报错的情况,所以这部分特别重要。 首先,你需要一个有效的百度地图开发者账号。登录百度地…...

不满意Oh My Zsh启动卡顿,来试试Starship吧必

pagehelper整合 引入依赖com.github.pagehelperpagehelper-spring-boot-starter2.1.0compile编写代码 GetMapping("/list/{pageNo}") public PageInfo findAll(PathVariable int pageNo) {// 设置当前页码和每页显示的条数PageHelper.startPage(pageNo, 10);// 查询数…...