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做通路富集分析时,一直报错:显示No gene can be mapped....k <- enrichKEGG(gene gene, organism "hsa", pvalueCutoff 1, qvalueCutoff 1)但是之前用同样的基因做分析是能够成功地富集到通路,即便是网上的数据…...
框架——MyBatis的入门案例
框架概述1.1什么是框架框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交与的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义…...
hadoop兼容性验证
前言 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,主要解决海量数据的存储和海量数据的分析计算问题,广义上来说,Hadoop通常是指一个更广泛的概念–hadoop生态圈 Hadoop优缺点: 优点: 1、高可靠性&#x…...
运维提质增效,有哪些办法可以做
凡是代码,难免有 bug。 开发者们的日常,除了用一行行代码搭产品外,便是找出代码里的虫,俗称 debug。 随着移动互联网的快速发展,App 已经成为日常生活中不可或缺的一部分。但是在开发者/运维人员的眼里简直就是痛苦的…...
c++基础——结构体
结构体结构体(struct),可以看做是一系列称为成员元素的组合体。可以看做是自定义的数据类型。定义结构体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是一个方法,spring中所有的ApplicationContext容器都需要通过refresh方法初始化; 处理步骤 其中refresh方法包含12个主要的处理步骤: 1、第1个步骤做前置准备 2、第2~6步骤创建BeanFactory(Appl…...
数据同步工具Sqoop
大数据Hadoop之——数据同步工具SqoopSqoop基本原理及常用方法 1 概述 Apache Sqoop(SQL-to-Hadoop)项目旨在协助RDBMS(Relational Database Management System:关系型数据库管理系统)与Hadoop之间进行高效的大数据交…...
Kafka 版本
kafka-2.11-2.1.1 : Kafka 1.0.0 后,Kafka 版本命名规则从 4 位到 3 位Kafka版本号是 2.1.1前 2 : 大版本号 (MajorVersion)中 1 : 小版本号或次版本号 (Minor Version)后 1 : 修订版本号 (Patch) Kafka 0.7 最早开源版本 : 只提供最基础的消息队列功…...
ElasticSearch 在Java中的各种实现
ES JavaAPI的相关体系: 词条查询 所谓词条查询,也就是ES不会对查询条件进行分词处理,只有当词条和查询字符串完全匹配时,才会被查询到。 等值查询-term 等值查询,即筛选出一个字段等于特定值的所有记录。 【SQL】 s…...
SpringBoot整合Knife4j
文章目录前言一、Knife4j是什么?二、使用步骤1.导入依赖2.编写配置文件3.编写controller和实体类4.测试总结前言 接上篇整合Swagger链接奉上http://t.csdn.cn/9mXSu 一、Knife4j是什么? 官方文档:https://doc.xiaominfo.com/ knife4j可以理解…...
MyISAM和InnoDB存储引擎的区别
目录前言存储引擎区别事务外键表单的存储数据查询效率数据更新效率如何选择前言 MyISAM和InnoDB是使用MySQL最常用的两种存储引擎,在5.5版本之前默认采用MyISAM存储引擎,从5.5开始采用InnoDB存储引擎。 存储引擎 存储引擎是:数据库管理系统…...
SpringMVC自定义处理多种日期格式的格式转换器
package cn.itcast.utils;import org.springframework.core.convert.converter.Converter;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;/*** 把字符串转换日期*/public class StringToDateConverter implements Converter<String…...
NYUv2生成边界GT(1)
看了cityscape和NYUv2生成边界GT的代码后,因为自己使用的是NYUv2数据集,所以需要对自己的数据集进行处理。CASENet生成边界GT所使用的代码是MATLAB,所以又重新看了一下MATLAB的代码,并进行修改,生成了自己的边界代码。…...
Spring基本概念与使用
文章目录一、Spring概念1.容器2.IoC3.DI4.Ioc与DI的关系二、Spring创建与使用1.Maven2.添加Spring框架支持注:国内的Maven源配置3.简单实例(1)创建一个Bean对象。(2)将Bean对象存储到Spring当中(3ÿ…...
安恒信息java实习面经
目录1.Java ME、EE、SE的区别,Java EE相对于SE多了哪些东西?2.jdk与jre的区别3.说一下java的一些命令,怎么运行一个jar包4.简单说一下java数据类型及使用场景5.Map跟Collection有几种实现?6.面向对象的特性7.重载和重写的区别8.重…...
第八章:枚举类与注解
第八章:枚举类与注解 8.1:枚举类的使用 类的对象只有有限个,确定的。我们称此类为枚举类。当需要定义一组常量是,强烈建议使用枚举类。如果枚举类中只有一个对象,则可以作为单例模式的实现方式。 如何定义枚举类 …...
Ceph介绍
分布式存储概述 常用的存储可以分为DAS、NAS和SAN三类 DAS:直接连接存储,是指通过SCSI接口或FC接口直接连接到一台计算机上,常见的就是服务器的硬盘NAS:网络附加存储,是指将存储设备通过标准的网络拓扑结构ÿ…...
remove 和 erase 的区别
remove 和 erase 的区别 以容器vector来说明remove和erase的区别 在STL中,vector容器也提供了remove()和erase()函数,用于从vector中删除元素。虽然这两个函数都可以实现删除元素的功能,但是它们之间还是有一些区别的。 remove() remove(…...
NFTScan:怎么使用 NFT API 开发一个 NFT 数据分析平台?
对很多开发者来说,在 NFT 数据海洋中需要对每个 NFT 进行索引和筛选是十分困难且繁琐的,NFT 数据获取仍是一大问题。而数据平台提供的 API 使得开发者可以通过接口获取区块链上 NFT 的详细信息,并对其进行分析、处理、统计和可视化。在本篇文…...
ECOLOY直接更换流程表单后导致历史流程中数据为空白的解决方案
用户反馈流历史流程打开是空白了没有内容。 一、问题调查分析: 工作流“XX0204 员工培训协议审批流程”workflowId37166产生的7个具体流程中,创建日期为2021年的4个具体流程原先引用的数据库表单应该是“劳动合同签订审批表”(formtable_main_190)&…...
mysql中的共享锁,排他锁,间隙锁,意向锁及死锁机制
一、前言(以下均为读完 高性能Mysql第四版 后的个人理解,建议阅读,挺不错的)在写锁机制前先简单贴出mysql InnoDB引擎中的事务特性与隔离级别:事务的ACID标准(1)原子性-atomicity:一个事务作为一个不可分割…...
做电商网站/网络营销企业培训
在jar上设置/右键properties/Javadoc Location/Struts-2.3.12/docs下面找到对应的文档 转载于:https://www.cnblogs.com/SpringSmallGrass/archive/2013/04/05/3001715.html...
网站空间的参数/百度搜索榜排名
win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法1.APMServ程序所在路径不能含有汉字和空格。例子:D:\r\APMServ5.2.6\2.去掉如图的ssl :3.80端口被占用,关闭占用端口服务,或者改端口。4.如果发现上面的…...
苏州做网站推广的/网上销售
最近更新的博客 华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】华为OD机试 - 组成最大数…...
高大上的自助建站网站/tool站长工具
目录一、本地运行模式1. 主要项目结构:2. 配置pom.xml引入需要的jar包3. Map过程4. Reduce过程5. 核心类Driver:二、集群运行模式:1. 打包项目为jar包2. 上传打包的项目jar包到data目录下3. 运行项目jar包一、本地运行模式 1. 主要项目结构&…...
帮人做任务赚钱的网站/冯耀宗seo教程
最短路径算法特点:迪科斯彻算法使用了广度优先搜索解决赋权有向图或者无向图的单源最短路径问题,算法最终得到一个最短路径树。该算法常用于路由算法或者作为其他图算法的一个子模块。算法思路:Dijkstra算法采用的是一种贪心的策略࿰…...
wordpress 点餐/系统优化app
由于时间的关系,我今天只能初步的跟大家讨论一下学习数据持久化和Hibernate的概念与技术的一些所需要知道的知识,在后续的文章中我还会给出如何使用Eclipse来建立和使用Hibernate技术来操作数据库。 1.数据持久化的概述 Persistent是为了解决关系型数据库…...