一种网络协议特征识别方法技术

技术编号:25486008 阅读:34 留言:0更新日期:2020-09-01 23:05
本发明专利技术属于网络协议特征识别技术领域,公开了一种网络协议特征识别方法,上传部分JSON形式的数据或二进制形式的历史数据用于特征提取,触发平台网络协议特征提取特征;针对JSON形式的数据,对数据进行校验;通过key值提取算法提取协议特征标识并进行结果验证,如通过验证则将协议特征标识存入数据库;否则提示错误信息,进行干预。本发明专利技术分别对JSON和二进制形式的非标准物联网协议进行特征提取,提出了物联网非标准协议的特征识别方法,实现了IPaaS+协议特征的协议标识和解析。证明本发明专利技术的提出的物联网网络协议特征识别方法具有极大的优势,其平均准确率达99.63%。

【技术实现步骤摘要】
一种网络协议特征识别方法
本专利技术属于网络协议特征识别
,尤其涉及一种网络协议特征识别方法。
技术介绍
目前,网络协议特征识别问题的研究主要集中在网络管理领域,传统的网络流量识别方法是使用TCP或UDP服务端口识别上层应用,由于部分应用采用随机端口或非标准通信协议,导致基于服务端口的方法存在很多弊端和缺陷,研究表明对于特定的KazaaP2P协议,只有30%的数据来自默认端口,其余数据均来自非标准端口。研究表明基于服务端口方法的准确率不足50%。为解决这一问题,研究者利用协议本身的流测度差异(流测度主要包括数据包的大小、长度、本身特性以及数据包间的时间间隔等属性)识别协议,或者利用机器学习算法进行网络流量标识的方法,但其针对的是一般的互联网协议,并没有针对物联网二进制或JSON(JavaScriptObjectNotation)协议的特点。一款名为GT的开源网络抓包工具,通过监视内核以及网络流量的到达时间来标识网络流量来自哪个应用程序,其对应用程序采用协议的标识首先通过人工阅读代码和公共文档以及观察其行为的方式来确定应用程序使用的协议列表,并根据每种协议的公共签名来标识网络流量采用的通信协议,且支持的协议仅为标准协议。基于IPaaS的物联网异构设备自适应接入方法,通过服务器端目的IP+目的端口号的形式可以在物联网平台侧标识非标准物联网协议,由于每一种非标准物联网协议都对应一个目的IP+目的端口号且IP及端口号的资源有限,导致IPaaS方案协议映射的可扩展性问题。另一方面,物联网网关为不具备互联网通讯能力的设备提供接入互联网的能力,设备通信由物联网网关代理,导致IPaaS方案只能标识到网关而不能标识网关下异构的设备。例如,如下两条数据分别是温湿度传感器和地磁传感器的数据:{"datastreams":[{"temp":"21.0","humi":"39.0","sn":"ffffff1000000c0b"}]}{"datastreams":[{"dici":"1","sn":"ffffff1000000b9a"}]}两种不同类型的设备将数据发送至网关,由网关通过互联网传输至物联网平台。由于是两种不同类型的设备,需要分别建立虚拟设备的数据模型,而IPaaS的解决方案由于数据发送至同一端口,不能有效区分上述两种设备,无法实现设备数据到虚拟设备数据模型的映射。通过上述分析,现有技术存在的问题及缺陷为:目前的网络协议特征识别方法存在识别效率或识别准确率低。解决以上问题及缺陷的难度为:针对TCP或UDP服务端口资源有限而导致协议映射的可扩展性问题。难点现有的设备接入方法并不能完全实现设备平台侧的接入与解析,而且在于不同类型的设备在发送数据过程中,需要分别建立虚拟设备的数据模型,而在IP及端口号资源有限的条件下,提高识别非标准物联网协议的效率及准确率。解决以上问题及缺陷的意义为:解决TCP或UDP服务端口资源有限而导致协议映射的可扩展性问题。有利于在资源受限的条件下,实现应用与物联网设备间的松耦合,提高应用的通用性。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种网络协议特征识别方法。本专利技术是这样实现的,一种网络协议特征识别方法,所述网络协议特征识别方法包括:第一步,上传部分JSON形式的数据或二进制形式的历史数据用于特征提取,触发平台网络协议特征提取特征;第二步,针对JSON形式的数据,对数据进行校验;第四步,通过key值提取算法提取协议特征标识并进行结果验证,如通过验证则将协议特征标识存入数据库;否则提示错误信息,进行干预。进一步,所述网络协议特征识别方法针对二进制网络协议特征提取,进行数据的校验工作,校验成功后将数据发送至二进制网络协议数据集统一存储路径进行存储。进一步,所述网络协议特征识别方法在有新的二进制网络协议接入时,平台会自动开启一个协议特征提取及识别的微服务,完成二进制网络协议的接入工作。进一步包括:(1)从二进制网络协议数据集统一存储路径读取存储有所有平台已接入的物联网二进制协议的数据集;(2)重新计算特征向量的维度;(3)训练集和测试集的划分;(4)特征向量提取;(5)利用机器学习网络协议特征识别算法进行特征提取;(6)利用测试集数据进行网络协议特征识别准确率计算,若准确率大于等于99%则满足网络协议特征识别的需求,否则进行人工干预;(7)在协议特征识别准确率符合需求时,将原服务停止并开启新服务替代原服务,在服务替换过程中,系统接收数据由协议适配层缓存。进一步,所述网络协议特征识别方法的用户设备发送数据到物联网平台以验证是否接入成功或作为正式设备接入平台,平台在接收到数据后首先判断协议类型是JSON形式还是二进制形式,并执行不同的处理逻辑;针对JSON形式协议特征的识别,使用JSON数据key值提取算法完成并提取协议特征标识;针对二进制形式协议的特征识别,对待识别协议完成特征向量的提取,通过机器学习网络协议特征识别算法完成协议特征的识别并提取协议特征标识;根据识别到的协议标识在数据库中查询对应的虚拟设备数据模型,如需进行协议转换则由协议映射模块完成原始数据到数据模型规定格式的转换,并将转换后的数据交由平台其他模块处理,并将最终结果展示在用户界面。进一步,所述网络协议特征识别方法针对二进制形式的物联网协议,利用协议本身的流测度差异有效识别网络协议特征;通过适用于二进制网络协议的特征选择方法,提出基于朴素贝叶斯分类算法的二进制协议特征识别方法。进一步,所述网络协议特征识别方法选取前4个字节为特征向量,最大可支持28*4=232种协议的识别,满足二进制物联网协议特征识别的需求,选取协议的前M个字节作为其特征向量,M的计算公式为:M=min(min(L(p1)),min(L(p2)),...,min(L(pn)));其中,L(pi)表示协议p的长度,且L(pi)≥4。本专利技术的另一目的在于提供一种接收用户输入程序存储介质,所存储的计算机程序使电子设备执行权利要求任意一项所述包括下列步骤:第一步,上传部分JSON形式的数据或二进制形式的历史数据用于特征提取,触发平台网络协议特征提取特征;第二步,针对JSON形式的数据,对数据进行校验;第四步,通过key值提取算法提取协议特征标识并进行结果验证,如通过验证则将协议特征标识存入数据库;否则提示错误信息,进行干预。本专利技术的另一目的在于提供一种实施所述网络协议特征识别方法的网络协议特征识别系统,所述网络协议特征识别系统包括:网络协议特征提取模块,用于实现上传部分JSON形式的数据或二进制形式的历史数据用于特征提取,触发平台网络协议特征提取模块提取特征;数据校验模块,用于针对JSON形式的数据,对数据进行校验;结果验证模块,用于通过key值提取算法提取协议特征标识并进行结果验证。本专利技术的另一目的本文档来自技高网
...

【技术保护点】
1.一种网络协议特征识别方法,其特征在于,所述网络协议特征识别方法包括:/n第一步,上传部分JSON形式的数据或二进制形式的历史数据用于特征提取,触发平台网络协议特征提取特征;/n第二步,针对JSON形式的数据,对数据进行校验;/n第四步,通过key值提取算法提取协议特征标识并进行结果验证,如通过验证则将协议特征标识存入数据库;否则提示错误信息,进行干预。/n

【技术特征摘要】
1.一种网络协议特征识别方法,其特征在于,所述网络协议特征识别方法包括:
第一步,上传部分JSON形式的数据或二进制形式的历史数据用于特征提取,触发平台网络协议特征提取特征;
第二步,针对JSON形式的数据,对数据进行校验;
第四步,通过key值提取算法提取协议特征标识并进行结果验证,如通过验证则将协议特征标识存入数据库;否则提示错误信息,进行干预。


2.如权利要求1所述的网络协议特征识别方法,其特征在于,所述网络协议特征识别方法针对二进制网络协议特征提取,进行数据的校验工作,校验成功后将数据发送至二进制网络协议数据集统一存储路径进行存储。


3.如权利要求1所述的网络协议特征识别方法,其特征在于,所述网络协议特征识别方法在有新的二进制网络协议接入时,平台会自动开启一个协议特征提取及识别的微服务,完成二进制网络协议的接入工作。


4.如权利要求3所述的网络协议特征识别方法,其特征在于,进一步包括:
(1)从二进制网络协议数据集统一存储路径读取存储有所有平台已接入的物联网二进制协议的数据集;
(2)重新计算特征向量的维度;
(3)训练集和测试集的划分;
(4)特征向量提取;
(5)利用机器学习网络协议特征识别算法进行特征提取;
(6)利用测试集数据进行网络协议特征识别准确率计算,若准确率大于等于99%则满足网络协议特征识别的需求,否则进行人工干预;
(7)在协议特征识别准确率符合需求时,将原服务停止并开启新服务替代原服务,在服务替换过程中,系统接收数据由协议适配层缓存。


5.如权利要求1所述的网络协议特征识别方法,其特征在于,所述网络协议特征识别方法的用户设备发送数据到物联网平台以验证是否接入成功或作为正式设备接入平台,平台在接收到数据后首先判断协议类型是JSON形式还是二进制形式,并执行不同的处理逻辑;针对JSON形式协议特征的识别,使用JSON数据key值提取算法完成并提取协议特征标识;针对二进制形式协议的特征识别,对待识别协议完成特征向量的提取,通过机器学习网络协议特征识别算法完成协议特征的识别并提...

【专利技术属性】
技术研发人员:沈玉龙何明扬陈俊峰祝幸辉彭环任保全
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1