Skip to content
Wireshark Wiki 中文翻译整理专题首页原始页面

Packet Slicing

Packet Slicing 指在抓包时只保存每个数据包的前一部分字节,而不是保存完整数据包。

它通常通过 snap length(SnapLen)实现,适合在高流量环境中降低文件大小和写盘压力。

它解决什么问题

问题Packet Slicing 的作用
抓包文件太大只保存每个包前 N 字节,减少文件体积
写盘压力大降低每个数据包写入的数据量
只关心头部字段保留链路层、IP、TCP/UDP 和部分应用头即可分析

需要注意什么

Packet Slicing 会丢弃每个数据包后半部分内容。这样可以节省空间,但也可能导致:

  • 应用层 payload 不完整。
  • 文件、HTTP body、TLS record 等内容无法完整还原。
  • 某些协议解析器因为数据不足而无法完整解码。

因此,只有在明确知道自己只需要包头或前若干字节时才建议使用。

和 SnapLen 的关系

SnapLen 是每个数据包保存的最大字节数。Packet Slicing 本质上就是通过设置较小的 SnapLen 来切掉后面的数据。

例如,如果链路 MTU 约为 1500 字节,但你只保存每包前 128 字节,就能保留多数头部信息,同时显著减小文件大小。

相关页面

  • CaptureSetup:抓包路径和环境设置
  • CaptureFilters:抓包前筛选流量
  • Performance:大型抓包和丢包优化
  • SnapLen:Packet Slicing 相关设置

Imported from https://wiki.wireshark.org/PacketSlicing on 2020-08-11 23:17:47 UTC

相关 Wireshark Wiki 页面

网络分析技术档案