课程名称:计算机网络应用 核心摘要:本节课以 DDoS 攻击为例讲解 TCP 协议的设计缺陷,重点分析 SYN Flood(同步洪水)攻击的原理:利用 TCP 三次握手机制和重试机制,通过伪造大量 IP 地址发送 SYN 包,使服务端资源过载从而导致拒绝服务。
- TCP 协议缺陷:主要体现在三次握手机制上,其重试机制既是优势也可被恶意利用
- DoS / DDoS(Denial of Service / Distributed Denial of Service):分布式拒绝服务攻击,利用合理请求造成服务器资源过载,导致服务不可用
- SYN Flood(同步洪水攻击):最常见的 DDoS 攻击方式,针对 TCP 协议层
- 半连接:仅完成第一次和第二次握手、未完成第三次握手的连接状态
- 肉鸡:被黑客通过木马程序控制的大量电脑,可同时向目标服务器发起攻击
- 重试机制:TCP 协议在未收到对方应答时的自动重传机制
| 攻击类型 | 说明 |
|---|
| SYN Flood | 同步洪水攻击,利用 TCP SYN 包(最知名) |
| UDP Flood | UDP 洪水攻击 |
| ICMP Flood | ICMP 洪水攻击 |
| SMPP Flood | SMPP 洪水攻击 |
| 步骤 | 攻击方动作 | 服务端反应 | 资源消耗 |
|---|
| 1 | 伪造大量 IP 地址,向服务端发送海量 SYN 包 | 收到 SYN,回复 SYN+ACK | 每个请求创建半连接 |
| 2 | 伪造的 IP 地址不会回应第三次握手 | 未收到 ACK,触发重试机制 | 重试 3~5 次 |
| 3 | 持续发送更多伪造 SYN 包 | 等待超时(30秒~2分钟)后才丢弃 | 每个半连接消耗 2~3 倍正常连接资源 |
| 4 | 海量半连接堆积 | 服务器资源完全过载 | 正常请求无法处理 → 服务不可用 |
| 参数 | 数值 |
|---|
| 重试次数 | 3~5 次 |
| 超时等待时间 | 30 秒 ~ 2 分钟 |
| 单个半连接资源消耗 | 正常连接的 2~3 倍 |
攻击者利用的设计缺陷:
TCP 重试机制 → 未收到 ACK 时自动重试 → 占用资源等待超时
攻击链路:
伪造IP → 发送SYN → 服务端回复SYN+ACK → 无响应 → 重试3~5次 → 资源耗尽
↓
半连接堆积 → 服务不可用
本节无具体配置命令。提及的防护方案:
- 云服务防护:阿里云等云厂商提供 DDoS 防护服务,可购买使用
- TCP 协议是互联网基础设施,"牵一发而动全身",难以从协议层面修复,只能尽可能防护
- TCP 协议是双刃剑:重试机制是保证可靠性的优势,但被恶意利用则成为缺陷
- SYN Flood 攻击核心原理:伪造 IP + 大量 SYN 包 + 利用重试机制消耗资源——高频面试题
- 半连接概念:未完成三次握手的连接,每个半连接消耗 2~3 倍正常连接资源
- TCP 协议难以修复:作为互联网基础协议,修改牵涉范围极广,只能通过外部防护手段缓解
- DDoS 攻击方式多样:SYN Flood 仅为最知名的一种,后续安全防护模块会详细讲解
- DDoS 攻击的详细防护方案将在后续安全防护模块专门讲解
- 其他 DDoS 攻击类型(UDP Flood、ICMP Flood 等)的具体原理待后续课程补充