安装CICFlowMeter用于提取流量特征

代码在github去下载即可。

源开发语言是java版的,也有大牛用python改写了一版。

之前用过python版本的,这次不知道怎么用不了了,搜了一下,python3.7和3.8版本跑起来都有问题,可以用3.6之前的去试一下。

昨天用Mac装的java版,装完测试一直有问题,遂放弃!

最好使用win或者ubuntu安装,个人在win上装了,可用。

步骤:

  装好java、idea(eclipse没试)、maven、gradle;

  把jnetpcap/win/jnetpcap-1.4.r1425文件夹中的jnetpcap.jar复制到主文件夹中;

  然后按照README操作;

  我这边出现了“Could not find org.jnetpcap:jnetpcap:1.4.1.“的错误,

  将build.gradle文件中的

compile group: 'org.jnetpcap', name: 'jnetpcap', version:'1.4.1'

  更改为

compile group: 'jnetpcap', name: 'jnetpcap', version:'1.4.r1425-1g'

  最终能够实现提取特征。

 

建议:如果有大量文件需要处理,可编写脚本自动实现。后边写了我在贴上来

 

### 2024/01/18 0:09 于公司宿舍

"""
    cicflowmeter只能作用于pcap文件,
    写个脚本实现pcapng文件批量转换为pcap。
"""

import os
import subprocess

input_path = r"C:\Users\Admini\Desktop\data"
output_path = r"C:\Users\Admini\Desktop\data1"

if not os.path.exists(output_path) :
    os.makedirs(output_path)

for file in os.listdir(input_path) :
    # print(file)
    input_file = os.path.join(input_path, file)
    output_file = os.path.join(output_path, file[0:-2])
    # print(output_file)

    # tshark -F pcap -r {pcapng file} -w {pcap file}
    # 调用tshark
    command = ['tshark', '-F', 'pcap', '-r', input_file, '-w', output_file]
    subprocess.call(command)

    print(f'{file} has done successfully.')
第二部分,需要将当前目录切换到cicflowmeter的bin下,os.chdir()。如果直接用目录+cfm.bat调用不行,报错。
可能是依赖的一些jar包需要切换过来才能导入。

 1 """
 2     基于cicflowmeter提供的可执行脚本文件
 3     批量将pcap导出为csv
 4 """
 5 
 6 import os
 7 import subprocess
 8 
 9 input_path = r"C:\Users\Admini\Desktop\data1"
10 output_path = r"C:\Users\Admini\Desktop\power_traffic_feature_csv"
11 
12 if not os.path.exists(output_path) :
13     os.makedirs(output_path)
14 
15 for file in os.listdir(input_path) :
16     # print(file)
17     input_file = os.path.join(input_path, file)
18 
19     # 调用cfm.bat
20     os.chdir(r"C:\Users\Admini\Desktop\CICFlowMeter-4.0\CICFlowMeter-4.0\bin")
21     command = ['cfm.bat', f"{input_file}", f"{output_path}"]
22     subprocess.call(command)
23 
24     print(f'{file} has done successfully.')

 

效果如下图:

 

 

posted @ 2024-01-14 22:36  Ray-ss  阅读(527)  评论(0编辑  收藏  举报