工具使用要点60 条

tshark 字段提取统计

tshark 命令行处理 pcap:-Y 显示过滤、-T fields -e 提取字段,把流量证据转成可统计表格(HTTP 主机、URI、DNS 查询等)。

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 查询的域名同一名称多次出现需去重
计数列出现次数缺省的计数列在管道首列
空列字段名写错或该报文不含此字段空结果先怀疑字段名
大文件先用捕获过滤器切片或分批读取:无过滤地解析超大抓包文件会带来明显的内存与时间开销。
抓包内容可能含凭据与个人信息:统计结果交付前脱敏,原始文件只保存在受控位置并控制访问。

易错点

  • 无过滤解析超大抓包文件导致内存不足
  • 字段名拼写错误得到空列未察觉
  • 把统计结果当完整清单,未说明采集点与时间范围
  • 原始抓包文件直接外发,未做敏感内容处理
  • 只保留统计结果未留原始抓包,复核时无法验证结论来源

数据来源与参考

  • Wireshark 官方文档(tshark 字段与过滤器)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌