研究性论文_基于层次聚类方法的流量异常检测

本文介绍了使用层次聚类方法进行流量异常检测的流程,包括pcap到netflow的格式转换、数据预处理和异常检测模型。在数据预处理中,通过softflowd、nfcapd和nfdump工具完成转换。层次聚类采用凝聚法,通过计算样本间的相似度构建聚类树。实验比较了多种机器学习算法,发现约减的SVM在鲁棒性和泛化能力方面表现出色,最佳数据量处理切片为20万条。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于层次聚类方法的流量异常检测

链接:百度网盘链接
提取码:9trx

1.模型框架

在这里插入图片描述

2.数据预处理

  1. 流量格式转换

    在网络中捕获的流量数据包的初始格式通常为pcap格式,内容表现形式为 16进制的数据
    为了将其转化为安全分析人员熟知的IP、端口等内容,需要将pcap格式转换成netflow格式
    pacp ----> netflow

    (1)pcap格式

    pcap:Global Header(24B)、Packet Header(16B)、Packet Data(共n个字节)

     Global Header:定义了该文件的最大存储长度、读取规则等内容
     Packet Header:数据包包头。定义了数据包的时间戳、长度等内容
     Packet Data:数据
    

    在这里插入图片描述

    (2)netflow格式

    7元组:源IP地址、目的IP地址、源端口号、目的端口号、协议种类、服务种类、输入接口

     如果两段流量的7元组相同,则属于同一个数据流,否则属于不同的数据流
    

    (3)转换方法

    在ubuntu环境下,借助3种工具,分别是softflowd、nfcapd、nfdump

     softflowd:读取pcap文件,并将其转换为netflow,输出至指定端口,包含老化时间、抽样等多项参数
     nfcapd:在指定端口接收netflow数据,并输出为netflow文件
     nfdump:读取netflow文件
    
  2. 层次聚类

    主要思想:计算各个数据点的相似度,最终形成树形分布图,对数据集在不同的层次上进行划分

    根据聚类树划分的不同,分为:

     分裂法:自顶向下的分割方法
     凝聚法:自底向上的聚合方法(使用更广泛)
    

    凝聚法:将每个数据点作为一个初始聚类簇,每次都寻找相似度最高的2个类别进行合并,并不断迭代合并的过程,直至分类数目达到预期设定的值。

    簇间距离测量算法:

     (1)单连接算法:2个簇的距离是由这2个簇中最近的2个样本点之间的距离决定,会受到极端值的影响
     (2)全连接算法:2个簇的距离是由这2个簇中最远的2个样本点之间的距离决定,会受到极端值的影响
     (3)均连接算法:2个簇的距离是这2个簇中的所有样本点两两之间距离求均值的结果,计算量较大,结果更合理一些
    

在这里插入图片描述
结果为:
在这里插入图片描述

3.异常流量检测模型

使用了七种常用的机器学习算法:决策树、随机森林、SVM、AdaBoost、GBDT、GNB、MNB

4.实验与分析

在这里插入图片描述
分析可得:基于约减的SVM算法效果最佳,因为SVM算法具有较强的鲁棒性,且泛化能力较好

基于约减的SVM算法对不同数据量的约减率:
在这里插入图片描述

分析可得:当流量数据为20万条时,数据约减量达到峰值,因此,基于层次聚类的流量异常检测模型的最佳数据量处理切片为20万条。对于新的需预测的流量数据,以20万条数据量作为划分区间,将其划分为多段流量信息,再使用基于层次聚类的流量异常检测模型进行检测,能到达比较好的约减效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值