当前位置: 首页 > news >正文

win下载配置CIC Flowmeter环境并提取流量特征

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、下载CIC Flowmeter
  • 二、安装java、maven、gradle和IDEA
    • 1.java 1.8
    • 2.maven
    • 3.gradle
    • 4.IDEA
  • 三、CICFlowMeter-master使用
  • 四、流量特征
    • 1.含义
    • 2.获取


前言

配了一整天环境终于配好了
2023.3.7亲测有效
如果有什么地方写的不清楚可以礼貌提问
知无不言 但我不一定知道 😃
(ps 在上班回消息慢请见谅

一、下载CIC Flowmeter

https://github.com/ahlashkari/CICFlowMeter
在这里插入图片描述
下载完后去https://sourceforge.net/projects/jnetpcap/下载最新的jNetPcap,解压后把原文件中的CICFlowMeter\CICFlowMeter-master\jnetpcap\win\jnetpcap-1.4.r1425替换掉
在这里插入图片描述

二、安装java、maven、gradle和IDEA

1.java 1.8

①打开官网:https://www.oracle.com/java/technologies/downloads/ ,选择 java archive:
在这里插入图片描述

②选择 Java SE 8 (8u211 and later):
在这里插入图片描述
③下载Windows x64 Installer :
在这里插入图片描述

④后面就是点击exe,一直下一步完成安装,注意选择路径中不能有中文:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⑤找到安装目录中bin和jre的路径,复制并加入系统变量path中:

D:\java\bin
D:\java\jre

在这里插入图片描述
在这里插入图片描述

⑥重新打开cmd输入java -version查看验证:
在这里插入图片描述
看到版本号1.8,成功!

2.maven

①打开官网链接下载apache-maven-3.9.0-bin.zip:
网址:https://maven.apache.org/download.cgi
下载完成后解压到没有中文的路径下即可
在这里插入图片描述
在这里插入图片描述
②配置环境变量:
在系统变量中新建,变量名:MAVEN_HOME,变量值:maven文件夹路径:
在这里插入图片描述

在系统变量path中新建:%MAVEN_HOME%\bin
在这里插入图片描述
③打开cmd验证:mvn -v
,显示版本号,成功!
在这里插入图片描述
④配置本地仓库
记事本打开D:\maven\apache-maven-3.9.0\conf:
在这里插入图片描述
修改第53行:这里写你的本地仓库的路径
在这里插入图片描述

3.gradle

①打开网址https://gradle.org/releases/ 选择一个版本下载binary-only,然后解压至某一个无中文路径下
在这里插入图片描述
②配置环境变量:环境变量新建GRADLE_HOME,变量值:gradle文件夹路径(D:\gradle\gradle-8.0.2)
在这里插入图片描述

在系统变量path中新建:%GRADLE_HOME%\bin
在这里插入图片描述

③重新打开cmd,输入 gradle -v 。显示如下说明配置成功。(显示的有点慢就耐心等一下~
在这里插入图片描述

4.IDEA

①下载地址:https://www.jetbrains.com/idea/download/#section=windows,下载社区版

在这里插入图片描述
②下载完后点击exe开始安装,先next,然后选择安装路径:
在这里插入图片描述
勾选建立桌面快捷方式:
在这里插入图片描述
之后默认即可,完成:
在这里插入图片描述

③打开,初次使用选择不导入:
在这里插入图片描述
在这里插入图片描述

④设置jdk
打开file、project structure
在这里插入图片描述
在这里插入图片描述
⑤设置maven:打开file、setting,搜索maven:
在这里插入图片描述
修改地址:
在这里插入图片描述
在这里插入图片描述

⑥设置gradle:打开file,setting,搜索gradle:
在这里插入图片描述

⑦Jnetpcap设置:
打开file、project structure、modules、dependencies:
在这里插入图片描述
点击+,导入jnetpcap.dll与jnetpcap.jar文件,路径如图所示
在这里插入图片描述
把对勾打上
在这里插入图片描述

三、CICFlowMeter-master使用

①使用IDEA打开CICFlowMeter-master文件夹,注意一定要放在没有中文的路径下!!!!!,选择Maven项目
在这里插入图片描述

②将CICFlowMeter-master\jnetpcap\win\jnetpcap-1.4.r1425\jnetpcap.jar复制到CICFlowMeter-master根目录下

在这里插入图片描述
先把jar包放在本地
D:>cd CICFlowMeter\CICFlowMeter-master
D:\CICFlowMeter\CICFlowMeter-master>mvn install:install-file “-Dfile=jnetpcap.jar” “-DgroupId=org.jnetpcap” “-DartifactId=jnetpcap” “-Dversion=1.4.1” “-Dpackaging=jar”

成功:
在这里插入图片描述
执行:gradlew execute
在这里插入图片描述
成功:
在这里插入图片描述
根据需要选择离线数据集或实时数据,本次测试使用离线数据pcap文件:
在这里插入图片描述

添加pcap文件和输出文件地址,点击ok开始运行:
在这里插入图片描述

此时点击OK没有反应,去https://sourceforge.net/projects/jnetpcap/下载最新的jNetPcap,然后把原文件中的
运行结束后输出路径下会产生“输入文件名_flow.csv”文件,内容如下所示:
在这里插入图片描述

实时使用需要先找到注册表,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
在这里插入图片描述

查看可用的网卡参数,然后抓包即可,开始之后需要等待一会儿
在这里插入图片描述
停止之后,csv自动保存 D:\CICFlowMeter\CICFlowMeter-master\data\daily
在这里插入图片描述

四、流量特征

1.含义

(1)fl_dur - - > 流持续时间

(2)tot_fw_pk(流出方向?) - - > 在正向上包的数量

(3)tot_bw_pk - - > 在反向上包的数量

(4)tot_l_fw_pkt - - > 正向数据包的总大小

(5)fw_pkt_l_max - - > 包在正向上的最大大小

(6)fw_pkt_l_min - - > 包在正向上的最小大小

(7)fw_pkt_l_avg - - > 数据包在正向的平均大小

(8)fw_pkt_l_std - - > 数据包正向标准偏差大小

(9)Bw_pkt_l_max - - > 包在反向上的最大大小

(10)Bw_pkt_l_min - - > 包在反向上的最小大小

(11)Bw_pkt_l_avg - - > 数据包在反向的平均大小

(12)Bw_pkt_l_std - - > 数据包反向标准偏差大小

(13)fl_byt_sv - - > 流字节率,即每秒传输的数据包字节数

(14)fl_pkt_s - - > 流包率,即每秒传输的数据包数

(15)fl_iat_avg - - > 两个流之间的平均时间

(16)fl_iat_std - - > 两个流之间标准差

(17)fl_iat_max - - > 两个流之间的最大时间

(18)fl_iat_minv - - > 两个流之间的最小时间

(19)fw_iat_tot - - > 在正向发送的两个包之间的总时间

(20)fw_iat_avg - - > 在正向发送的两个包之间的平均时间

(21)fw_iat_std - - > 在正向发送的两个数据包之间的标准偏差时间

(22)fw_iat_max - - > 在正向发送的两个包之间的最大时间

(23)fw_iat_min - - > 在正向发送的两个包之间的最小时间

(24)bw_iat_tot - - > 反向发送的两个包之间的总时间

(25)bw_iat_avg - - > 反向发送的两个数据包之间的平均时间

(26)bw_iat_std - - > 反向发送的两个数据包之间的标准偏差时间

(27)bw_iat_max - - > 反向发送的两个包之间的最大时间

(28)bw_iat_min - - > 反向发送的两个包之间的最小时间

(29)fw_psh_flag - - > 在正向传输的数据包中设置PSH标志的次数(UDP为0)

(30)bw_psh_flag - - > 在反向传输的数据包中设置PSH标志的次数(UDP为0)

(31)fw_urg_flag - - > 在正向传输的数据包中设置URG标志的次数(UDP为0)

(32)bw_urg_flag - - > 反方向数据包中设置URG标志的次数(UDP为0)

(33)fw_hdr_len - - > 用于前向方向上的包头的总字节数

(34)bw_hdr_len - - > 用于后向方向上的包头的总字节数

(35)fw_pkt_s - - > 每秒前向包的数量

(36)bw_pkt_s - - > 每秒后向包的数量

(37)pkt_len_min - - > 流的最小长度

(38)pkt_len_max - - > 流的最大长度

(39)pkt_len_avg - - > 流的平均长度

(40)pkt_len_std - - > 流长度的方差

(41)pkt_len_va - - > 最小包到达间隔时间

(42)fin_cnt - - > 带有FIN的包数量

(43)syn_cnt - - > 带有SYN的包数量

(44)rst_cnt - - > 带有RST的包数量

(45)pst_cnt - - > 带有PUSH的包数量

(46)ack_cnt - - > 带有 ACK的包数量

(47)urg_cnt - - > 带有URG的包数量

(48)cwe_cnt - - > 带有CWE的包数量

(49)ECE - - > 带有ECE的包数量

(50)down_up_ratio - - > 下载和上传的比例

(51)pkt_size_avg - - > 数据包的平均大小

(52)fw_seg_avg - - > 观察到的前向方向上数据包的平均大小

(53)bw_seg_avg - - > 观察到的后向方向上数据包的平均大小

(54)fw_byt_blk_avg - - > 在正向上的平均字节数块速率

(55)fw_pkt_blk_avg - - > 在正向方向上数据包的平均数量

(56)fw_blk_rate_avg - - > 在正向方向上平均bulk速率

(57)bw_byt_blk_avg - - > 在反向上的平均字节数块速率

(58)bw_pkt_blk_avg - - > 在反向方向上数据包的平均数量

(59)bw_blk_rate_avg - - > 在反向方向上平均bulk速率

(60)subfl_fw_pk - - > 在正向子流中包的平均数量

(61)subfl_fw_byt - - > 子流在正向中的平均字节数

(62)subfl_bw_pkt - - > 反向子流中数据包的平均数量

(63)subfl_bw_byt - - > 子流在反向中的平均字节数

(64)fw_win_byt - - > 在正向的初始窗口中发送的字节数

(65)bw_win_byt - - > 在反向的初始窗口中发送的字节数

(66)Fw_act_pkt - - > 在正向方向上具有至少1字节TCP数据有效负载的包

(67)fw_seg_min - - > 在正方向观察到的最小segment尺寸

(68)atv_avg - - > 流在空闲之前处于活动状态的平均时间

(69)atv_std - - > 流在空闲之前处于活动状态的标准偏差时间

(70)atv_max - - > 流在空闲之前处于活动状态的最大时间

(71)atv_min - - > 流空闲前激活的最小时间

(72)idl_avg - - > 流在激活之前空闲的平均时间

(73)idl_std - - > 流量在激活前处于空闲状态的标准偏差时间

(74)idl_max - - > 流在激活之前空闲的最大时间

(75)idl_min - - > 流在激活之前空闲的最小时间

2.获取

官方网站为:https://www.unb.ca/cic/datasets/ids-2017.html
直接前往官网,最底部有下载按钮:

http://205.174.165.80/CICDataset/CIC-IDS-2017/Dataset/
在这里插入图片描述
如上图所示,在目录中,有三类文件,其中 GeneratedLabelledFlows 是完整提取文件,而 MachineLearningCSV 则是在前者基础上进行修剪后的版本,剔除了 IP 和时间戳等不适合机器学习的属性列,如果只是单纯进行机器学习训练,只需要下载后者即可。

相关文章:

win下载配置CIC Flowmeter环境并提取流量特征

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、下载CIC Flowmeter二、安装java、maven、gradle和IDEA1.java 1.82.maven3.gradle4.IDEA三、CICFlowMeter-master使用四、流量特征1.含义2.获取前言 配了一整…...

【LeetCode刷题-Java/Python】二分查找

二分查找704.二分查找题目实现总结35.搜索插入位置题目实现34. 在排序数组中查找元素的第一个和最后一个位置题目实现69.x的平方根题目实现367. 有效的完全平方数题目实现704.二分查找 题目 题目链接 给定一个 n 个元素有序的(升序)整型数组 nums 和一…...

Linux 6.2 已正式发布

Linus Torvalds 发布了稳定的 Linux 6.2 内核,这是 2023 年的第一个主要内核版本。硬件方面,Linux 6.2 提升了 Intel Arc 显卡 (DG2/Alchemist) 的稳定性,真正做到开箱即用。英特尔的 On Demand 驱动程序现在状态良好,适用于第 4 …...

Kubernetes 101,第一部分,基础知识

已经有一段时间了,我想花点时间坐下来写写关于Kubernetes 的文章。时机已到。 简而言之,Kubernetes是一个用于自动化和管理容器化应用程序的开源系统。Kubernetes 就是关于容器的。 ❗如果你对什么...

企业级信息系统开发学习笔记1.7 基于XML配置方式使用Spring MVC

文章目录零、本节学习目标一、Spring MVC概述1、MVC架构2、Spring MVC3、使用Spring MVC的两种方式二、基于XML配置与注解的方式使用Spring MVC(一)创建Spring项目【SpringMVCDemo01】(二)在pom文件里添加相关依赖(三&…...

java反射,动态代理

1. 反射 1.1 反射的概述: ​ 专业的解释(了解一下): ​ 是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; ​ 对于任意一个对象,都能够调用它的任意属性和方法…...

React(六):Redux的使用、react-redux简化代码、redux模块化、RTK的使用

React(六)一、Redux测试项目搭建1.创建store仓库2.创建reducer函数(纯函数)3.constants.js保存action名字4.修改store中的数据5.动态生成action二、React中如何使用redux1.安装redux2.创建store3.组件中订阅store4.派发action修改…...

静态库和动态库的打包与使用

静态库和动态库 静态库和动态库的打包 生成可执行程序时链接使用 运行可执行程序时加载使用 提前声明,笔者示例的文件有mian.c/child.c/child.h。OK,我们先了解一下,库文件是什么?它其实就是打包了一堆实现常用功能的代码文件. ⭐…...

h264编码之SPS解析

一、概念 SPS即Sequence Paramater Set,又称作序列参数集。SPS中保存了一组编码视频序列(Coded video sequence)的全局参数。 二、定义 H.264标准协议中规定的SPS格式位于文档的7.3.2.1.1,如下图所示: 1、profile_idc 根据《T-REC-H.264-2…...

使用R语言包clusterProfiler做KEGG富集分析时出现的错误及解决方法

使用enrichKEGG做通路富集分析时&#xff0c;一直报错&#xff1a;显示No gene can be mapped....k <- enrichKEGG(gene gene, organism "hsa", pvalueCutoff 1, qvalueCutoff 1)但是之前用同样的基因做分析是能够成功地富集到通路&#xff0c;即便是网上的数据…...

框架——MyBatis的入门案例

框架概述1.1什么是框架框架&#xff08;Framework&#xff09;是整个或部分系统的可重用设计&#xff0c;表现为一组抽象构件及构件实例间交与的方法&#xff1b;另一种定义认为&#xff0c;框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义…...

hadoop兼容性验证

前言 Hadoop是一个由Apache基金会所开发的分布式系统基础架构&#xff0c;主要解决海量数据的存储和海量数据的分析计算问题&#xff0c;广义上来说&#xff0c;Hadoop通常是指一个更广泛的概念–hadoop生态圈 Hadoop优缺点&#xff1a; 优点&#xff1a; 1、高可靠性&#x…...

运维提质增效,有哪些办法可以做

凡是代码&#xff0c;难免有 bug。 开发者们的日常&#xff0c;除了用一行行代码搭产品外&#xff0c;便是找出代码里的虫&#xff0c;俗称 debug。 随着移动互联网的快速发展&#xff0c;App 已经成为日常生活中不可或缺的一部分。但是在开发者/运维人员的眼里简直就是痛苦的…...

c++基础——结构体

结构体结构体&#xff08;struct&#xff09;&#xff0c;可以看做是一系列称为成员元素的组合体。可以看做是自定义的数据类型。定义结构体struct abc {int x;int y; } e[array_length];const abc a; abc b, B[array_length], tmp; abc *c;上例中定义了一个名为 abc 的结构体&…...

applicationContext相关加载

spring refresh 概述 refresh是一个方法&#xff0c;spring中所有的ApplicationContext容器都需要通过refresh方法初始化&#xff1b; 处理步骤 其中refresh方法包含12个主要的处理步骤&#xff1a; 1、第1个步骤做前置准备 2、第2~6步骤创建BeanFactory&#xff08;Appl…...

数据同步工具Sqoop

大数据Hadoop之——数据同步工具SqoopSqoop基本原理及常用方法 1 概述 Apache Sqoop&#xff08;SQL-to-Hadoop&#xff09;项目旨在协助RDBMS&#xff08;Relational Database Management System&#xff1a;关系型数据库管理系统&#xff09;与Hadoop之间进行高效的大数据交…...

Kafka 版本

kafka-2.11-2.1.1 : Kafka 1.0.0 后&#xff0c;Kafka 版本命名规则从 4 位到 3 位Kafka版本号是 2.1.1前 2 : 大版本号 (MajorVersion)中 1 : 小版本号或次版本号 (Minor Version)后 1 : 修订版本号 (Patch) Kafka 0.7 最早开源版本 &#xff1a; 只提供最基础的消息队列功…...

ElasticSearch 在Java中的各种实现

ES JavaAPI的相关体系&#xff1a; 词条查询 所谓词条查询&#xff0c;也就是ES不会对查询条件进行分词处理&#xff0c;只有当词条和查询字符串完全匹配时&#xff0c;才会被查询到。 等值查询-term 等值查询&#xff0c;即筛选出一个字段等于特定值的所有记录。 【SQL】 s…...

SpringBoot整合Knife4j

文章目录前言一、Knife4j是什么&#xff1f;二、使用步骤1.导入依赖2.编写配置文件3.编写controller和实体类4.测试总结前言 接上篇整合Swagger链接奉上http://t.csdn.cn/9mXSu 一、Knife4j是什么&#xff1f; 官方文档&#xff1a;https://doc.xiaominfo.com/ knife4j可以理解…...

MyISAM和InnoDB存储引擎的区别

目录前言存储引擎区别事务外键表单的存储数据查询效率数据更新效率如何选择前言 MyISAM和InnoDB是使用MySQL最常用的两种存储引擎&#xff0c;在5.5版本之前默认采用MyISAM存储引擎&#xff0c;从5.5开始采用InnoDB存储引擎。 存储引擎 存储引擎是&#xff1a;数据库管理系统…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...