前言

因实验需要提取流量特征,就找到了这个较为著名的流量特征提取工具 CICFlowMeter 。例如 CIC-IDS-2017 数据集就是通过这个工具提取而来。

网络上的教程众说纷纭,但我始终是无法成功使用。摸索和尝试了几天后终于可以使用,在此整理和记录自己的使用方法,希望可以帮助到大家。

运行环境

本人使用的为 Java 版 CICFlowMeter ,项目地址为: CICFlowMeter - GitHub

以下是我的运行环境:

  1. IntelliJ IDEA 2021.2.2
  2. Maven (IDEA自带)
  3. WinPcap 4.1.3

环境准备

IDEA 和 Maven 的安装与配置就不介绍了,WinPcap 可以在 官网 进行下载:

下载完成后安装即可。

如果提示已安装了更高版本而中断安装,可以尝试将以下两个文件改名后再次安装(我在改名时系统中没有 wpcap.dll 文件,只对 packet.dll 进行了改名):

  • C:\Windows\SysWOW64 的 wpcap.dll 改成 wpcap.dll.old

  • C:\Windows\SysWOW64 的 packet.dll 改成 packet.dll.old

使用教程

1.克隆并在 IDEA 中打开项目,弹出提示时选择使用 Maven 构建项目;

2.Maven 构建项目时会提示找不到 org.jnetpcap:jnetpcap:pom:1.4.1 包。此时需要添加 ./jnetpcap/win/jnetpcap-1.4.r1425 目录下的 jnetpcap.jarjnetpcap.dll 两个文件作为项目依赖:

打开项目结构,根据下图步骤添加依赖:

分两次添加两个文件并在前面的方框打勾,最后确定。

3.依赖添加完成后添加运行配置,点击左上角 + 号找到 应用程序 添加。最后选择项目内 ./src/main/java/cic/cs/unb/ca/ifm/App.java 作为主类,最后点击确定保存。

4.此时点击运行即可启动工具,启动后得到如下界面:

点击 NetWork 中的 Offline ,填入 .pcap 文件的路径和输出路径后点击 OK 即可进行特征提取。

参考

WinPcap4.1.3安装失败解决方法,A newer version of winpcap...

CICFlowMeter 使用方法的更多相关文章

  1. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  2. mapreduce多文件输出的两方法

    mapreduce多文件输出的两方法   package duogemap;   import java.io.IOException;   import org.apache.hadoop.conf ...

  3. 【.net 深呼吸】细说CodeDom(6):方法参数

    本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...

  4. IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法

    直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...

  5. 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例

    前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...

  6. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  7. ArcGIS 10.0紧凑型切片读写方法

    首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...

  8. [BOT] 一种android中实现“圆角矩形”的方法

    内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...

  9. JS 判断数据类型的三种方法

    说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...

  10. .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法

    .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...

随机推荐

  1. 【UI框架】ANtDesignVue中的Content超过一页显示问题

    假设content部分是绿色 当内容超出一页之后,滑下去,后面的都没有底色. 如果footer有内容,content的内容甚至会和footer内容重叠在一起,同时,footer的内容随着下滑,位置就不 ...

  2. Qt/C++音视频开发49-多级连保存和推流设计(同时保存到多个文件/推流到多个平台)

    一.前言 近期遇到个用户需要多级联的保存和推流,在ffmpegsave多线程保存类中实现这个功能,越简单越好,就是在推流的同时,能够开启自动转储功能,一边推流的同时一边录像保存到本地视频文件.最初设想 ...

  3. Qt编写地图综合应用17-地址经纬度互转

    一.前言 地址和经纬度互相转换的功能也经常用到,比如上次的路线方案查询的功能,之前官网是提供了直接输入出发地点和目的地的中文汉字,就可以查询到最优的路线,后面只支持输入出发地点和目的地的经纬度坐标了, ...

  4. 直播系统聊天技术(八):vivo直播系统中IM消息模块的架构实践

    本文由vivo互联网技术团队LinDu.Li Guolin分享,有较多修订和改动. 1.引言 IM即时消息模块是直播系统的重要组成部分,一个稳定.有容错.灵活的.支持高并发的消息模块是影响直播系统用户 ...

  5. Python并发总结:多线程、多进程与异步编程

    随着多核的发展,Python中并发编程也变得越来越广泛且发展很快. 一方面,Python提供了多种并发编程工具. 比如,传统的多线程,通过threading模块方便地创建和管理线程,可用于I/O密集型 ...

  6. R语言系列—R语言简介及安装

    同学们,大家好,今天开始开设一个新系列,R语言系列,对生信分析中涉及到的R语言代码及R语言绘图进行详细讲解,感兴趣的同学可以重点关注一下. 什么是R语言? R语言是用于统计分析.绘图的语言和操作环境. ...

  7. CDS标准视图:优先级数据 I_GenericPriorityData

    视图名称:优先级数据 I_GenericPriorityData 视图类型:基础视图 视图代码: 点击查看代码 @AbapCatalog.sqlViewName: 'IGENERICPRIODATA' ...

  8. Elasticsearch应用介绍

    Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Luce ...

  9. RoboMaster- RDK X5能量机关实现案例(一)识别

    作者:SkyXZ CSDN:https://blog.csdn.net/xiongqi123123 博客园:https://www.cnblogs.com/SkyXZ 在RoboMaster的25赛季 ...

  10. 【译】融入人工智能的 eShop – 全面的智能应用示例

    原文 | Jeremy Likness 翻译 | 郑子铭 人工智能 (AI) 是一种强大的工具,它可以增强您的应用程序,提供更好的个性化定制体验,满足客户的独特需求,同时提高内部运营的质量和效率.虽然 ...