【问题标题】:How can I convert a pcap into CSV using python如何使用 python 将 pcap 转换为 CSV
【发布时间】:2022-04-06 13:34:54
【问题描述】:

我需要使用 python 代码将驱动器上的 pcap 文件转换为 csv 文件(我知道如何使用 wireshark UI 进行操作),但我需要通过 python 代码来完成,

我已经尝试过这段代码:

import os
os.system("tshark -r mirai.pcap -T fields -e ip.src -e frame.len -e     ip.proto -E separatorr=, -E occurrence=f > traffic.csv")

我得到一个结果文件,但它是空的。

谁能帮帮我。

【问题讨论】:

    标签: python csv pcap


    【解决方案1】:

    当我将命令改为:

    os.system("tshark -r mirai.pcap -T fields -e ip.src -e frame.len -e     ip.proto -E separator=, -E occurrence=f > traffic.csv")
    

    这会将separatorr 更改为separator

    通常我使用包 pyshark (https://pypi.org/project/pyshark/) 在 python 中处理我的 pcap 文件。

    【讨论】:

    • 我更正了分隔符,但仍然是一个空的 csv,请向我解释一下如何在 python 上使用 pyshark 进行导出?
    【解决方案2】:

    这是最简单的方法(在我看来)

    os.system ('tshark -r'+in_file +'>'+ out_file +'.txt')

    在哪里

    in_file = <name of your pcap file>
    out_file = <name of your output file>
    

    PS:仅在 python 3 上测试

    【讨论】:

      【解决方案3】:

      我使用subprocess通过以下方式完成了它:

      import subprocess
      
      with open('/path/to/csv_file.csv','w') as f:
          subprocess.run("tshark -r /path/to/pcap_file.pcap -T fields
          -e frame.number -e ip.src -e ip.dst 
          -E header=y -E separator=/t".split(), stdout =f)
      

      stdout 被写入'/path/to/csv_file.csv'

      【讨论】:

        猜你喜欢
        • 2021-07-29
        • 1970-01-01
        • 1970-01-01
        • 2016-08-19
        • 2019-04-18
        • 1970-01-01
        • 1970-01-01
        • 2023-01-11
        • 2014-03-26
        相关资源
        最近更新 更多