我在Google Colab工作我有pcap文件(物联网传感器的网络数据包流量),我想从这些数据包中提取特征,并将其保存为csv文件,以开始训练机器学习算法。安装tshark。但是我仍然有这个问题(TypeError:只能将str(而不是“Ether”)连接到str)行中的错误
tsharkcommand = ("tshark -r" + xx +"-T fields -e ip.len -e ip_hdr_len")
import glob
import os
filey = open("try.csv",'a')
filey.writelines("Lable,IPlength,DestIP")
packets = rdpcap("bruteforce.pcapng")
for xx in packets:
all = str (os.popen(tsharkcommand).read())
all = all.splitlines()
for features in all:
filey.writelines("Lable"+ "," + features + "\n")
我该怎么解决呢?如果你有任何方法来提取功能比这种方式更容易,请提供给我。
1条答案
按热度按时间aoyhnmkz1#
根据我对代码的理解,您试图使用
infile
选项运行tshark
命令,以从输入文件中获取ip.len
和ip_hdr_len
。但是,
scapy.all.rdpcap()
不返回文件,而是返回不适合您的目的的packets[Packet]
对象类型。您可以使用
xx.fields.values()
来获取pcap
文件中每个数据包的src.ip
、dst.ip
、ip.length