当前位置: 首页 > 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(全卷积神经…...

python打卡day49

知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...

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

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...