把抓包变成时间序列
按固定时间间隔聚合指标,输出包数、字节数与平均包长随时间的变化,用来找流量突变时段和异常间隔。它把抓包从「包的世界」转成「时间序列」,便于与监控图表对照,也便于在长文件里快速缩小关注范围。
基本信息
| 适用平台 | tshark,Linux 与 Windows 行为一致 |
|---|---|
| 语法 | tshark -r 文件 -q -z io,stat,间隔秒数 |
| 聚合粒度 | 第二个参数就是聚合间隔 |
| 字段统计 | 可附加过滤条件,例如只统计重传帧 |
典型使用场景
- 找出流量突变发生在哪个时间点
- 与监控曲线对齐,验证异常时段
- 估算特定流量的速率与峰值
- 分时段比较,识别周期性行为
- 为长尾或丢包分析确定重点时间窗
聚合统计
聚合统计
tshark -r a.pcap -q -z io,stat,1
# 按 1 秒聚合,输出每段的包数与字节数
tshark -r a.pcap -q -z io,stat,10,"COUNT(frame)tcp.analysis.retransmission"
# 按 10 秒聚合,只看重传帧数量,定位丢包集中的时段
tshark -r a.pcap -q -z io,stat,60 | head -20
# 粗粒度先看整体趋势,再逐步细化输出读法
| 列 | 含义 | 判读 |
|---|---|---|
| 时间区间 | 聚合窗口位置 | 与监控对齐的依据 |
| 帧数 | 该窗口内总包数 | 突增或突降都值得关注 |
| 字节数 | 该窗口内总字节量 | 判断流量规模 |
| 平均包长 | 字节数除以帧数 | 形态变化常对应业务变化 |
间隔越小输出越长。先用大间隔定位时段,再用小间隔细化,这个顺序能省下大量阅读时间,也让结论的指向更清楚。
时间基准要看清是文件首帧起算还是绝对时间,否则与监控对齐时会整体错位。另外聚合会削平突发,1 秒内的尖峰在 10 秒粒度上看起来会平缓得多,别因此低估问题的瞬时强度。
分析流程
- 先用较大间隔看整体趋势,圈定异常时段
- 再缩小间隔细化,确认突变的起止点
- 把时间基准与监控系统对齐,核对时区
- 按需要增加过滤条件,只统计关注的指标
- 把结论与样本窗口一起写进报告,便于复核