【技术实现步骤摘要】
一种基于TCP报文特征的网络流量识别方法及装置
本专利技术涉及一种网络监控领域,尤其是涉及一种基于TCP报文特征的网络流量识别方法及装置。
技术介绍
流量识别是基于网关的网络监控的重要手段,通过对数据包进行分析可以确定数据包所属于的应用,从而实现网络行为监控的目的。最常见的流量识别算法有三种方法,基于端口的流量识别算法、基于DPI的流量识别算法、基于统计学的机器学习算法,这三种方法各有各自的缺点。基于端口的流量识别依靠的是应用与端口间所约定的一对一映射关系,然而随着越来越多的应用使用自定义端口,基于端口的流量识别算法不再有效。基于DPI的流量识别算法分析一条TCP连接的前几个报文,验证这些报文的负载是否有特定的关键字或者特定的格式,然而DPI的方法无法分析经过应用层加密的报文。基于统计学的机器学习算法虽然可以在不使用报文负载以及端口的条件下,保证较高的识别准确率,但是仍有着实时性低以及易受网络波动的影响,这是因为算法所依赖的特征大多与报文的到达时间相关,而到达时间易受网络波动的影响。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种基于TCP ...
【技术保护点】
1.一种基于TCP报文特征的网络流量识别方法,其特征在于,包括:步骤S1:获取TCP报文,遍历所有TCP报文并提取出报文的大小,得到应用层消息大小向量;步骤S2:对得到的应用层消息大小向量进行正则化处理,将大小相近的应用层消息大小映射成为相同的大小,得到正则化后的应用层消息大小向量;步骤S3:将正则化后的应用层消息大小向量输入训练好的多个识别模型中,分别得到该应用层消息大小向量隶属于各识别模型所对应的类型的概率,将概率最大的识别模型所对应的概率作为识别结果。
【技术特征摘要】
1.一种基于TCP报文特征的网络流量识别方法,其特征在于,包括:步骤S1:获取TCP报文,遍历所有TCP报文并提取出报文的大小,得到应用层消息大小向量;步骤S2:对得到的应用层消息大小向量进行正则化处理,将大小相近的应用层消息大小映射成为相同的大小,得到正则化后的应用层消息大小向量;步骤S3:将正则化后的应用层消息大小向量输入训练好的多个识别模型中,分别得到该应用层消息大小向量隶属于各识别模型所对应的类型的概率,将概率最大的识别模型所对应的概率作为识别结果。2.根据权利要求1所述的一种基于TCP报文特征的网络流量识别方法,其特征在于,所述步骤S1具体包括:步骤S11:获取TCP报文;步骤S12:遍历所有TCP报文并提取出报文的大小和方向;步骤S13:剔除大小为0的数据,并累加同一方向的报文大小,将累加后的结果组成应用层消息大小向量。3.根据权利要求1所述的一种基于TCP报文特征的网络流量识别方法,其特征在于,所述步骤S2中映射的函数具体为:其中:f(x)为映射后的报文大小,x为映射前的报文大小。4.根据权利要求1所述的一种基于TCP报文特征的网络流量识别方法,其特征在于,所述步骤S3中,对于一个识别模型,其工作过程具体包括:步骤S31:对于正则化后的应用层消息大小向量,按时间顺序依次提取出应用层消息大小;步骤S32:依次将各应用层消息大小输入识别模型,得到模型输出P:P=[p1,p2,p3…pj]其中:j为观测空间的大小,pn为下一个应用层消息大小为状态n的概率;步骤S33:从第二个应用层消息大小开始,从模型输出中检索得到相应的概率值作为后验概率,并将所有后验概率相乘得到该应用层消息大小向量隶属于该识别模型所对应的类型的概率。5.根据权利要求1所述的一种基于TCP报文特征的网络流量识别方法,其特征在于,所述识别模型为一个两层的LSTM层的神经网络,第一层网络以一个正则化之后的应用层消息大小为输入,第一层与第二层的网络之间采用全连接,第二层与Softmax层相连接,第二层的输出为一个大小为J的向量。6.一种基于TCP报文特征的网络流量识别装置,其...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。