流量预处理-3:利用cic-flowmeter工具提取流量特征

文章介绍了一种方法,利用Python脚本自动化CIC-FlowMeter工具处理pcap文件,批量将其转换为csv格式,以提高效率。作者提供了代码示例和参数解释,并展示了在iscx-vpn-novpn2016数据集上的执行效果,6分钟内完成大批量文件处理。
摘要由CSDN通过智能技术生成

1 前言

  许多研究工作基于CIC-FlowMeter工具提取的csv文件的基础上进行的,目前开源的CIC-FlowMeter工具要么使用jdk编译,要么是给出一个exe可执行文件然后使用图形化界面一个一个处理pcap,在处理大量pacp文件很麻烦,如下图。

离线处理pcap

2 代码

这里基于给出的exe可执行文件,利用python脚本批量处理pcap转化为csv文件。

import os

def generate_batch_csv(pcap_dir,csv_dir,cic_path):
    """批量将pcap转csv"""
    for label in os.listdir(pcap_dir):
        label_path = os.path.join(pcap_dir, label)
        csv_label_dir = os.path.join(csv_dir,label)
        if not os.path.exists(csv_label_dir):
            os.makedirs(csv_label_dir)
        for pcap in os.listdir(label_path):
            pcap_file = os.path.join(label_path,pcap)
            print(f"Analyzing {pcap_file}...")
            # 调用cfm.bat脚本对pcap文件进行分析
            os.chdir(cic_path)
            os.system(f'call cfm.bat "{pcap_file}" "{csv_label_dir}"')
            print("Done.")
        print("完成了{}的处理".format(label))
    print("所有的都处理完成")

def main():
    # 设置pcap和csv文件夹路径
    pcap_dir = r"xxx"
    csv_dir = r"xx"
    cic_dir = r"xx"
    generate_batch_csv(pcap_dir,csv_dir,cic_dir)


if __name__ == "__main__":
    main()

3 参数解释与执行效果

3.1 参数解释

  • pcap_dir:是原始pcap所在的目录,底下是各个标签的目录与对应的pcap,具体如下

    ---pcap_dir
       -- label_0_dir:
          --- label_0_pcap_0
          --- label_0_pcap_1
          --- label_0_pcap_2
          ...
       -- label_1_dir:
          --- label_1_pcap_0
          --- label_1_pcap_1
          --- label_1_pcap_2
          ...
      ...
      --- lable_n-1_dir:
          --- label_n-1_pcap_0
          --- label_n-1_pcap_1
          --- label_n-1_pcap_2
    
  • csv_dir:是将csv文件存储的文件夹

  • cic_dir:是cic工具的bin目录的所在路径

    我这里的示例

    • pcap_dir:

      image-20231211104050740

    • csv_dir:

      随意新建一个文件夹

    • cic_dir:

      image-20231211104333732

3.2 执行效果

  1. 截图

    image-20231211104723276

  2. 成果

image-20231211104541121

iscx-vpn-novpn2016数据集为例,6分钟搞定

如需留言建议移步至GitHub Page,这样留言会第一时间提醒。

  • 18
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
【资源说明】 基于动态图神经网络的异常流量检测Python源码+项目说明+详细注释.zip 将下载的数据集放在 `/data` 目录下。对于CSE-CIC-IDS 2018数据集,只使用“Thuesday-20-02-2018_TrafficForML_CICFlowMeter.csv”这一天的数据,因为其他数据文件不包含IP,无法建图。 动态图模型的作用在于进行子图嵌入,子图嵌入的结果可以用异常检测模型进行异常判断。 其他对比模型的代码在`/compare_models`目录下 ## 模型训练 基于cic2017数据集进行模型训练 python DyGCN/main.py --mode train --ck_path DyGCN/savedmodel/model.pt --embs_path DyGCN/data/graph_embs.pt --dataset data/cic2017 ## 模型测试 基于cic2017数据集进行模型测试 python DyGCN/main.py --mode test --ck_path DyGCN/savedmodel/model.pt --embs_path DyGCN/data/graph_embs.pt --dataset data/cic2017 ## 异常检测 基于模型图嵌入结果进行异常检测 python DyGCN/intrusion_detection.py --dataset cic2017 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,也适用于小白学习入门进阶。当然也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或者热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载,沟通交流,互相学习,共同进步!
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值