在 Debian 上使用抓包工具识别恶意流量的实操指南
一 工具选择与部署
- 在 Debian 上常用的抓包与流量分析工具包括:tcpdump(轻量、命令行)、Wireshark/dumpcap(图形化与高性能采集)、以及可选的可视化工具 Etherape。安装命令示例:sudo apt update && sudo apt install -y tcpdump wireshark etherape。抓包通常需要 root 权限或具备 CAP_NET_RAW 能力;dumpcap 属于 Wireshark 套件,用于高效写盘捕获。若使用第三方“Debian Sniffer”软件包,请确认来源可信并遵循其文档进行安装与权限配置。
二 快速发现异常
- 连接与速率面板的“第一响应”
- 统计总量与状态分布:ss -s | grep “TCP:”;按状态细分异常:ss -tan state syn-recv | wc -l(大量 SYN_RECV 常见于 SYN Flood)。
- 按源 IP 聚合 Top 10:ss -tn | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -nr | head(定位密集来源)。
- 实时带宽与对端观察:iftop -P(按 IP/端口查看突发流量,必要时加 -D 关闭反查以便更快输出)。
- 抓包取证与定位
- 定向抓包:sudo tcpdump -i eth0 -w suspicious.pcap host x.x.x.x and port not 22(先排除 SSH 噪声)。
- 快速过滤 SYN 洪水特征:tshark -r capture.pcap -Y “tcp.flags.syn == 1 && tcp.flags.ack == 0” | awk ‘{print $3}’ | sort | uniq -c | sort -nr(同一源 IP 的 SYN 数量异常即可疑)。
三 恶意流量的典型特征与抓包过滤
| 攻击/异常 |
关键特征 |
抓包过滤与命令示例 |
| SYN Flood |
大量 SYN,极少或没有 ACK |
tshark -r cap.pcap -Y “tcp.flags.syn==1 && tcp.flags.ack==0” |
| 端口扫描 |
同一源对多端口短时间连接;半开扫描常见 |
tshark -r cap.pcap -Y “tcp.flags.syn==1 && tcp.flags.ack==0”;按目标端口分布统计 |
| HTTP 慢速/CC |
连接数暴涨、URI/UA 高度重复、长连接不释放 |
ss -tan state established |
| 非标准端口的 HTTP |
明文 HTTP 出现在 !80/!443 |
tcpdump -i eth0 -n -A ‘port ! 80 and port ! 443 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x48545450)’ |
| DNS 隧道 |
UDP 流量中携带 GET/POST/HTTP 字符串 |
tcpdump -i eth0 -n -A -s 0 udp |
| ICMP 探测/洪水 |
大量 ICMP 请求或异常响应 |
tcpdump -i eth0 -n icmp or icmp6 |
| 重复包/重放 |
大量完全重复或序列号异常的数据包 |
tshark -r cap.pcap -Y “tcp.analysis.retransmission or tcp.analysis.duplicate_ack” |
| 异常分片/大包 |
>1500 字节 或异常分片重组迹象 |
tshark -r cap.pcap -Y “ip.flags.mf == 1 or ip.frag_offset > 0” |
| 以上过滤表达式可直接在 tcpdump/tshark 中使用;若需长期留存,先以 -w 写盘,再用 -r 离线分析。 |
|
|
四 处置与加固
- 快速阻断与限流
- 封禁可疑源 IP:sudo iptables -A INPUT -s x.x.x.x -j DROP(必要时联动 fail2ban 做自动化封禁)。
- 限制高危端口访问:仅允许白名单网段访问 22/3389 等,例如:sudo ufw allow from 10.0.0.0/8 to any port 22。
- 持续监测与基线
- 建立协议占比、包长分布、连接速率等基线,设置阈值告警;将抓包结果与 系统/应用日志、IDS 告警关联,提高检出率。
- 合规与性能
- 抓包与监控须具备合法授权;长时间抓包会带来CPU/磁盘压力,建议限定接口、时间窗与 BPF 过滤表达式,必要时在低峰时段采集。