如何将 Wireshark 显示的数据包列表保存为 JSON 格式的文件?

我正在使用公司提供的 Wireshark 协议分析器,用于分析该公司使用的 3 种专有网络协议的数据包捕获。

我想进一步分析数据包捕获数据,因此需要将 Wireshark 转换为常见的格式,如 JSON。Wireshark 知道如何使用协议分析器解释数据,并且我可以在 Wireshark GUI 中访问所有字段。

tshark -r file.pcapng -V -Tjson > file.json 几乎可以满足我的需要。但由于某种原因,它会将很多但不是所有的“field-name”:“value”对替换为“_ws.lua.text”:“”。 如果在 GUI 中将数据包分解为 JSON,同样的情况也会发生。在 Wireshark 中看起来一切正常,但 JSON 文件不是。

所以我知道 Wireshark 有我想要的数据。我该如何让 Wireshark 将数据包列表保存为 JSON 文件,并展开所有字段,与它显示的数据完全相同?

可能有用的理论: 我注意到,在 .lua 解析器文件中,大多数被替换的字段名都是这样定义的:

local table = {
   [0] = {
        [1] = {decription="field name 1"}
        [2] = {description="field name 2"}
         }}

并引用 table[0][2].description 也许“_ws.lua.text”只是一个占位符,用于在返回值而不是值的情况下返回任何引用?但是 Wireshark 可以访问这些值,那么为什么在将数据转换为 JSON 时不使用它们?

点赞