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

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

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

文章目录

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


前言

配了一整天环境终于配好了
2023.3.27亲测有效
如果有什么地方写的不清楚可以礼貌提问
知无不言 但我不一定知道 😃
(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 和时间戳等不适合机器学习的属性列,如果只是单纯进行机器学习训练,只需要下载后者即可。

相关文章:

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

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

JDK如何判断自己是什么公司的

0x00 前言 因为一些事情,遇到了这样一个问题,JDK如何判断自己是什么公司编译的。因为不同的公司编译出来,涉及到是否商用收费的问题。 平时自己使用的时候,是不会考虑到JDK的编译公司是哪一个,都是直接拿起来用&#…...

大数据技术之HBase(二)HBase原理简介

一、HBase定义1.1 HBase定义HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL 数据库非结构化数据存储的数据库,基于列的模式存储。利用Hadoop HDFS作为其文件存储系统,写入性能很强,读取性能较差。利用Hadoop MapReduce来处理HBase中的…...

垒骰子(爆搜/DP)

动态规划方格取数垒骰子方格取数 题目描述 设有 NNN \times NNN 的方格图 (N≤9)(N \le 9)(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字 000。如下图所示(见样例): A0 0 0 0 0 0 0 00 0 13 0 …...

Telink之标准SDK的介绍_1

前提:常见的项目架构:应用层----》驱动层----》硬件层 1、软件组织架构 顶层⽂件夹( 8 个): algorithm,application,boot,common,drivers,proj_lib,stack,v…...

JNI内两种方式从C/C++中传递一维、二维、三维数组数据至Java层详细梳理

目录 0 前言 1 准备工作介绍 2 一维数组 2.1 return形式 2.2 参数形式 3 二维数组 3.1 return形式 3.2 参数形式 4 三维数组 4.1 return形式 4.2 参数形式 5 测试代码 6 结果说明 0 前言 就如之前我写过的一篇文章【JNI内形参从C代码中获取返回值并返回到Java层使…...

快递计费系统--课后程序(Python程序开发案例教程-黑马程序员编著-第3章-课后作业)

实例5:快递计费系统 快递行业高速发展,我们邮寄物品变得方便快捷。某快递点提供华东地区、华南地区、华北地区的寄件服务,其中华东地区编号为01、华南地区编号为02、华北地区编号为03,该快递点寄件价目表具体如表1所示。 表1 寄…...

JS - 自定义一周的开始和结束,计算日期所在月的周数、所在月第几周、所在周的日期范围

自定义一周的开始和结束,计算日期所在月的周数、所在月第几周、所在周的日期范围一. 方法使用二. 实现案例一. 方法使用 根据月开始日期星期几、月结束日期星期几,计算始周、末周占月的天数(每周周期段:上周六 —— 本周五&#x…...

Linux :理解编译的四个阶段

目录一、了解编译二、认识编译的四个阶段(一)预处理(二)编译(三)汇编(四)链接1.静态链接2.动态链接三、分步编译(一)创建.c文件(二)预…...

197.Spark(四):Spark 案例实操,MVC方式代码编程

一、Spark 案例实操 1.数据准备 电商网站的用户行为数据,主要包含用户的 4 种行为:搜索,点击,下单,支付 样例类: 2. Top10 热门品类 先按照点击数排名,靠前的就排名高;如果点击数相同,再比较下单数;下单数再相同,就比较支付数。 我们有多种写法,越往后性能越…...

Vue 项目如何迁移小程序

最近我们看到有开发者在社群里提出新的疑惑「我手头已经有一个成熟的 HTML5 项目了,这种项目可以转为小程序在 FinClip 环境中运行吗?」。 经过工作人员的沟通了解,开发者其实是想将已有的 Vue 项目转为小程序,在集成了 FinClip …...

unit1-问候以及介绍

unit1-问候以及介绍 重点表达 1、问好 使用hello 和 hi 来打招呼。hello可以使用在正式和非正式的场合。hi是非正式的。但是hello 和 hi 都可以在一天的任何时段使用。 Hello. 你好。 Hi! 嗨! 介绍你的姓名 使用 I’m 和 My name is 告诉别人你的名字。 I’m Pau…...

杂记——19.git上传时出现the remote end hung up unexpectedly错误

git是大家常用的项目版本控制工具,熟练地使用git可以提高开发效率,但是有时在使用git推送代码时,会提示“the remote end hung up unexpectedly”的问题,那么git推送代码提示“the remote end hung up unexpectedly”怎么解决呢&a…...

python123平台题目

作业二 1. 2的n次方描述输入格式输出格式输入输出实例代码解析2. 输出最大值描述输入格式输出格式输入输出示例代码解析3. 字符串输出描述输入格式输出格式输入输出示例代码解析4. 字符串长度描述输入格式输出格式输入输出示例代码解析...

ROS学习笔记(六):TF坐标变换

ROS学习笔记(六):TF坐标变换TF的基本知识TF工具tf_monitortf_echostatic_transform_publisherview_frames创建TF广播器创建TF监听器TF的基本知识 TF是一个让用户随时间跟踪多个坐标系的功能包,它使用树形数据结构,根据…...

【python】为你绘制玫瑰一束,爱意永存

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 若是有真情,爱意如溪水, 若是有真爱,爱意如阳光, 若是两情相悦,又岂在朝朝暮暮, 女子淡淡的情愫,深深地想念, 浓浓的爱意&a…...

智能家居创意产品一Homkit智能通断器

智能通断器,也叫开关模块,可以非常方便地接入家中原有开关、插座、灯具、电器的线路中,通过手机App或者语音即可控制电路通断,轻松实现原有家居设备的智能化改造。 随着智能家居概念的普及,越来越多的人想将自己的家改…...

【数据库】MySQL表的增删改查(基础命令详解)

写在前面 : 语法中大写字母是关键字,用[]括这的是可以省略的内容。文中截图是相对应命令执行完得到的结果截图。1.CRUD 注释:在SQL中可以使用“--空格描述”来表示注释说明.CRUD:即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首…...

2023年全国最新保安员精选真题及答案15

百分百题库提供保安员考试试题、保安职业资格考试预测题、保安员考试真题、保安职业资格证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 151.该图所要表达的是()消防器材。 A:地上消防栓 B:灭火器 …...

KPN对任意形状文本检测

文章目录一、研究背景二、方法流程1. 特征提取2. 核建议3. 实例无关特征图4. 轮廓生成5. 其余部分内容三、不足一、研究背景 相比起基于 FCN 网络的文本边缘检测网络,KPN网络可以更好地处理文本之间的间隔。 二、方法流程 1. 特征提取 FCN 和 FPN FCN(全卷积神经…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

GitHub 趋势日报 (2025年06月08日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

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

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: 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…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

C++使用 new 来创建动态数组

问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...