【问题标题】:Converting Pcap file to CSV file while defautly keeping all features/fields defined in pcap将 Pcap 文件转换为 CSV 文件,同时默认保留 pcap 中定义的所有功能/字段
【发布时间】:2020-08-27 14:56:02
【问题描述】:

我一直在寻找可以将 PCAP 文件转换为 CSV 格式的库,同时保留 pcap 文件中定义的所有详细信息,而无需明确定义我想在 CSV 格式中包含哪些功能/字段。

我已经测试了 Wireshark、tshark 和 tcpdump 等工具,但我认为对于所有这些工具,我必须手动指定要包含在我的数据中的特征/列的列表。有没有一种方法可以将 pcap 文件转换为 csv 文件并默认保留所有 pcap 详细信息,而无需手动列出要包含在 csv 中的所有功能?

编辑添加代码示例:

$ tshark -r traffic.pcap > traffic.csv
$ tshark -r traffic.pcap -T fields -e ip.src -E separator=, \
    -E occurrence=f > traffic.csv

在任何情况下,traffic.csv 仅包含跟踪的一般信息(例如,编号、时间、源、目的地、长度、协议、信息),而没有任何数据包详细信息。有没有办法我也可以在 csv 文件中获得每个数据包的详细信息?

非常感谢任何见解。

【问题讨论】:

  • 你能发布你目前拥有的代码/脚本吗?
  • 添加了代码示例。
  • 您在寻找什么样的数据包详细信息?请注意,tshark -T json 可用于获取所有数据。如果您对仅使用 -e ip.src 不满意,为什么不使用额外的 -e <field> 包含更多字段以保存?

标签: bash csv wireshark pcap tshark


【解决方案1】:

第一个是行不通的,因为你没有告诉它写任何看起来像 CSV 的东西;它将以供人们阅读的形式打印列。

第二个确实有效,但您必须使用-e 标志明确指定您想要的特定字段;你不能只得到“所有领域”。引用我在 Wireshark 问答网站上对同一问题的回答:

尚不清楚所有字段的 CSV 的概念是否明确。

CSV 文件的一行只是一个逗号分隔的值序列;没有标签来指示值是 of 的值。包含数据包中所有字段的值的 CSV 行只是一个值序列,没有说明这些值的含义 - 并且并非所有行都具有相同数量的值。

如果您将第一行用作字段名称表,为了解决该问题,则需要第一行包含文件中数据包中出现的每个字段的名称,并且后续行中的元素可能为空(如果有问题的馈送不在与该行对应的数据包中)。它可能要求字段名称可能在第一行中出现多次,以处理具有多个实例的数据包字段。

Wireshark 中目前没有代码可以做到这一点。

【讨论】:

  • 我不相信这个问题是问是否有专门的wireshark解决方案来解决这个问题,但是是的,只有wireshark是不可能的。
猜你喜欢
  • 1970-01-01
  • 2019-11-24
  • 1970-01-01
  • 1970-01-01
  • 2012-06-24
  • 1970-01-01
  • 2021-04-18
  • 2016-02-15
  • 2018-10-23
相关资源
最近更新 更多