抓包与快速分析流程
流程是先看会话分布、DNS 查询与上下行体量,判断哪些流值得深挖,再用 Wireshark 或 tshark 逐条跟进。现场抓包与事后复盘共用同一套技巧,区别只在于要不要边抓边看。
容量与合规
抓包要有过滤与体积控制:无过滤全量抓包很快写满磁盘,也可能给业务带来额外压力。pcap 还可能含业务敏感数据,需要按证据要求限定访问范围并登记。
基本信息
| 现场抓包 | tcpdump -i eth0 -nn -s0 -w ir.pcap 加过滤表达式 |
|---|---|
| 读取 | tcpdump -nn -r ir.pcap |
| 会话统计 | tshark -q -z conv,tcp |
| DNS 线索 | tshark -Y dns -T fields -e dns.qry.name |
| 体积控制 | -s0 抓完整包,配合 -C 与 -W 轮转 |
| 权限要求 | 抓包需 root 或 CAP_NET_RAW 能力 |
典型使用场景
- 确认可疑外连是否真正建立
- 验证隔离策略是否阻断 C2 通信
- 还原被访问的域名与 SNI 线索
- 排查异常流量与外传数据规模
- 作为日志之外的独立旁证
抓包与初步统计
抓包与初步统计
tcpdump -i eth0 -nn -s0 -w /evidence/ir.pcap 'tcp port not 22'
tcpdump -nn -r /evidence/ir.pcap | awk '{print $3}' | sort | uniq -c | sort -rn | head -n 15
tshark -r /evidence/ir.pcap -q -z conv,tcp 2>/dev/null | head -n 30
tshark -r /evidence/ir.pcap -Y dns -T fields -e dns.qry.name 2>/dev/null | sort -u | head -n 30
tcpdump -nn -r /evidence/ir.pcap 'host 203.0.113.9' | head -n 20
sha256sum /evidence/ir.pcap输出逐列读法
| 字段 | 含义 | 正常/异常 |
|---|---|---|
| 时间戳 | 报文时间 | 用于与其他日志对齐时间线 |
| 源与目的 | 通信双方地址端口 | 陌生外网目标需重点核对 |
| Flags | TCP 标志位 | 大量 SYN 无 ACK 说明连接被拒或被拦 |
| Length | 报文长度 | 响应体量可粗略估计外传数据规模 |
pcap 可能包含业务敏感数据(表单内容、会话票据、明文协议);按证据要求限定访问范围并登记保管,避免随意分发。
加密流量只能取元数据:看不到内容,但通信对象、时间与体量足以判断是否存在异常外联,这也是实际排查中最常用的判据。
抓包时机的选择同样重要:攻击仍在活跃时抓包价值最高,处置之后再抓往往只剩业务流量。文件命名建议带上主机名与时间点,便于归档与检索。
分析顺序建议
- 先按会话聚合,找出异常目标的地址与端口
- 再筛 DNS 查询与 SNI,快速获得域名线索
- 然后跟随可疑 TCP 流查看握手与体量
- 最后结合进程归属确认是哪台程序在通信