先看流量特征区分DDoS和CC,再对照业务表现缩小范围,最后用日志和高防产品数据落地确认。流量不会骗人,攻击类型写在每一个连接和请求的特征里,关键是按顺序查,别一上来就翻日志。
高防应急响应时间不够用?先分清DDoS和CC攻击的流量特征
应急响应的第一个动作不是看报表,而是确认攻击落在哪一层,行业共识认为,高防领域90%的应急场景都集中在三类攻击:网络层DDoS(L3/L4)、应用层CC攻击(L7)、混合型攻击,三者流量特征差异极大,判断方式也不同。
网络层DDoS:流量大、连接杂、来源广
这类攻击(SYN Flood、UDP Flood、ICMP Flood等)的特征非常直观:
- 带宽瞬间打满,高防服务器入向流量从正常值飙升至防御阈值
- 连接数异常膨胀,但大部分连接处于半开状态(SYN_RECV)
- 源IP分散,来自数十个乃至上百个C段
- 业务侧表现是完全无法访问,ping不通,端口不通
定位手段:不需要登服务器,直接看高防控制台的流量图,如果入向流量曲线在几十秒内垂直拉起,且流量值远高于日常峰值的数倍,基本可以断定是网络层DDoS。
应用层CC攻击:流量不大、CPU高、连接慢
CC攻击伪装成正常请求,流量特征截然不同:
- 带宽占用不高,但服务器CPU和负载持续飙高
- 大量连接处于ESTABLISHED状态,且每个连接都在反复请求
- 源IP数量可能不多,但每个IP产生高频请求
- 业务表现为页面能打开但极慢,或接口超时频繁
定位手段:观察高防服务器的TCP连接数,如果并发连接数在短时间冲到数万甚至数十万,而带宽曲线相对平缓,大概率是CC,配合一条命令即可佐证:
netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n
这条命令会输出各状态的连接计数,如果ESTABLISHED数量占比异常高,CC的嫌疑就非常大。
高防IP攻击类型判断方法:从业务表现锁定攻击方向
流量特征只是第一步,具体业务的表现会进一步帮你缩小范围,不同攻击类型对业务的影响方式不同,反向推断也是一种高效路径。
业务突然全体掉线,优先查L3/L4
如果业务是整体不可用网站打不开、SSH连不上、所有端口都无响应,那多半是网络层DDoS把链路或高防IP打瘫了,此时优先操作:
- 登录高防控制台查看入向带宽和攻击流量峰值
- 确认是否触发黑洞或防护策略
- 查看攻击类型统计,通常有SYN Flood、ACK Flood等标识
这类攻击不需要抓包分析,高防产品自带的攻击告警和防护报表已经能告诉你是哪种类型。
业务在线但响应极慢,优先查L7 CC
如果网站能开但转圈,接口时而通时不通,服务器CPU飙到80%以上,但带宽使用率不高,那就是CC攻击的典型画像,继续往下挖,定位CC的具体攻击路径:
tail -f /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20
这条命令能快速找出访问量最高的前20个IP,如果某个或某几个IP的请求数异常突出,CC攻击源基本锁定。
特定接口超时或报错,查针对性攻击
有时候攻击是有明确目标的,比如针对登录接口、搜索接口或API网关,这类攻击不会打满带宽,也不会压垮整台服务器,但会让目标接口失效,高防服务器应急响应时间之所以拉长,很多时候是因为把这类攻击误判为普通业务故障。
定位手段:检查访问日志中响应状态码为499、502、504的请求比例,正常情况下这些错误码占比应该极低,如果短时间内集中出现且集中在特定URI,攻击路径就锁定了。
带宽、连接数、请求数高防服务器三种维度定位攻击
讲完宏观判断,落到实操层面,高防服务器有三个核心数据指标,构成了定位攻击类型的三维坐标系。
| 数据维度 | DDoS攻击特征 | CC攻击特征 | 混合攻击特征 |
|---|---|---|---|
| 入向带宽 | 飙升,接近或打满 | 无明显变化或略增 | 先飙升带宽,再出现高请求数 |
| 并发连接数 | SYN半连接数暴增 | ESTABLISHED全连接暴增 | 两种连接状态均异常 |
| 请求数/秒 | 请求数可能不升反降 | 请求数/QPS暴增 | 带宽和QPS几乎同时拉升 |
光看单一指标容易误判,例如单纯看连接数,DDoS和CC都会让连接数上涨,但连接状态不同;单纯看带宽,CC攻击的带宽占用可能只有几十Mbps,但已经足够拖垮一台高防服务器后端。
抓包分析是应急响应最后的确定手段
流量特征和高防报表能覆盖大多数场景,但遇到新型攻击手法或混合攻击时,抓包分析是唯一不会出错的定位方式,在高防服务器上执行:
tcpdump -i eth0 -w /tmp/attack.pcap -c 50000
等抓到几万个包后,用Wireshark打开分析,重点看三个维度:
- 协议分布:TCP占比是否异常(正常业务HTTP/HTTPS为主)
- 包长分布:是否大量极小包(<100字节),典型SYN Flood特征
- 源IP聚合:是否少量IP贡献了大量流量,典型CC特征
抓包数据量大,分析需要时间,但准确度高,如果在高防应急响应当中无法快速定位攻击类型,抓包是兜底方案,前提是服务器还能撑住。
高防接入前还是接入后排查攻击类型?附应急操作清单
实践中一个常见困惑是:攻击发生时,负责排查业务的人自己也可能成为攻击目标(管理后台被爆破或业务接口被打),导致高防接入前后排查方式不同,而接入了高防之后,原服务器IP被隐藏,排查方式也随之变化。
接入高防后的排查流程(大多数情况)
此时业务真实IP被隐藏,攻击者打的是高防IP,排查链路如下:
- 第一步:查看高防控制台的攻击告警和防护曲线
- 第二步:比对防护峰值触发策略的时间和业务异常开始时间
- 第三步:确认防护模式是”清洗”还是”封禁”,以及是否触发了弹性防御
多数高防产品后台会直接标注攻击类型,常见为”SYN Flood””UDP Flood””CC攻击”等,这些信息直接作为定位依据,基本不需要再做额外的排查。
未接入高防或源站被绕过时
这种情况相对被动,因为攻击直接打在源站IP上,需要一步完成定位:
- 先看netstat连接状态分布,区分SYN半连接攻击和全连接攻击
- 再用top命令看CPU消耗,用户态高偏业务层,内核态高偏协议栈
- 最后看带宽(通过iftop或sar)确认是否属于流量型
一个经验性的判断是:CPU高、带宽低=CC攻击;带宽高、CPU低=DDoS攻击,这个规律在大多数情况下成立,但不能覆盖所有场景,比如针对HTTPS的SSL DoS就是带宽不高、CPU却被打满的典型。
应急操作顺序清单:从发现问题到确认攻击类型
按照以下顺序执行,可以确保高防应急响应时间控制在几分钟内:
- 确认业务异常表现(完全不可用还是响应慢)
- 查看高防控制台攻击报表状态
- 登录高防服务器比对系统负载和带宽曲线
- 执行netstat命令确认连接状态分布
- 检查业务日志确认是否有异常URI和异常UA
- 若仍不确定,抓包分析兜底
- 确认攻击类型后调整防护策略
这套流程的优点在于每一步都是基于上一步的输出做判断,不会跳过关键环节。
高防选型前和攻击后的成本权衡:国内高防机房收费多少才是合理预算
攻击类型定位清楚之后,紧接着就是防护策略和成本问题,国内高防机房收费多少直接决定了防御方案怎么选,不同攻击类型的防御成本差异明显:DDoS主要靠带宽和清洗能力,CC则更依赖源站架构和防护规则。
国内高防机房收费模式通常包含三部分:保底防御(固定费用)、弹性防御(按触发后计费)、业务带宽费用,据工信部数据,国内基础DDoS防御包一般从几十Gbps起步,搭配CC防护需要额外购买或升级套餐,高防服务器一个月成本从数百到数万元不等,具体取决于防御峰值和流量包规格。
但要注意,如果攻击类型误判,把钱全部花在带宽扩容上,结果面对的其实是CC攻击,那么防御效果会非常有限,这也是为什么定位攻击类型是所有高防投入的第一步类型确定之后,资源才能对着靶心投放。
而对应急响应团队而言,判断高防服务器攻击类型的最终目标不只是”知道是什么”,而是为了做两件事:一是调高防策略(清洗阈值、封禁规则、CC防护模式),二是改源站架构(加CDN、限流、验证码、WAF规则),类型错了,后面全错,类型对了,应急就完成了一半。
附一份常见攻击类型速查,供应急参考:
- SYN Flood:连接表满,访问超时,日志无业务记录
- UDP Flood:带宽打满,CPU不一定高,却大量UDP包
- CC攻击:CPU高,带宽正常,日志全是同一URI请求
- 慢速攻击:连接数缓慢增长,单个连接长时间占用
- 混合攻击:先DDoS后CC,防御方需要同时处理两种类型
掌握这些特征,把判断流程固化成脚本和文档,下次遇到攻击时,高防应急响应时间会从小时级压缩到分钟级。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/635420.html





