Python脚本将pcap转换为csv

时间:2019-07-11 14:20:42

标签: python python-3.x csv wireshark

我使用以下代码将文件夹,子文件夹中的所有pcap文件转换为具有给定列的csv文件。输出的csv文件需要与输入的pcap文件具有相同的名称。代码没有任何错误。但是没有输出。如果我的代码错误,请帮助我纠正。 python 3.6

import os
import csv
import subprocess
startdir= '/root/Desktop/Files/'
outdir = '/root/Desktop/Outcsv'
suffix= '.pcap'

def decode_to_file(cmd, in_file, new_suffix):
    proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
    fileName = outdir + '/' + in_file[len(startdir):-len(suffix)] + ".csv"
    os.makedirs(os.path.dirname(fileName), exist_ok=True)
    csv_writer = csv.writer(open(fileName, 'w'))
    for line_bytes in proc.stdout:
        line_str = line_bytes.decode('utf-8')
        csv_writer.writerow(line_str.strip().split(','))

for root,dirs, files, in os.walk(startdir):
    for name in files:
        if name.endswith(suffix):
            continue
        in_file=os.path.join(root,name)
        out_file = outdir + '/' + in_file[len(startdir):-len(suffix)] + ".csv"
        cmd = 'tshark -r "{}" -T fields -e frame.time_delta_displayed -e frame.len -e wlan.sa - e wlan.da _E separator=, _E header=y > "{}"'.format(in_file, out_file)
        csv_writer = csv.writer(open(out_file, 'w'))
        print (cmd)
        os.system(cmd)

0 个答案:

没有答案