一种关键字确定方法及装置制造方法及图纸

技术编号:21634133 阅读:39 留言:0更新日期:2019-07-17 12:49
本申请提供一种关键字确定方法及装置,该方法包括:获取待分析设备发送的N个数据包,该N个数据包是基于待分析设备的网络协议发送的,其中,一个数据包包括一条有效载荷payload序列,N为正整数。然后根据N条payload序列,确定N个数据包的关键字,关键字包括payload序列中的一个或多个数值。该方案通过,获取基于同一个网络协议发送的数据包,并根据数据包中的payload序列来确定出数据包的关键字,一条payload序列可以表示一个数据包所传输的信息,因此根据payload序列来确定关键字,更加的便捷准确,并且在确定出关键字之后,该关键字可以用于对该网络协议进行分析。

A keyword determination method and device

【技术实现步骤摘要】
一种关键字确定方法及装置
本申请涉及通信
,尤其涉及一种关键字确定方法及装置。
技术介绍
基于互联网的应用越来越普遍,例如物联网应用,工业控制系统等都逐渐采用通用的基于互联网协议进行通讯。而这些应用在通信的过程中有很多会采用未知的私有协议。对未知的私有协议进行分析,对技术人员来说十分重要。目前,一种常用的私有协议分析方法为:根据多个数据包的关键字来分析私有协议,但目前获取关键字一般需要依赖于技术人员的人工分析,该方法效率较低,不够准确。
技术实现思路
本申请提供关键字确定方法及装置,用以实现高效准确地确定出用于分析私有协议的关键字。第一方面,本申请提供一种关键字确定方法,包括:获取待分析设备发送的N个数据包,该N个数据包是基于待分析设备的网络协议发送的,其中,一个数据包包括一条有效载荷payload序列,N为正整数。然后根据N条payload序列,确定N个数据包的关键字,关键字包括payload序列中的一个或多个数值。该方案通过,获取基于同一个网络协议发送的数据包,并根据数据包中的payload序列来确定出数据包的关键字,一条payload序列可以表示一个数据包所传输的信息,因此根据payload序列来确定关键字,更加的便捷准确,并且在确定出关键字之后,可以使用该关键字对该网络协议进行分析。在一种可能的实现方式中,上述根据N条payload序列,确定N个数据包的关键字,包括:根据N条payload序列,得到第一集合,然后将第一集合进行聚类,得到M个矩阵,其中,一个矩阵的一行对应第一集合的一条payload序列,M为不大于N的正整数。再针对M个矩阵中的第i矩阵,确定第i矩阵中的关键字,确定的关键字至少包括一个数值,这个数值为第i矩阵中的一个列中的数值,并且该数值在其所在列中出现的频次不小于第一阈值,其中i取遍1至M。通过该方案,将获取的数据包中的payload序列进行聚类得到M个矩阵后,针对每一个矩阵去确定关键字,可以更有效的确定出所获取的数据包中的关键字。在一种可能的实现方式中,上述对第一集合进行聚类,得到M个矩阵可以由以下两种方式实现:方式一、若第一集合包括M种长度的payload序列、M不大于第二阈值、且第一集合中任意两个具有相同长度的payload序列的相似度不小于第三阈值,则确定第一集合为简单集合。将简单集合中具有相同长度的payload序列聚类为一个矩阵,得到M个矩阵。方式二、若第一集合包括K种长度的payload序列、K不大于第二阈值,或者,第一集合中存在两个具有相同长度的payload序列的相似度小于第三阈值,则确定第一集合为复杂集合。根据复杂集合的payload序列的相似度,将复杂集合的payload序列划分为M组,其中,一组payload序列中的任意两个payload序列的相似度不小于第四阈值,针对M组payload序列中的第j组payload序列,将第j组payload序列中的所有payload序列长度设置为相同,得到更新后的第j组payload序列(更新后的第j组payload序列即为第j个矩阵),j取遍1至M,最终得到M个矩阵。通过上述方案,在对第一集合进行聚类得到M个矩阵之前,先确定了该第一集合为简单集合还是复杂集合,若为简单集合,通过payload序列的长度将第一集合聚类成M个矩阵,可以更快的完成聚类,从而使确定关键字的效率提高。若为复杂集合,通过payload序列之间的相似度将payload序列分为M组,再将每组payload序列中的payload序列的长度设置为相同来确定关键字,提高了确定关键字的准确率。在又一种可能的实现方式中,上述根据N条payload序列,确定N个数据包的关键字,包括:对N条payload序列按照获取的时序进行排列,并将N条payload序列的长度设置为相同,得到N条第一payload序列,N条第一payload序列构成第一矩阵,第一矩阵的一行对应一条第一payload序列。确定第一矩阵对应的差值矩阵,其中,差值矩阵的第i行为第一矩阵的第i+1行与第一矩阵的第i行的差值,i取遍1至N-1。根据差值矩阵,确定第一矩阵中的关键字,该关键字为第一矩阵的第K列的元素值,且差值矩阵的第K列中包括的预设值的数量不小于第一阈值。通过该方案,将获取的N条序列进行排列对齐,排列对齐后的矩阵各行之间存在一定规律,通过确定差值矩阵的方式确定具有规律的列,将该列元素确定为关键字,可以更有效的确定出所获取的数据包中的关键字。在一种可能的实现方式中,上述差值矩阵的第K列中包括的预设值可以设为1。在一种可能的实现方式中,上述N个数据包包括相同的IP和/或端口号,以使该N个数据包的应用层协议相同。第二方面,本申请提供一种关键字确定装置,包括:获取单元,用于获取待分析设备发送的N个数据包,并从N个数据包中获取N条payload序列,其中,N个数据包是基于待分析设备的网络协议发送的,一个数据包包括一条payload序列,N为正整数。关键字确定单元,用于根据N条payload序列,确定N个数据包的关键字,该关键字为payload序列中的一个或多个数值。该方案通过,获取基于同一个网络协议发送的数据包,并根据数据包中的payload序列来确定出数据包的关键字,一条payload序列可以表示一个数据包所传输的信息,因此根据payload序列来确定关键字,更加的便捷准确,并且在确定出关键字之后,可以使用该关键字对该网络协议进行分析。在一种可能的实现方式中,上述装置还可以包括聚类单元,用于根据N条payload序列,得到第一集合,并对第一集合进行聚类,得到M个矩阵,其中,一个矩阵的一行对应第一集合的一条payload序列,M为不大于N的正整数。上述关键字确定单元,具体可以用于针对M个矩阵中的第i矩阵,确定第i矩阵中的关键字,该关键字包括至少一个数值,该数值为第i矩阵中的一个列中的数值,并且该数值在其所在列中出现的频次不小于第一阈值,其中i取遍1至M。通过该方案,将获取的数据包中的payload序列进行聚类得到M个矩阵后,针对每一个矩阵去确定关键字,可以更有效的确定出所获取的数据包中的关键字。在一种可能的实现方式中,上述聚类单元对第一集合进行聚类,得到M个矩阵,具体可以为以下两种方式:方式一、聚类单元确定第一集合为简单集合,其中,简单集合包括M种长度的payload序列、M不大于第二阈值、且简单集合中任意两个具有相同长度的payload序列的相似度不小于第三阈值。聚类单元根据M种长度的payload序列,得到M个矩阵,其中,一个矩阵对应的payload序列具有相同的长度。方式二、聚类单元确定第一集合为复杂集合,其中,复杂集合为包括K种长度的payload序列且K大于第二阈值,或者,复杂集合中存在两个具有相同长度的payload序列的相似度小于第三阈值。聚类单元根据复杂集合的payload序列的相似度,将复杂集合的payload序列划分为M组,其中,一组payload序列中的任意两个payload序列的相似度不小于第四阈值,针对M组payload序列中的第j组payload序列,将第j组payload序列中的所有payload序列长度设置为相同,得到更新后的第j组payload序列(本文档来自技高网...

【技术保护点】
1.一种关键字确定方法,其特征在于,包括:获取待分析设备发送的N个数据包,所述N个数据包是基于所述待分析设备的网络协议发送的,其中,一个数据包包括一条有效载荷payload序列,N为正整数;根据所述N条payload序列,确定所述N个数据包的关键字,所述关键字包括所述payload序列中的一个或多个数值。

【技术特征摘要】
1.一种关键字确定方法,其特征在于,包括:获取待分析设备发送的N个数据包,所述N个数据包是基于所述待分析设备的网络协议发送的,其中,一个数据包包括一条有效载荷payload序列,N为正整数;根据所述N条payload序列,确定所述N个数据包的关键字,所述关键字包括所述payload序列中的一个或多个数值。2.如权利要求1所述的方法,其特征在于,所述根据所述N条payload序列,确定所述N个数据包的关键字,包括:根据所述N条payload序列,得到第一集合;对所述第一集合进行聚类,得到M个矩阵,其中,一个矩阵的一行对应所述第一集合的一条payload序列,M为不大于N的正整数;针对所述M个矩阵中的第i矩阵,确定所述第i矩阵中的关键字,所述关键字包括至少一个数值,所述数值为所述第i矩阵中的一个列中的数值,所述数值在所述列出现的频次不小于第一阈值,i取遍1至M。3.如权利要求2所述的方法,其特征在于,对所述第一集合进行聚类,得到M个矩阵,包括:确定所述第一集合为简单集合,所述简单集合包括M种长度的payload序列、M不大于第二阈值、且所述简单集合中任意两个具有相同长度的payload序列的相似度不小于第三阈值;根据所述M种长度的payload序列,得到所述M个矩阵,其中,一个矩阵对应的payload序列具有相同的长度。4.如权利要求2所述的方法,其特征在于,对所述第一集合进行聚类,得到M个矩阵,包括:确定所述第一集合为复杂集合,所述复杂集合为包括K种长度的payload序列且K大于第二阈值,或者,所述复杂集合中存在两个具有相同长度的payload序列的相似度小于第三阈值;根据所述复杂集合的payload序列的相似度,将所述复杂集合的payload序列划分为M组,其中,一组payload序列中的任意两个payload序列的相似度不小于第四阈值;针对所述M组payload序列中的第j组payload序列,将所述第j组payload序列中的长度设置为相同,得到更新后的第j组payload序列,j取遍1至M;根据更新后的M组payload序列,得到所述M个矩阵,一个矩阵对应的payload序列具有相同的长度。5.如权利要求1所述的方法,其特征在于,所述根据所述N条payload序列,确定所述N个数据包的关键字,包括:对所述N条payload序列按照获取的时序进行排列,并将所述N条payload序列的长度设置为相同,得到N条第一payload序列,所述N条第一payload序列构成第一矩阵,所述第一矩阵的一行对应一条第一payload序列;确定所述第一矩阵对应的差值矩阵,所述差值矩阵的第i行为所述第一矩阵的第i+1行与所述第一矩阵的第i行的差值,i取遍1至N-1;根据所述差值矩阵,确定所述第一矩阵中的关键字,所述关键字为所述第一矩阵的第K列的元素值,且所述差值矩阵的第K列中包括的预设值的数量不小于第一阈值。6.如权利要求1-5任一项所述的方法,其特征在于,所述N个数据包包括相同的...

【专利技术属性】
技术研发人员:吴子建
申请(专利权)人:北京神州绿盟信息安全科技股份有限公司北京神州绿盟科技有限公司
类型:发明
国别省市:北京,11

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

1