DDoS与CC防护

测试攻击峰值与清洗容量,分阶段压测和模拟流量怎么选?

说明分阶段压测与模拟流量的差异,并给出测试准备、执行步骤、观测指标和停止条件,帮助评估攻击峰值与清洗容量是否匹配实际业务。

要评估防护能力,不能只看一个“最大带宽”数字。攻击峰值与清洗容量测试方法,应同时回答两个问题:流量到达防护边界时能否被识别和处理,以及清洗后是否还有足够资源把正常业务送达源站。分阶段压测适合逐步找出容量拐点;模拟流量适合验证特定协议、报文和业务请求的处理效果。两者通常配合使用,而不是二选一。

先说清测什么:峰值、清洗和业务承载

测试前先把指标拆开。入口峰值记录进入防护系统的流量;清洗吞吐观察防护设备处理流量的能力;回源流量则反映过滤后送往业务端的部分。还要记录包速率、并发连接数、请求成功率、响应时延和错误比例。仅以带宽作为结果,可能遗漏小包密集、连接建立频繁或应用层请求过多造成的压力。

攻击峰值与清洗容量测试方法应结合真实业务基线。选取一段有代表性的正常时段,记录流量曲线与请求表现,再按业务可能承受的突发流量设定目标。目标不是猜一个越大越好的数字,而是验证防护能力与业务需求是否匹配,并确认超过能力边界时会出现什么信号。

分阶段压测与模拟流量,适用场景不同

分阶段压测:找出容量拐点

分阶段压测按预先约定的梯度增加负载,每一档保持稳定观察,再决定是否进入下一档。它能帮助定位延迟升高、丢包增加、清洗队列拥塞或源站资源耗尽的起点,适合评估整体承载上限。缺点是结果受拓扑、规则和测试端能力影响;如果只做单一流量类型,也不能代表其他协议或报文特征。

模拟流量:检查特定规则是否有效

模拟流量可以通过测试工具生成已知类型的报文或请求,检查识别、限速、丢弃与放行逻辑是否符合预期。例如在隔离实验网络中使用 iperf3 检查吞吐,或使用 Apache JMeter 对获准的测试服务生成应用请求。工具各有侧重,前者不等同于真实攻击仿真,后者也不能单独证明网络层清洗能力。测试应在自有或书面授权的环境中进行,不能把压力流量发往无关公网目标。

按顺序执行,数据才可比较

  1. 确定范围。列出被测入口、协议、正常业务路径、源站保护措施和审批人;确认测试流量不会进入第三方网络,也准备好停止开关。

  2. 采集基线。在无压测时记录一段业务表现,至少覆盖一个稳定观察窗口。保留相同时间口径下的流量、时延、错误率和设备告警,避免把日常波动误判为测试影响。

  3. 先做小流量验证。确认测试生成端、监控和清洗策略工作正常,再逐档提高负载。每档保持数分钟至十余分钟可作为规划起点,实际时长应按业务波动、告警延迟和资源恢复时间调整。

  4. 组合测试类型。先测较简单、可控的流量,再分别验证连接压力、包速率或应用请求压力。不要一次同时改流量、规则和网络路径,否则无法判断性能变化的原因。

  5. 记录边界并回退。当成功率、时延或丢包触及预先约定的停止线,或出现源站异常、清洗策略误伤正常请求时,立即降载或终止。记录触发条件、持续时间和恢复情况,随后确认规则与配置已回到常态。

结果怎么判断,避免把容量数字看偏

报告至少应分别列出入口峰值、清洗吞吐、清洗后回源量、包速率、测试时长和业务结果,并标明测试拓扑、规则版本及流量类型。若清洗设备仍有余量,但源站响应明显恶化,瓶颈可能在回源链路或应用端;若入口流量尚未达到预期,测试生成端可能先达到上限,结果不能据此推断防护容量。

采用分阶段压测时,重点看容量随负载增加的变化趋势;采用模拟流量时,重点看指定特征是否被正确处理。较稳妥的安排是先用模拟流量验证规则,再进行受控的分阶段压测。由此形成的攻击峰值与清洗容量测试方法,能区分“能清洗多少”和“业务还能否正常提供服务”,也便于后续复测比较。

常见问题

测试必须达到预计的最大攻击峰值吗?

不一定。应根据风险、授权范围和可用资源设定上限,并在接近停止线时及时结束。测试目标是验证能力与边界,不是追求制造故障。

模拟流量能代替分阶段压测吗?

不能完全代替。模拟流量适合验证特定规则和流量特征;分阶段压测用于观察负载逐步增加时的整体变化。需要容量结论时,通常应组合使用。

多久复测一次?

没有适用于所有环境的固定周期。防护架构、规则、链路或业务负载发生显著变化后,应重新评估;日常复测频率则按风险和变更管理要求确定。