【发布时间】:2020-06-15 09:09:28
【问题描述】:
我是 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)
我尝试打开每个文件并分别对每个文件进行处理,但它将所有文件数据放在一个字符串中。我希望每个文件一个一个打开,做处理,因为每个文件都有不同的条件来过滤掉必要的。上面的代码给出了一个错误这个事件循环已经在运行。我不知道如何进行下一步有人可以帮助我吗?
谢谢!
【问题讨论】:
-
我在理解您的问题时遇到了问题。过滤中使用的文件(csv_file)如何?
标签: python python-3.x pandas csv pyshark