tshark 在评估里的角色
抓包文件本身不能直接进报告,需要先变成可统计的表格。tshark 是命令行版的协议分析工具:用显示过滤器挑出关心的报文,用字段提取把指定字段导出成文本,再用排序与计数得到分布。这样得到的证据既能说明问题,也能被别人按同一命令复现。
基本信息
| 读取输入 | -r 指定抓包文件 |
|---|---|
| 显示过滤 | -Y 使用显示过滤器表达式 |
| 字段提取 | -T fields -e 指定要导出的字段 |
| 统计方式 | 管道交给排序与计数命令汇总 |
| 常见用途 | HTTP 主机与路径、DNS 查询、TLS 握手信息 |
典型使用场景
- 内网明文流量核查:统计未加密的 HTTP 请求与主机分布
- 名称解析观察:查看哪些域名被频繁查询,辅助资产发现
- 协议使用盘点:确认仍在使用明文协议的设备与系统
- 事件回溯:确认某时间段内是否出现异常的对外连接
- 证据整理:把关键字段导出为表格,随报告附上原始抓包文件
提取示例
提取示例
# 统计 HTTP 请求按主机与路径的分布
tshark -r http.pcap -Y 'http.request' -T fields -e http.host -e http.request.uri | sort | uniq -c | sort -rn | head
# 查看 DNS 查询报文中的域名(响应报文用另一种过滤条件)
tshark -r dns.pcap -Y 'dns.flags.response == 0' -T fields -e dns.qry.name | sort -u
# 先看文件概况,再决定是否需要切片处理
capinfos http.pcap | head -n 12输出逐列读法
| 输出列 | 含义 | 使用注意 |
|---|---|---|
| 宿主与路径字段 | HTTP 请求目标 | 字段间用制表符分隔,注意路径含空格 |
| 查询名称字段 | DNS 查询的域名 | 同一名称多次出现需去重 |
| 计数列 | 出现次数 | 缺省的计数列在管道首列 |
| 空列 | 字段名写错或该报文不含此字段 | 空结果先怀疑字段名 |
大文件先用捕获过滤器切片或分批读取:无过滤地解析超大抓包文件会带来明显的内存与时间开销。
抓包内容可能含凭据与个人信息:统计结果交付前脱敏,原始文件只保存在受控位置并控制访问。