
DDoS 攻击类型全解析:从流量攻击、CC 到 L7 攻击
发布于 2026-09-24|作者: ByteShield Team
重点摘要
- 判断 DDoS 不能只问「攻击流量有多大」,更要确认攻击正在消耗哪一种资源:带宽、连线,还是应用处理能力。
- Volumetric Attack 以 BPS 衡量,目标是塞满带宽;Protocol Attack 以 PPS、SYN Rate、Concurrent Connections 衡量,目标是耗尽连线资源。
- L7 攻击与 CC Attack 发送的是完全符合 HTTP Protocol 的 Request,流量不一定大,却可能集中消耗 Login、Search、API 等高成本 Endpoint。
- 到了 L7,单一 Request 几乎无法区分正常用户与恶意 Bot,需要从 Request Frequency、Fingerprint、Session 与 Behavior 判断「这个 Client 正在做什么」。
当企业谈到 DDoS 防护时,第一个想到的通常是带宽与清洗能力:能防多少 Gbps?能不能应对 Tbps 级的大流量攻击?
这些问题很重要,但已经不足以完整描述 DDoS 的风险。除了塞满带宽的 Volumetric Attack,攻击也可能消耗 TCP 连线、Web Server、API 或 Database 资源。
尤其到了 Layer 7(L7),攻击流量未必特别庞大。大量看似正常的 HTTP Request,也可能透过 Login、Search、API 等高成本 Endpoint 持续消耗应用资源。
因此,判断 DDoS 不能只问「攻击流量有多大」,还要确认:攻击正在消耗哪一种资源?
DDoS 攻击是什么?
DDoS(Distributed Denial of Service,分布式阻断服务)是指透过大量分散来源的流量或请求消耗目标资源,使正常用户无法顺利取得服务。
但不同 DDoS 攻击所消耗的资源并不相同。从网络层到应用层,常见 DDoS 攻击大致可以分成三类:
- Volumetric Attack:流量型攻击
- Protocol / L3-L4 Attack:协议型攻击
- Application / L7 Attack:应用层攻击
此外,到了应用层,Automated Bot Traffic 也可能与 HTTP Flood、CC Attack、API Abuse 等行为产生交集。
| 攻击类型 | 主要攻击目标 | 常见案例 | 优先观察指标 |
|---|---|---|---|
| Volumetric Attack | Network Bandwidth | UDP Flood、DNS Amplification | BPS |
| Protocol / L3-L4 Attack | TCP Connections、Network Resources | SYN Flood、Connection Exhaustion | PPS、Concurrent Connections |
| Application / L7 Attack | Web Servers、APIs、Applications、Databases | HTTP Flood、CC Attack、API Flood | RPS、URI / API Endpoint、HTTP Status |
| Automated Bot Traffic* | Business Logic、Accounts、APIs | Login Abuse、Scraping、Automated Requests | Fingerprint、Session、Behavior |
* Automated Bot Traffic 本身不一定是 DDoS,但在应用层可能与 HTTP Flood、CC Attack、API Abuse 等行为重叠。
第一类:Volumetric Attack,目标是塞满带宽
Volumetric Attack 是最直观的 DDoS 攻击类型。这类攻击目的很直接:透过大量流量占满目标的网络带宽,导致用户的流量无法顺利进入。
常见方式包括:
- UDP Flood
- DNS Amplification
- Reflection / Amplification Attack
这类攻击通常以 BPS(Bits Per Second)衡量。当 BPS 在短时间内异常增加,甚至逼近或超过网络可承载的带宽,就可能造成:
Packet Loss → Latency 上升 → Connection Timeout → 服务无法正常访问
因此,Volumetric Attack 最核心的特征就是:利用「流量规模」消耗网络容量。但反过来说,带宽没有被打满,并不代表没有遭受 DDoS;因为下一类攻击,瞄准的是完全不同的资源。
第二类:Protocol Attack,不一定塞满带宽,也能让服务失效
Protocol Attack 针对的不是带宽本身,而是网络协议与连线资源。最典型的例子之一就是 SYN Flood。
正常 TCP 连线需要完成三次握手:
- Client 发送 SYN
- Server 回应 SYN-ACK
- Client 回传 ACK,Connection Established
但在 SYN Flood 中,攻击者会大量发送 SYN Request,却不正常完成后续连线。
Server 必须暂时保留这些尚未完成的 Connection State。当大量半开连线持续累积,就可能消耗 Server、Firewall、Load Balancer 或其他中间设备的连线资源,使正常用户无法建立新的 Connection。
因此,这类攻击不能只看 BPS。PPS(Packets Per Second)、Concurrent Connections、SYN Rate 等指标,往往更具有判断价值。
简单来说:Volumetric Attack 关注的是「有多少流量」,Protocol Attack 则更需要观察「系统正在处理多少封包与连线」。
第三类:Application Layer / L7,流量不一定大,成本却可能很高
到了 Layer 7,DDoS 攻击开始变得更加复杂,因为攻击者发送的不一定是异常封包,而可能是一个完全符合 HTTP Protocol 的 Request。例如:
GET /product/123
POST /login
GET /api/search
从 Network Layer 看,这些都可能是正常的 TCP / HTTPS Traffic。
真正的问题是:服务器为了处理这个 Request,需要付出多少成本?
例如,一次 Login Request 背后可能需要:
验证账号 → Database Query → Token Verification → 建立 Session → 回传结果
一次 Search API 可能涉及 Database Query、Search Index 或其他 Backend Computation。
若大量 Request 持续集中在这些高成本 Endpoint,即使总 Bandwidth 没有明显增加,仍可能造成 CPU、Database Connection、Application Thread 或 API Resource 被大量占用。
这也是 Application Layer DDoS 最麻烦的地方:攻击流量可能看起来和正常用户几乎一样。
CC Attack 是什么?为什么它属于 L7?
CC Attack(Challenge Collapsar)通常用来描述透过大量 HTTP Request,持续消耗 Web Server 或 Application Resource 的应用层攻击。
它和传统大流量 DDoS 最大的差别在于:Volumetric Attack 主要消耗网络容量;CC Attack 更接近消耗服务处理能力。
例如攻击者可能持续请求:
/login/search/api/query/product- Dynamic Page
- Uncached Content
假设一次 /login Request 本身只有几 KB,对 Bandwidth 的影响可能很小。但如果每一次 Request 都需要 Database Query、Authentication 或其他 Application Logic,大量请求持续累积后,真正被消耗的就是后端资源。
因此,一个网站即使拥有充足带宽,也不代表一定能承受大量 CC / L7 Request。这也是为什么判断 CC Attack 时,RPS(Requests Per Second)通常比单纯观察 BPS 更有意义。
BPS、PPS、RPS:遇到攻击到底该看什么?
很多 DDoS 防护问题的第一步,其实不是立刻封 IP,而是先判断:到底是哪一层资源正在出现异常?
| 观察到的现象 | 优先检查 | 可能的攻击方向 |
|---|---|---|
| Bandwidth 突然暴增 | BPS | Volumetric Attack |
| Packet 数量异常增加 | PPS | L3/L4 Attack |
| SYN / Connection 大量增加 | Connection / SYN Rate | Protocol Attack |
| HTTP Request 突然暴增 | RPS | HTTP Flood / CC |
| Login / Search / API 异常集中 | URI / API Endpoint | L7 / API Abuse |
| 大量不同 IP 呈现相似行为 | Fingerprint / Session / Behavior | Automated Bot |
简单来说:
- BPS 告诉你网络承受多少流量
- PPS 告诉你网络正在处理多少封包
- RPS 则开始告诉你应用正在承受多少请求
到了 L7,单靠其中任何一项指标,都可能无法完整判断攻击。
为什么 CC / L7 比传统 DDoS 更难辨识?
假设现在有三个 Request:
- 正常用户:
GET /product/123 - 普通 Crawler:
GET /product/123 - 恶意 Bot:
GET /product/123
从单一 HTTP Request 来看,它们可能没有明显差异。因此到了 L7,防护系统不能只问「这个 IP 是不是黑名单」,还需要进一步观察:
- Request Frequency 与 Request Interval
- URI / API Endpoint
- IP / ASN Distribution
- User-Agent、TLS / Device Fingerprint
- Cookie / Session、Navigation Pattern 与 Historical Behavior
例如,一个 Client 每隔完全相同的时间请求商品页,或大量不同 IP 呈现高度一致的 Request Sequence,都可能比单纯的 IP Reputation 更具有辨识价值。
而当 Automated Traffic 进一步结合 Distributed IP、不同的 User-Agent / Client 特征、不同的 Request Interval、不同的 API / Endpoint,甚至模拟一般浏览行为,单纯依靠 IP Blocklist 的辨识能力就会进一步下降。
到了 L7,分析方式开始从「这个 Request 从哪里来?」变为「这个 Client 正在做什么?」
需要注意的是,Bot 本身并不等于 DDoS。搜索引擎 Crawler、Monitoring Service 或其他合法自动化工具,同样可能属于 Automated Traffic。真正需要辨识的,是这些自动化行为是否正在造成大量异常 Request、Login Abuse、Scraping、API Abuse,或其他应用与业务风险。
L7 的难点,不只是辨识异常封包,而是辨识异常行为。
攻击越来越像正常流量,该怎么分辨与解决?
从 Volumetric、Protocol 到 L7,不同 DDoS 攻击瞄准的是不同资源:带宽 → 连线 → 应用处理能力。
因此,企业需要观察的也不再只有 BPS 与 PPS,而是进一步延伸到:RPS、API Endpoint、Session、Fingerprint 与 Behavior。当攻击进入 L7,恶意 Request 甚至可能与正常用户没有明显差异。
但这也带来下一个问题:既然不同攻击发生在不同 Layer,只靠一种防护方式真的足够吗?
下一篇〈从 L3/L4 到 L7:如何建立多层联防架构?〉,我们将从防护架构的角度,进一步解析 DDoS Protection、CC Defense 与 Bot Management 分别处理哪些层面的风险,以及 ByteShield 如何协助企业从 L3/L4 到 L7 建立多层联防。
常见问题
DDoS 攻击主要分成哪几类?
从网络层到应用层,常见 DDoS 攻击大致可分为三类:Volumetric Attack(流量型,消耗带宽)、Protocol / L3-L4 Attack(协议型,消耗 TCP 连线与网络资源)以及 Application / L7 Attack(应用层,消耗 Web Server、API 与 Database 资源)。到了应用层,Automated Bot Traffic 也可能与 HTTP Flood、CC Attack、API Abuse 等行为产生交集。
CC Attack 和传统大流量 DDoS 有什么不同?
Volumetric Attack 主要消耗网络容量;CC Attack 则透过大量 HTTP Request 持续请求 /login、/search、API 等高成本 Endpoint,消耗的是服务处理能力。单次请求可能只有几 KB,但每次都触发 Database Query 或身份验证,累积后会占满后端资源。
遇到攻击时应该看 BPS、PPS 还是 RPS?
BPS 反映网络承受多少流量,适合判断 Volumetric Attack;PPS 与 SYN Rate、Concurrent Connections 反映系统处理多少封包与连线,适合判断 Protocol Attack;RPS 反映应用承受多少请求,适合判断 HTTP Flood 与 CC Attack。到了 L7,还需要搭配 URI、Fingerprint、Session 与 Behavior 一起判断。
带宽没有被打满,是否代表没有遭受 DDoS?
不一定。Protocol Attack 可能以大量半开连线耗尽 Server、Firewall 或 Load Balancer 的连线资源;L7 攻击则可能以看似正常的 HTTP Request 集中消耗应用资源,两者都不一定会让带宽明显上升。
Bot 流量都是 DDoS 吗?
不是。搜索引擎 Crawler、Monitoring Service 等合法自动化工具同样属于 Automated Traffic。真正需要辨识的,是自动化行为是否正在造成大量异常 Request、Login Abuse、Scraping、API Abuse 或其他业务风险。
如果您的网站、APP 或 API 正在面对异常流量,欢迎了解 ByteShield 安全防护服务,或联系 ByteShield 团队,协助您判断攻击正在消耗哪一层资源。


