抓包确认恶意流量已被清洗拦截,核心方法是对比清洗前后的流量指纹:攻击源IP消失、TCP握手序列恢复、带宽回落到基线值,三项同时满足才算真正的拦截干净。
抓包怎么看流量是否被清洗先定位你的抓包点
很多人刚接入高防IP就急着抓包,结果看到满屏攻击报文,当场以为清洗没生效,其实问题多半出在抓包位置上。
清洗节点前后,流量呈现两种截然不同的样貌
流量清洗设备的作用,是把正常请求转回源站,把攻击报文丢弃在黑洞路由里,这就意味着同一时刻清洗设备两侧的流量长相完全不一样:
- 清洗设备上游,攻击流量和正常流量裹在一起,源IP五花八门,报文特征杂乱无章。
- 清洗设备下游,攻击源IP明显减少,剩下的是通过指纹校验的正常会话。
- 源站服务器网卡上,正常情况下只剩干净的转发流量,偶见极少量低危报文漏网。
所以如果你在源站本地抓包,看到的攻击流量理应很少,如果依然铺天盖地,那就要往下排查了。
部署抓包点的三个位置及各自意义
在清洗设备上游抓包
这个位置能看到全部原始流量,适合确认攻击确实存在,识别攻击类型和峰值带宽,但别用它来判断清洗结果,它反映的是攻击进入清洗节点前的原始样貌。
在清洗设备下游抓包
这个位置的流量等于清洗后的输出结果,是验证清洗效果的黄金抓包点,在高防机房或云端清洗节点出方向部署旁路镜像,抓三到五分钟样本就足够分析。
在源站服务器本地抓包
这是多数运维最先想到的位置,也是最容易出现误判的位置,本地网卡抓到的包经过了完整链路,如果清洗设备回源策略配置不当,或者源站IP被攻击者提前摸透并绕过高防直连,本地抓包就会看到攻击仍在持续,此时要排查的是链路暴露问题。
用tcpdump和Wireshark验证清洗效果的实操路径
把抓包工具用熟,往往比对着监控大屏猜测更有说服力,下面这套操作路径,适用于绝大多数Linux源站场景。
第一步:抓取样本,过滤可疑源IP
先在源站上开一个三分钟的抓包窗口:
tcpdump -i eth0 -w /tmp/clean_test.pcap -c 20000
抓完用Wireshark打开,通过“统计 -> 端点 -> IPv4”查看源IP排行,如果top10里大量出现陌生地址段,或者来自境外IDC机房的IP占比异常高,说明清洗策略对这部分来源没有生效。
第二步:统计TCP连接状态分布
攻击是否残留,TCP三次握手是很好的判断依据,在Wireshark里用显示过滤器:
tcp.flags.syn == 1 && tcp.flags.ack == 0
如果看到大量SYN报文只有请求方向、没有对应回包,说明这些半连接被清洗网关直接丢弃了,拦截在工作,但如果SYN全部有完整的ACK响应,说明请求已经穿透清洗设备,需要立即回溯配置。
第三步:对比清洗前后的流量清单
行业共识认为,清洗生效的标志不是攻击流量完全归零,而是恶意流量占比大幅下降,正常业务请求占比恢复,把清洗前后的pcap各导出一份,对比如下:
| 对比项 | 清洗前特征 | 清洗后特征 |
|---|---|---|
| 攻击源IP数量 | 成百上千,分布散乱 | 归零或降至个位数 |
| 单连接请求频率 | 高频重复,间隔极小 | 回落至人类访问节奏 |
| 报文大小分布 | UDP碎片和异常大包居多 | HTTP/TCP正常报文为主 |
DDoS清洗后如何确认攻击已结束看这三组数据
带宽曲线回落到攻击前基线
登录高防管理控制台,查看入方向带宽曲线,攻击期间曲线往往顶在防护阈值附近,清洗生效后分钟级图表会在较短时间内回落到业务常态水平,持续两小时保持平稳,才能算真正清扫结束。
SYN Flood和UDP Flood报文归零
高防平台通常提供攻击类型分布报表,在报表里确认SYN Flood、UDP Flood、ACK Flood等攻击类型从“攻击中”状态变为“未检测到”,此时配合tcpdump在源站抓包,筛选同类报文,数量应趋近于零。
业务端到端延迟恢复正常
攻击期间链路拥塞,接口响应时间可能被拉到几千毫秒,清洗完成后,ping源站IP和实际请求接口的耗时都会回到常规区间,写个简单的循环脚本,每5秒记录一次请求耗时,连续采样十分钟,P95延迟恢复至攻击前水平即可收工。
抓包显示攻击流量还在,可能是这三件事没做对
这种情况在真实运维里太常见了,明明是正规高防套餐,本地抓包却仍然看到一堆攻击特征,第一反应是怀疑服务商清洗能力,但多数场景下,问题出在以下几个环节。
清洗策略没覆盖全部攻击特征
高防后台的防护策略默认只挡协议层攻击,如果你的业务涉及UDP端口或自定义TCP包头,需要手动开启对应清洗规则,部分高防节点对混合型攻击的识别存在延迟,攻击特征全部匹配到策略之前,会穿透一小段窗口期。
- 登录高防控制台,检查“防护策略”里协议类型是否全覆盖。
- 确认当前高防实例的清洗阈值设置合理,阈值调太高会放过小规模低频攻击。
- 观察穿透过来的攻击报文集中在哪个端口,那个端口很可能就是策略盲区。
抓包点其实处于清洗设备上游
前面反复提到,上游抓包天然看到完整攻击流量,如果你把抓包节点搭在源站和高防之间的中转机,或者使用了代理链路的第二跳,那么看到的流量本身就是清洗前和清洗后的混合体,尽量把抓包点设在源站入口第一块网卡上。
源站真实IP被发现,攻击走了直连通道
攻击者可以通过历史DNS解析记录、子域爆破等方式摸到源站真实IP,绕过高防直接打过来,判断方法很简单:在源站本地抓包,看目的IP是不是源站真实公网IP,同时观察源IP是否直接来自公网随机地址,如果是,说明防护链路已被绕过,需要立即更换源站IP,并在防火墙上配置回源白名单。
Q&A:抓包确认流量清洗效果常见问题
高防IP接入后抓包仍看到攻击包,清洗没生效吗?
先分辨抓到的是哪种报文,少量HTTP慢速攻击或低频CC请求不在高防默认清洗范围内,属于正常现象;如果SYN Flood报文占比超过一半,大概率是策略未同步或回源IP暴露,需要联系服务商核查回源链路,也可以临时把本地抓包文件导出发给清洗服务商,让他们的技术团队帮你做报文级对拍。
tcpdump和Wireshark哪个更适合判断清洗结果?
tcpdump适合无人值守采集,开销低,能长时间挂在服务器上抓样本,Wireshark的强项在交互式分析,过滤语法直观,图形界面对异常报文分布更敏感,实际场景中两者配合使用:tcpdump负责取数,Wireshark负责复盘确认。
免费抓包工具和商业流量分析平台差距大吗?
免费工具的抓包能力本身没有瓶颈,主要差距在聚合分析效率上,商业流量分析平台自带攻击指纹库和自动基线对比,能省去人工翻阅pcap的时间,如果只是临场验证一次清洗效果,免费工具完全够用,前提是你愿意花二十分钟静下心来看原始报文。
回到核心结论:抓包验证清洗效果并不复杂,选对抓包点,对比源IP、TCP握手和带宽三组数据,再排除策略盲区、抓包位置、源站暴露三个潜在误区,你就能给自己一个确切的答案。这套方法对简米云、酷番云、华为云以及各类高防机房都适用,区别只是控制台入口名称不同,抓包判断逻辑完全一致。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/654133.html





