首页/网络/抓包与流量分析速查/命令行流水线预处理大文件
抓包工具链61 条

命令行流水线预处理大文件

导出字段后用 awk/sort/uniq 快速聚合:Top 域名、Top 客户端、错误码分布几行命令出结果,再把可疑对象带回 Wireshark 精读。

命令行流水线统计

把字段导出与命令行聚合工具串起来,可以在几行之内得到统计型问题的答案:按主机名统计请求量排名、按客户端地址统计分布、按响应码统计错误分布。它的价值在于先用数量级结论确定方向,再挑出可疑对象带回图形化工具精读,避免一上手就翻帧。使用时要注意字段内容是否含空格或分隔符,否则聚合会错行;另外流水线里的口径错误很难被发现,关键数字应当回抽样核对。

基本信息

组合方式字段导出接排序与去重计数
适用问题排名、分布、计数类问题
前置条件字段值不含分隔符,或先做替换
复核要求统计数字要回抽样核对
后续动作把可疑对象带回图形化工具精读

典型使用场景

  • 排名统计:找出访问量最大的域名、客户端或接口
  • 分布统计:查看响应码、错误类型等维度的分布
  • 异常挑拣:按异常特征筛出可疑对象再精读
  • 口径验证:小样本验证后再全量执行
  • 报告素材:把聚合结果整理进分析报告

聚合示例

聚合示例
tshark -r a.pcap -Y 'http.request' -T fields -e http.host \
  | sort | uniq -c | sort -rn | head -20
# 字段含空格时先做替换再聚合
# 关键统计要回抽样核对原始报文

常用组合与用途

组合回答的问题注意
排序去重计数哪些对象出现最多空格会造成错行
排序取头部最活跃的前几个需限定样本范围
按字段切分聚合复杂维度统计分隔符要与导出保持一致
先出数量级结论再挑样本精读,比一上来逐帧翻找高效得多,在几百万帧的大文件上差别尤其明显。
流水线里的口径错误不会报错,只会给出错误的数字;关键统计一定要抽样回看原始报文确认。

易错点

  • 字段值含空格时排序去重会错行,统计结果不可用,应先选用无空格字段或做替换
  • 流水线的统计口径错误很难发现,关键数字必须回抽样核对原始报文
  • 只在小样本上验证就全量执行,遇到边界数据会得到偏差较大的结果
  • 聚合结果不附过滤条件说明,后续复查时无法判断统计范围

数据来源与参考

  • tshark 手册
  • awk 手册
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌