通过Python DPKT从PCAP提取所有协议数据并另存为CSV

时间:2019-05-10 15:50:49

标签: python wireshark pcap dpkt

团队,我想提取No_of_ARP_RequestNo_of_TCP_SYNNumber_UDP_138NBNSMDNSIGMP,{{1} },ICMP data Src_MAC_AddressDest_MAC_AddressSrc_Port等来自wireshark pcap文件的功能。
这是为了通知,我已经提取了功能,并通过DPKT将ARP数据另存为CSV。可能有人会对如何通过DPKT提取所有功能并另存为CSV提出更好的建议或代码。谢谢。

Dest_Port

1 个答案:

答案 0 :(得分:0)

您可以使用tshark的-e选项轻松地从转储中提取特征(字段):

  

-e      如果选择了-T ek|fields|json|pdml,则将一个字段添加到要显示的字段列表中。此选项可以在命令行上多次使用。如果选择了-T字段选项,则必须至少提供一个字段。列名可以使用“ _ws.col”作为前缀。

     

示例:tshark -e frame.number -e ip.addr -e udp -e _ws.col.Info

     

提供协议而不是单个字段会将有关协议的多项数据打印为单个字段。默认情况下,字段用制表符分隔。 -E控制打印字段的格式。

$ tshark -r dump -e tcp.srcport -Tjson
[
  {
    "_index": "packets-2019-04-14",
    "_type": "pcap_file",
    "_score": null,
    "_source": {
      "layers": {
        "tcp.srcport": [
          "42130"
        ]
      }
    }
  }
]

如果您想对python中的数据进行一些后处理,建议您使用tshark -T,然后在代码中解析此输出。

诸如pdml2frame之类的内容可以帮助您进行解析。编写一个可以满足您需求的新插件应该很简单。

披露:我确实写了pdml2flow