会话流重组导出是什么
分析流量时先把单条会话的字节流重组出来再看:流级别能看到请求与响应、命令与回显、文件传输的完整语义,比逐个包翻要高效得多。重组后先判断应用层协议与内容类型,再决定进一步提取什么。
基本信息
| 用途 | 把会话还原成可读文本或文件 |
|---|---|
| 工具 | tshark 的 follow、Wireshark 追踪流、tcpflow |
| 载体 | TCP 流、UDP 流(按序号区分) |
| 输出形态 | ASCII 文本、原始字节、指定字段 |
典型使用场景
- 还原明文协议的请求与响应(HTTP、FTP、SMTP 等)
- 提取会话中传输的文件:可执行文件、脚本、压缩包
- 查看反弹 Shell 的命令与回显
- 分析未加密协议里出现的账号与凭据字段
- 为后续分析提供上下文:先把能读懂的部分读出来
- 把重组文本按时间排好后,与主机侧进程记录、登录日志对照使用
导出 TCP 流
导出 TCP 流
tshark -r sample.pcap -q -z conv,tcp | head -20 # 先看会话统计,挑目标流号
tshark -r sample.pcap -q -z follow,tcp,ascii,0 # 按流号输出 ASCII 内容
tshark -r sample.pcap -q -z follow,tcp,raw,0 > flow0.bin # 导出原始字节
file flow0.bin # 用 file 识别真实类型
tshark -r sample.pcap -Y 'http.request' -T fields -e http.host -e http.request.uri | head
# 二进制载荷导出后用 file 识别类型,别强行按文本读常用操作对照
| 操作 | 命令要点 | 适用场景 |
|---|---|---|
| 会话统计 | conv,tcp 或 conv,udp | 先定位流量最大的会话 |
| 追踪流 | follow,tcp,ascii,N | 明文协议读取内容 |
| 导出载荷 | follow,tcp,raw,N | 提取传输的文件 |
| 字段筛选 | -Y 过滤表达式 与 -T fields | 批量输出字段做统计 |
加密流量重组出来是二进制噪声。先看端口与协议特征判断是否加密,不要把时间花在无意义的载荷上。
重组结果里带控制字符与终端转义序列,写进报告前先清理,否则可读性差,甚至影响文档渲染。
大流量抓包里会话数量很多,先用会话统计按流量排序再挑目标流,比逐条翻看省下大量时间。
先确认抓包本身是否完整:采集时的丢包会让重组结果缺失或被截断,据此得出的结论要留余地。