CC 攻击怎么防御?和 DDoS 的区别在哪

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

这两个词经常被混着说,但它们是两种完全不同的攻击。搞清楚区别,才知道该用哪种防护。

一句话区分

DDoS 打的是带宽和连接,CC 打的是业务逻辑。

  • DDoS:用海量垃圾流量把带宽堵死,你的服务器连包都收不进来
  • CC:流量看起来完全正常,但请求的都是最耗资源的接口,把 CPU 和数据库拖垮

打个比方:DDoS 是堵住店门不让客人进,CC 是进来一万个人点最贵的菜然后不吃。

六个维度对比

维度DDoSCC
攻击层级网络层 / 传输层应用层(HTTP、游戏协议)
流量特征入向流量暴涨,曲线突变流量正常,监控看不出异常
资源消耗带宽、连接数CPU、内存、数据库连接
攻击成本高(要买流量)低(一台机器就能发起)
识别难度低(看流量曲线即可)高(请求和正常用户几乎一样)
防护方式流量清洗、带宽扩容会话校验、行为分析、人机识别

为什么 CC 更难防

DDoS 再猛,特征很明显——流量一拉起来就知道被打。CC 不一样,它伪装成正常用户:

  • 请求头完整,User-Agent 正常
  • 来源 IP 分散(代理池),单 IP 频率很低
  • 请求的接口是真实存在的,参数也是合法的

所以基于「频率限制」的防护基本无效——每个 IP 只发一点点,加起来就是洪水。

CC 的常见打法

  1. 打登录接口。登录要查数据库、要算密码哈希,最耗资源。持续请求登录接口,数据库连接池很快耗尽。
  2. 打搜索/列表接口。这类接口通常带模糊查询,SQL 执行慢,几个并发就能拖垮数据库。
  3. 打游戏大厅。刷新房间列表、排行榜这类接口,玩家本来就会频繁调用,混在正常请求里很难识别。
  4. 慢速攻击。用极慢的速度发请求(比如一个字节一个字节地发),占着连接不放。这是 CC 的变种,叫 Slowloris。

怎么判断自己是被 CC 还是 DDoS

按这个顺序查:

  1. 看入向流量曲线。突然拉起一条直线 → DDoS。曲线平缓但 CPU 爆 → 大概率 CC。
  2. 看连接数。连接数暴涨但流量不大 → SYN Flood 或 CC。
  3. 看应用日志。某个接口的 QPS 异常高,且来源 IP 分散 → CC。
  4. 看数据库。数据库连接数打满、慢查询激增 → CC 打到数据库了。
有个快速判断法:把公网流量全断掉,如果服务器 CPU 立刻降下来,说明是 DDoS(流量进不来就好了);如果 CPU 还在高位,说明有本地进程在跑,可能是 CC 打进来的请求还在队列里,或者程序本身有问题。

CC 怎么防

核心思路不是「限制频率」,而是「验证这是不是真人/真客户端」。

1. 会话层校验

要求请求携带有效的会话令牌,且令牌必须是服务端签发的。纯 CC 工具拿不到有效令牌,直接被过滤。

游戏场景更简单——客户端 SDK 建立隧道时会做握手验证,攻击者没有合法客户端就建不了隧道。

2. 行为特征分析

看请求的「像不像人」:

  • 请求间隔是否过于规律(人不会精确到毫秒)
  • 是否只请求单一接口(正常用户会浏览多个页面)
  • 是否携带完整的浏览器/客户端指纹
  • 鼠标轨迹、点击位置(Web 场景)

3. 分层限速

不是简单的一刀切,而是按接口的重要性分级:

接口类型策略
静态资源宽松,走 CDN 缓存
普通查询单 IP 每分钟 60 次
登录/注册严格,单 IP 每分钟 5 次 + 验证码
支付/提现最严,需二次验证

4. 降级预案

被打的时候,非核心功能要能主动关掉。比如:

  • 关掉排行榜、公告这类非必要接口
  • 登录加验证码(哪怕影响体验)
  • 限流阈值临时调低

保住核心玩法,比什么都保不住强。

为什么通用高防挡不住 CC

大多数高防产品的 CC 防护只有两层:

  1. 单 IP 频率限制
  2. JS 挑战(让浏览器执行一段 JS 验证)

第一层被代理池绕过(每个 IP 只发一点点),第二层对游戏客户端完全无效(游戏不走浏览器)。

所以做游戏的话,CC 防护要看方案有没有客户端级的身份校验,而不只是流量层的规则。

小结

你的情况该防什么
流量曲线突然拉满DDoS,找流量清洗
CPU 爆但流量正常CC,找会话校验方案
两个都有需要完整防护体系,不是单一产品

想了解游戏场景的完整防护架构,可以看 DDoS 防护原理 这篇。

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