Wireshark 技巧75 条

Wireshark 会话统计

Statistics → Conversations 按五元组聚合统计包数、字节数、时长与速率,并可按列排序找"流量偏大的对端";右键可直接生成过滤条件或图。

会话统计在做什么

会话统计把抓包文件按五元组聚合,给出每条会话的包数、字节数、持续时长与速率,并能按列排序。它的价值在于把「几千条报文」压缩成「几十条会话」,一眼就能看出哪条流量最大、哪条最短命、哪条持续时间异常。选中某一行可以右键直接生成过滤条件或绘制时序图,因此它常常是从宏观到微观的入口,而不是终点。统计范围可以限制在当前显示过滤器筛出的报文上。

基本信息

入口统计菜单里的会话选项,可切换 TCP、UDP 与网络层标签
聚合维度源地址、源端口、目的地址、目的端口
统计列包数、字节数、持续时间、每分钟包数与字节数
便捷操作右键应用为过滤器、绘制时序图、复制为 CSV
范围限制勾选限制到显示过滤器即可只统计当前筛出的流量

典型使用场景

  • 找流量异常的对端:按字节数排序查看占用最大的会话
  • 发现连接风暴:按包数排序找到短时间大量小包的会话
  • 核对业务规模:统计某个端口上的会话数量与持续时间分布
  • 定位重传集中在哪条会话:先按流锁定再叠加异常标注
  • 与业务量核对:把会话数与监控指标对比,判断抓包是否完整

操作路径

操作路径
1) 打开会话统计对话框,切换到 TCP 或 UDP 标签
2) 按字节数或持续时间列排序,挑出可疑行
3) 右键 → 应用为过滤器 → 选中,回到主窗口看细节
4) 需要时序视角时右键 → 绘制该会话的图
5) 勾选限制到显示过滤器,可只统计当前视图内的会话

统计列读法

列含义异常提示
包数该会话的报文总数包数极多而字节很少,多为小包密集交互或扫描
字节数双向字节总量明显高于同类的会话值得优先检查
持续时间首个到最后一个报文的时间差极短说明连接建立后立刻结束,极长可能有保活
速率每秒包数与字节数速率与业务画像不符时需核对是否被压测
按方向分列分别统计两个方向的流量单向流量明显偏多说明有一侧在大量发送
会话统计基于抓到的样本,抓包点丢包会让会话数与字节数失真。用它做定量结论前,先确认抓包进程本身没有丢包。
大量持续时间极短的会话通常意味着连接频繁重建,可能是连接池配置偏小或客户端未复用连接,不应简单归因为网络抖动。

命令行等价统计

命令行等价统计
tshark -r a.pcap -q -z conv,tcp | head -20      # TCP 会话统计
capinfos -c -s a.pcap                          # 总包数与文件大小,核对抓包完整性
tshark -r a.pcap -q -z io,stat,1 | head -20    # 按秒的流量分布

判读要点

  • 先按量级排序看头几条,再逐层收窄,比逐包翻阅效率高得多
  • 同一对地址之间出现大量会话,说明存在短连接或重连,值得结合超时配置看
  • 会话数与业务预期差一个量级时,先怀疑抓包点或过滤条件而不是业务突增
  • 对某条可疑会话应用过滤器后,再叠加异常标注就能快速理解它为什么可疑

易错点

  • 把会话统计的数字当作全局事实,未考虑抓包点丢包与过滤条件的影响
  • 只按字节数排序,忽略了包数巨大而字节很小的异常会话
  • 没有勾选限制到显示过滤器,导致统计范围与当前视图不一致,结论对不上
  • 把短连接频繁建立直接归因于网络抖动,忽略连接池与应用侧配置
  • 跨抓包点比较会话数量时未说明抓包位置,两侧看到的会话本就不同

数据来源与参考

  • Wireshark User's Guide(Conversations)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌