清洗节点抖动时,先看流量波形和资源占用两个维度:流量突增、协议异常、源IP分散偏向攻击;CPU/内存打满、进程崩溃、BGP路由动荡偏向故障。
先看抖动特征:攻击和故障的第一次分界
清洗节点抖动不是玄学,它总会在监控里留痕,攻击型抖动通常伴随入向流量陡增,故障型抖动往往和资源耗尽、链路状态变化绑定。
流量波形对比:突刺还是台阶
- 攻击流量:波形像被突然拉起的尖峰,包速率、比特率、新建连接数在几分钟内成倍上涨。
- 故障流量:波形更像台阶,先有一段平稳期,随后因丢包或队列堆积出现间歇性毛刺。
- 时间分布:攻击多在业务高峰期或活动期外突然出现;故障多发生在变更后、硬件老化后、链路割接窗口。
协议与端口有没有异常
- 攻击时:某一协议占比异常,比如UDP反射、TCP SYN、ICMP洪泛中的一种突然占大头。
- 故障时:协议分布基本不变,但总吞吐下降,延迟升高。
据工信部历年公开通报,DDoS攻击仍以SYN Flood、UDP反射和HTTP Flood为主,看到这三类协议占比突变,攻击嫌疑会更大。
| 判断维度 | 攻击特征 | 故障特征 |
|---|---|---|
| 入向流量 | 短时间数量级跃升 | 总体平稳或缓慢下降 |
| 协议分布 | 单一协议占比突变 | 比例保持常态 |
| 源IP | 大量分散、伪造 | 正常业务源为主 |
| 连接状态 | SYN_RECV、UDP无状态堆积 | 建立连接但超时增多 |
清洗节点抖动怎么判断是攻击还是故障:按这个顺序查
业内专家指出,清洗节点抖动时优先确认资源水位,再判断流量成分,能少走很多弯路,顺序反了,容易把链路抖动误判为攻击。
第一步:看监控面板里的并发连接与新建速率
打开清洗节点的实时监控,重点看两个值:
- 并发连接数:如果从日常几千突增到几十万级别,先怀疑攻击。
- 新建速率(CPS):攻击型流量往往新建速率飙升,每秒新建连接从几百跳到几万。
- 会话老化时间:故障型抖动通常连接数不涨,但老连接大量超时重传。
第二步:抓包看SYN/RST比例和源IP分布
在清洗节点入向接口执行:
tcpdump -i eth0 -nn -s 0 -c 10000 -w /tmp/check.pcap
用tshark快速统计:
tshark -r /tmp/check.pcap -T fields -e tcp.flags.syn -e tcp.flags.reset | sort | uniq -c
- SYN多、RST少、源IP零散,高度指向攻击。
- RST多、重传统计高,更像链路或中间设备故障。
第三步:查清洗节点自身资源
攻击会把节点资源打满,故障也可能由资源泄漏引发,先排除自身问题:
top -b -n1 | head -20 mpstat 1 5 ss -s free -h
- CPU软中断占比高、网卡队列丢包增多,常见于大流量攻击。
- 内存缓慢增长后OOM、服务进程反复重启,就要走故障排查路线。
服务器节点抖动与DDoS攻击的区别:三个指标定方向
很多运维看到节点抖动第一反应是“被打了”,但实际链路、硬件、配置问题占比不低,行业共识认为,链路质量抖动与攻击流量导致的抖动在时间分布上有明显差异。
丢包与延迟是否同步恶化
- 攻击型:流量把带宽占满,延迟和丢包同时恶化,带宽利用率接近上限。
- 故障型:带宽利用率不高,但延迟抖动、丢包忽高忽低,常见于光模块老化或线路误码。
单机性能指标是否异常
- 攻击型:网卡收包量暴增,软中断集中在网卡队列,CPU的si(软中断)比例大幅上升。
- 故障型:磁盘I/O等待、单核打满、进程D状态增多,与流量大小无关。
BGP和路由状态
如果清洗节点参与BGP通告或引流,执行:
birdc show protocols vtysh -c "show bgp summary"
- 路由邻居反复Down/Up、AS Path变化,优先考虑链路或运营商抖动。
- 路由稳定但流量异常,回到攻击判断分支。
清洗设备延迟抖动排查方法:从CPU到BGP逐层定位
当确定更偏向故障时,清洗设备延迟抖动排查方法要有条理,从设备内部向外排除,高防IP清洗节点不稳定原因中,链路质量和设备资源问题加起来占相当一部分。
第一层:CPU与内存
top -H -p $(pgrep -f cleaning-engine) perf top -p $(pgrep -f cleaning-engine)
- 如果清洗进程CPU打满,查看是否规则更新、特征库加载引起。
- 内存持续增长且不回落,怀疑连接表未及时释放。
第二层:网卡与队列
ethtool -S eth0 | grep -E 'drop|miss|overrun|error' ip -s link show eth0
- rx_missed_errors 或 overruns 增多,说明网卡收包处理不过来。
- 这是攻击和故障都可能触发的状态,但若伴随带宽利用率低,就是队列或驱动问题。
第三层:链路与BGP
mtr -r -c 100 上游网关 ping -i 0.2 -c 200 对端回注地址
- mtr在某一跳出现持续丢包,链路抖动明显。
- BGP邻居震荡会直接造成清洗节点被绕过,回注流量中断。
攻击型抖动的两个关键信号
有些攻击并非大带宽,而是混合流量里的慢速攻击,容易与故障混淆,近年来,混合攻击里慢速连接消耗连接表的情况越来越多。
混合流量里的慢速攻击特征
- 建立大量TCP连接但数据发送极慢,连接长时间占用。
- HTTP Keep-Alive会话占满清洗节点连接表。
- 这种状态下,入向总带宽不高,但连接数异常高,延迟上升。
地域来源突然集中
清洗节点通常服务于多个地域,如果分析发现某几个地域的源IP集中出现,且流量模型不符合业务分布,基本可以判定为攻击,反之,地域分布正常、只是总流量下降,更可能链路故障。
用命令行快速做对比验证
不依赖复杂平台,清洗节点本机命令就能完成大部分初判。
建立正常基线
在业务平稳时段记录:
sar -n DEV 1 10 > /tmp/baseline_net.txt vmstat 1 10 > /tmp/baseline_cpu.txt ss -s > /tmp/baseline_conn.txt
下次抖动时,用同样命令抓当前值,直接diff对比。
攻击发生时的命令组合
sar -n DEV 1 10
ss -tan | awk '{print $1}' | sort | uniq -c | sort -rn | head
tcpdump -i eth0 -nn -c 5000 | awk '{print $3}' | cut -d. -f1-4 | sort | uniq -c | sort -rn | head
- 第一条看网卡吞吐和包速率。
- 第二条看连接状态堆积。
- 第三条看来源IP分布,出现大量陌生网段就是攻击信号。
故障发生时的命令组合
dmesg -T | tail -50 journalctl -u cleaning-service -n 100 --no-pager ethtool -S eth0 | grep -i drop ip route show
- 内核日志出现链路Down、驱动错误,是硬件或链路问题。
- 服务日志反复重启,是进程故障。
- 路由表变化频繁,是网络层故障。
清洗节点抖动不是靠猜,监控趋势、资源状态、连接质量和路由信息四者交叉验证,方向基本不会错,先排除自身与链路,再判定攻击,能减少误判带来的无效操作。
清洗节点抖动常见问题快查
清洗节点抖动怎么快速判断是不是DDoS攻击?
优先看入向流量和连接状态,如果带宽突增、源IP分散、SYN或UDP协议占比异常,同时网卡软中断高,基本可判定为攻击,若带宽不高但丢包和延迟上升,先查链路和本机进程。
服务器节点抖动与DDoS攻击的区别在资源占用上有哪些?
攻击型抖动通常表现为网卡队列和软中断高、连接数暴涨;故障型抖动多数呈现CPU单核高、内存泄漏、进程D状态或磁盘I/O等待,与流量大小无直接关系。
清洗设备延迟抖动排查方法有没有固定套路?
有,按从内到外顺序:先看CPU/内存和进程状态,再看网卡队列丢包和软中断,最后用mtr、BGP命令查链路和路由,层层排除能较快定位是自身配置、硬件还是上游链路问题。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/651559.html





