JDK8U221
Maven
Maven是什么
- Maven(POM project object model)是专门用于构建和管理java相关项目的工具。
- 通俗的讲maven就是专门用于构建和管理项目的工具,他可以帮助我们去下载我们所需要jar包,帮助我们去管理项目结构,帮助我们去实现项目的维护、打包等等…
maven的下载与安装
Maven的下载安装配置教程
Gradle
Git相关
Git下载、安装与环境配置
IDEA如何一键导入GitHub优秀开源项目
CICFlowMeter
CICflowmeter是一款流量特征提取工具,该工具输入pcap文件,输出pcap文件中包含的数据包的特征信息,共80多维,以csv表格的形式输出。
提取的都是传输层的一些统计信息,以一个TCP流或一个UDP流为一个单位。
TCP流以FIN标志为结束,UDP以设置的flowtimeout时间为限制,超过时间就判为结束。
在一个TCP流中有很多个数据包,先三次握手而后传输信息再四次挥手。
统计一个流中的统计信息作为提取的特征。
统计的特征都分前后向,规定由源地址到目的地址为正向,目的地址到源地址为反向。
为每个流构建一个标志叫Flow ID:192.168.31.100-183.232.231.174-46927-443-6,由源地址、目的地址、协议号组成。
可能出现的问题:装完以后wireshark的捕获接口就没有了,有的人会出现。
启动CICFlowMeter
提前配置好上文所有环境变量,win系统还需要配置好winpcap,据一些博主反应没装winpcap可能导致程序跑起来了但是没有输出csv,但我之前做别的项目装过,所以不知道是不是真的。
Git项目地址:
https://github.com/ahlashkari/CICFlowMeter.git
注意 本项目是gradle项目
进入到*/CICFlowMeter\jnetpcap\win\jnetpcap-1.4.r1425路径下,执行命令:
mvn install:install-file -Dfile=jnetpcap.jar -DgroupId=org.jnetpcap -DartifactId=jnetpcap -Dversion=1.4.1 -Dpackaging=jar
如果执行失败可能是未添加maven环境变量
执行结束进入项目根目录*/CICFlowMeter下,执行命令:
gradlew execute
fl_dur 流动持续时间
tot_fw_pk 正向总包数
tot_bw_pk 反向总包数
tot_l_fw_pkt 正向数据包的总大小
fw_pkt_l_max 正向数据包的最大大小
fw_pkt_l_min 正向包的最小大小
fw_pkt_l_avg 正向数据包的平均大小
fw_pkt_l_std 正向数据包的标准偏差大小
Bw_pkt_l_max 反向包的最大大小
Bw_pkt_l_min 反向包的最小大小
Bw_pkt_l_avg 反向包的平均大小
Bw_pkt_l_std 反向包的标准偏差大小
fl_byt_s 流字节率,即每秒传输的数据包数
fl_pkt_s 流包速率,即每秒传输的包数
fl_iat_avg 两个流之间的平均时间
fl_iat_std 两个流的标准差时间
fl_iat_max 两个流之间的最长时间
fl_iat_min 两个流之间的最短时间
fw_iat_tot 前向发送的两个数据包之间的总时间
fw_iat_avg 前向发送的两个数据包之间的平均时间
fw_iat_std 前向发送的两个数据包之间的标准偏差时间
fw_iat_max 前向发送的两个数据包之间的最大时间
fw_iat_min 前向发送的两个数据包之间的最短时间
bw_iat_tot 反向发送的两个数据包之间的总时间
bw_iat_avg 反向发送的两个数据包之间的平均时间
bw_iat_std 反向发送的两个数据包之间的标准偏差时间
bw_iat_max 反向发送的两个数据包之间的最大时间
bw_iat_min 反向发送的两个数据包之间的最短时间
fw_psh_flag 在正向传输的数据包中设置 PSH 标志的次数(UDP 为 0)
bw_psh_flag 在反向传输的数据包中设置 PSH 标志的次数(UDP 为 0)
fw_urg_flag 在正向传输的数据包中设置 URG 标志的次数(UDP 为 0)
bw_urg_flag 在反向传输的数据包中设置 URG 标志的次数(UDP 为 0)
fw_hdr_len 用于前向数据包头部的总字节数
bw_hdr_len 用于反向数据包头部的总字节数
fw_pkt_s 每秒前向数据包数
bw_pkt_s 每秒反向数据包数
pkt_len_min 流的最小长度
pkt_len_max 流的最大长度
pkt_len_avg 流的平均长度
pkt_len_std 流的标准偏差长度
pkt_len_va 数据包最小到达间隔时间
fin_cnt 带FIN的数据包数
syn_cnt 带有 SYN 的数据包数
rst_cnt 带有 RST 的数据包数
pst_cnt PUSH的数据包数
ack_cnt 带有 ACK 的数据包数
urg_cnt 带有 URG 的数据包数量
cwe_cnt 带有 CWE 的数据包数
ece_cnt 带有 ECE 的数据包数
down_up_ratio 下载上传比例
pkt_size_avg 数据包平均大小
fw_seg_avg 前向的平均尺寸
bw_seg_avg 反向的平均尺寸
fw_byt_blk_avg 前向平均字节数批量速率
fw_pkt_blk_avg 前向平均包块率
fw_blk_rate_avg 前向平均散货率
bw_byt_blk_avg 反向平均字节数批量速率
bw_pkt_blk_avg 反向平均包块率
bw_blk_rate_avg 反向平均散货率
subfl_fw_pk 前向子流中的平均数据包数
subfl_fw_byt 前向子流的平均字节数
subfl_bw_pkt 反向子流中的平均数据包数
subfl_bw_byt 反向子流的平均字节数
fw_win_byt 前向初始窗口中发送的字节数
bw_win_byt 反向初始窗口中发送的字节数
Fw_act_pkt 前向具有至少 1 字节 TCP 数据有效载荷的数据包的数量
fw_seg_min 前向观察到的最小段大小
atv_avg 流在变为空闲之前处于活动状态的平均时间
atv_std 流在空闲之前处于活动状态的标准偏差时间
atv_max 流在变为空闲之前处于活动状态的最长时间
atv_min 流在变为空闲之前处于活动状态的最短时间
idl_avg 流在变为活动之前处于空闲状态的平均时间
idl_std 流在变为活动之前空闲的标准偏差时间
idl_max 流在变为活动之前空闲的最长时间
idl_min 流在变为活动之前空闲的最短时间
Github项目
CICFlowMeter使用
使用CIC Flowmeter提取流量特征
Linux虚拟机对CICFlowMeter的配置