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(全卷积神经…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...