1.
测试前准备与许可
(1)明确测试范围:列出IP、端口、应用和时间窗;(2)获取授权:与云/机房签署书面测试许可,避免影响公网或他人业务;(3)通知相关团队:运维、安全、客户支持与ISP,准备回滚计划与监测通道。
2.
环境搭建与工具准备
(1)测试机:准备至少一台位于不同网络(例如内地、海外)的测试机;(2)工具安装:iperf3、hping3、tcpreplay、wrk/hey、ApacheBench、JMeter、tcpdump、iftop、netstat、Prometheus/Grafana;(3)日志通道:配置集中日志(Syslog/ELK)并保证时间同步(NTP)。
3.
基线性能采集
(1)正常流量下采样:用iperf3测带宽(iperf3 -c <目标IP> -t 60),记录吞吐(Mbps)、延迟;(2)应用层基线:用wrk -t4 -c200 -d60 http://目标/接口,记录请求/秒、平均/95/99延迟与错误率;(3)系统指标:采集CPU、内存、连接数、socket状态。
4.
模拟高并发与稳定性测试
(1)分级压力:按10%、30%、60%、100%业务峰值并发依次运行wrk或JMeter,每级10-15分钟;(2)观察:连接数飙升、重连、HTTP 5xx率与超时;(3)命令示例:wrk -t8 -c1000 -d300 http://目标/。
5.
网络层攻击模拟(非破坏)
(1)SYN/UDP Flood:用hping3在受控范围内模拟(hping3 --flood -S -p 80 <目标>,注意小流量逐步放大);(2)记录指标:pps、丢包率(使用ping/iperf3)、防护设备触发日志;(3)安全提示:逐步递增速率并实时监控,出现严重影响立即停止。
6.
应用层攻击模拟(HTTP Flood)
(1)使用wrk/ab/tsung构造慢速与高速请求混合;(2)测试点:长连接Keep-Alive、POST大体积、慢速发送(慢速POST模拟:telnet或专用脚本);(3)验证WAF/ACL:记录规则触发、误报率与合法流量影响。
7.
Anycast/BGP与故障切换测试
(1)与提供商配合:在维护窗内模拟节点不可达或单点故障;(2)观察收敛时间:使用持续ping、traceroute及从多个地区客户端测延迟与丢包;(3)记录切换是否平滑、会话保持与DNS/流量再平衡情况。
8.
带宽限速、速率限制与连接控制验证
(1)验证限速策略:发起超出策略的并发或大流量,看是否被限速或丢包;(2)测试黑白名单与速率阈值:通过不同源IP/用户Agent绕过尝试;(3)评估对正常用户的影响并优化阈值。
9.
流量捕获与日志分析
(1)用tcpdump抓包(tcpdump -i eth0 -w test.pcap host <目标> and port 80)并在Wireshark中分析;(2)收集防护设备日志、WAF事件、系统日志与应用日志;(3)提取关键指标:平均响应、最大并发、错误率、触发规则列表。
10.
结果量化与评分表
(1)定义评分项:可用性(%)、最大承载QPS、平均延迟、收敛时间、防护触发效率;(2)示例评分:可用性>99.9得5分,收敛<30s得5分等;(3)输出报告:包含测试用例、命令、原始数据、图表与改进建议。
11.
改进与复测
(1)根据日志调整策略:放宽误杀规则、调整速率阈值、优化后端连接池;(2)复测相同场景以验证改进效果;(3)建立定期演练计划与SLA监控。
12.
注意事项与合规性
(1)所有攻击模拟必须得到书面授权与通知ISP/提供商;(2)避免影响第三方:使用私有测试IP或时间窗内限流;(3)保持证据链:保存授权文件、测试记录与实时沟通记录。
13.
问:如何确认测试不会影响真实客户业务?
答:在p标签内写说明:先签署授权,限定测试时段与流量上限;使用测试IP/镜像环境;逐步放量并实时监控指标,出现异常立即回滚并通知客户。
14.
问:用哪些命令可以快速验证网络层限速和丢包?
答:常用命令示例:iperf3 -c <目标> -t 60 查看带宽;ping -f/大包测试基础丢包;tcpdump抓包分析丢包与RST;hping3逐步发包观察防护反应。
15.
问:完成测试后如何给出改进优先级?
答:先按风险与影响排序:影响可用性和用户体验的问题优先(如会话中断、长时间丢包),其次为误报/性能优化,最后为策略细化与文档化,并用复测结果验证。
来源:香港高防服务器测试项目清单 帮助企业全面评估防护能力与稳定性