DDoS 攻击类型有几种?按消耗对象分类与识别方法

2026-11-01更新于 2026-11-02技术原理约 10 分钟

「DDoS 攻击类型」这个问题,很多文章会列一大堆名词,但看完还是不知道自己的服务器被哪种打了。这篇换个角度:先按"打的是什么"分类,再讲每种的识别特征和对应防御,最后给一张对照表。

两种分法,先搞清楚

业内有两种分类维度,混着用会乱:

分法分类说明
按消耗什么分 带宽消耗型(Volumetric) 用巨量流量堵死你的入口,单位 Gbps
资源消耗型(Protocol / Application) 用少量请求耗尽你的连接数、CPU、线程,单位 Mpps 或 QPS
按 OSI 层次分 网络层(L3) ICMP Flood、IP 分片攻击
传输层(L4) SYN Flood、UDP Flood、ACK Flood、连接耗尽
应用层(L7) HTTP Flood、CC、慢速攻击(Slowloris)

实战里用第一种更实用:带宽型的加带宽/上清洗,资源型的要动连接层和业务层逻辑,处理方式完全不同。

带宽消耗型:三种主流

1. UDP Flood

最粗暴也最常见。往目标 IP 的随机端口狂发 UDP 包,服务器收到后要回 ICMP 不可达,双向流量把带宽吃满。

特征:入向流量曲线瞬间拉满,CPU 正常,业务全挂。游戏服务器被打,一半以上是这种。

2. ICMP Flood(Ping 洪水)

大量 ICMP Echo Request。现在很多机房直接限速 ICMP,所以单独用这个的少了,通常混在混合攻击里。

3. 反射放大攻击

这是效率最高的一种:伪造源 IP(写成受害者的 IP),向大量第三方服务器发查询请求,第三方把放大了几十倍的响应打回受害者。

反射源端口放大倍数现状
DNS53约 50 倍最常见,开放递归解析器仍有大量存在
NTP123约 550 倍monlist 命令,已大量修补
Memcached11211最高 5 万倍2018 年集中爆发,现在少见了
SSDP1900约 30 倍家用路由器贡献最多
CLDAP389约 70 倍针对 Windows AD 环境

为什么危险:攻击者只需要很小的带宽(比如 1Gbps),就能打出几十 Gbps 的效果。这也是"几十块买一小时打手"能打出大流量的原因。

资源消耗型:四种主流

1. SYN Flood

只发 SYN 不回 ACK,服务器为每个半连接分配内存并等待,等待队列(backlog)塞满后正常用户也连不进来。

特征:ss -ant | grep SYN_RECV | wc -l 数字异常大,CPU 不高但新连接全部超时。

防御:SYN Cookie、增大 backlog、清洗设备做源认证。

2. ACK Flood / 连接耗尽

建立大量完整连接但不发数据,把连接表占满。比 SYN Flood 更隐蔽,因为连接状态是 ESTABLISHED,看起来像正常用户。

3. CC 攻击(Challenge Collapsar)

针对应用层。大量请求打到需要消耗资源的接口——搜索、登录、排行榜、数据库查询。一个请求让服务器算 1 秒,一千个并发就能拖垮。

游戏场景的 CC 变种:

  • 假人攻击:模拟玩家登录,走完整握手流程,耗尽登录服
  • 房间创建攻击:疯狂创建房间,耗尽房间 ID 池和内存
  • 匹配请求攻击:反复请求匹配,拖垮匹配服务

4. 慢速攻击(Slowloris / Slow POST)

用极慢的速度发完一个 HTTP 请求,一个连接占几分钟。特点是流量极小,监控上看不出异常,但连接数慢慢堆满。

怎么判断自己被哪种打了

按这个顺序查,五分钟能定位:

# ① 看带宽——判断是不是带宽型
iftop -i eth0 -n
# 入向流量远超正常峰值 → 带宽消耗型

# ② 看连接状态——判断是不是 SYN / 连接耗尽
ss -s
ss -ant | awk '{print $1}' | sort | uniq -c | sort -rn

# ③ 看包大小分布——小包多说明是资源型
tcpdump -i eth0 -nn -c 1000 | awk '{print $NF}' | sort | uniq -c

# ④ 看应用层 QPS——判断是不是 CC
tail -10000 /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head
现象大概率是
带宽打满,CPU 正常UDP Flood / 反射放大
带宽正常,SYN_RECV 暴增SYN Flood
带宽正常,ESTABLISHED 暴增连接耗尽 / 慢速攻击
带宽正常,QPS 暴增,CPU 打满CC 攻击
带宽、连接都正常,但业务卡数据库层被打 / 内部问题

一张对照表:攻击类型 vs 防御手段

攻击层次关键指标防御手段
UDP FloodL4Gbps流量清洗、丢弃异常 UDP
反射放大L3/L4Gbps清洗 + 源认证(识别伪造源)
ICMP FloodL3pps限速 ICMP、清洗
SYN FloodL4MppsSYN Cookie、代理握手
连接耗尽L4连接数连接数限制、超时回收
CC / HTTP FloodL7QPS会话识别、人机校验、限流
慢速攻击L7连接时长最短速率限制、超时

游戏行业实际遇到的是什么

根据我们处理过的案例,游戏服务器被打的比例大致是:

  • UDP Flood 占一半以上——因为游戏多走 UDP,攻击工具也最成熟
  • CC / 假人攻击约三成——成本低、效果好,专打登录服和匹配服
  • 混合攻击约两成——同时打带宽和连接,让你顾此失彼

混合攻击最难处理,因为带宽型攻击会把你的监控和值班人员注意力吸走,资源型攻击趁机打进来。这种情况需要防护设备能同时处理 L3/L4 和 L7,而不是只做其中一层。

如果你不确定自己被哪种打了,可以把 ss -s 和 iftop 的输出发给我们,帮你看一下——联系方式。或者先看DDoS 防护原理了解清洗是怎么做的。

想先验证线路质量?不限时长的免费调试实例,规格与个人版一致,不自动转正、不产生费用。
领取调试实例