我是python的新手,我已经在目录中设置了Pcap文件。我应该阅读每个文件,并根据每个文件的不同变量提取所需的数据。我正在使用pyshark解析pcap。
我必须将csv文件列作为每个过滤文件的输入
例如,我在 src-和dst-中各有4个文件,因此应该仅通过选择10.272.726.227过滤我的第一个文件,对于第二个文件10.272.726.228等过滤我...
请参见下文
files = os.listdir('./Pcap')
csv_file=pd.read_csv('input.csv')
ip_src = csv_file.SRC_privateIp.tolist()
ip_dst = csv_file.DST_privateIp.tolist()
for file in files:
if file.startswith('src-'):
cap_src = pyshark.FileCapture(file, only_summaries = True)
for packet in cap_src:
line=str(packet)
formattedline = line.split(' ')
if formattedline[2] == ip_src and formattedline[3] == ip_dst:
print(formattedline)
if file.startswith('dst-'):
cap_src = pyshark.FileCapture(file, only_summaries = True)
for packet in cap_src:
line=str(packet)
formattedline = line.split(' ')
if formattedline[2] == ip_dst and formattedline[3] == ip_src :
print(formattedline)
我试图打开每个文件并分别对每个文件进行处理,但是它将所有文件数据都放在一个字符串中。我希望每个文件一个一个地打开,进行处理,因为每个文件都有不同的条件来过滤掉必要的文件。上面的代码给出了错误此事件循环已在运行。我不知道该如何进一步进行下去,有人可以帮助我吗?
谢谢!
答案 0 :(得分:0)
我不明白您的问题是什么,但是我认为您可以使用pandas
来进行csv
的阅读,设置和操作。它是用于此类任务的标准库。