【技术实现步骤摘要】
一种基于K近邻的自定义协议应用层的网络报文匹配方法
[0001]本专利技术属于报文匹配领域,具体涉及一种基于K近邻的自定义应用层的网络报文匹配方法。
技术介绍
[0002]互联网通过多层协议栈进行数据传输。随着网络的复杂化,尤其是在一些特殊场景中,为了保证通信的安全性和高效性,通常会自定义应用层协议,并且以其作为通信载体传输数据。虽然自定义应用层协议具有灵活性等特点,但是也为网络报文的协议匹配带来了困难。传统的传输层协议由于其协议的标准化和稳定性,可以简单的通过协议号来进行识别。自定义的协议由于没有标准化和不稳定性,也就是可能随时删除旧协议或随时增加新协议,而且应用层协议还有一些其他的性质,比如互相嵌套、循环嵌套,所以一般自定义的应用层协议会采用标识字段的方式,进行网络报文的协议识别。
[0003]通过采用标识字段的方式,也就改变了传统的网络报文匹配的方式。例如在传输层,网络报文匹配协议的方式是通过查看网络报文的第十字节的协议号来判断是哪个协议,然后进行解析。而采用标识字段的方式的话,网络报文匹配的方式是将网络报文依 ...
【技术保护点】
【技术特征摘要】
1.一种基于K近邻的自定义协议应用层的网络报文匹配方法,其特征在于,包括如下步骤:步骤S1,获取历史网络报文,根据历史网络报文构建协议类型存储结构,对协议类型存储结构中的协议按时间戳进行顺序编号,并获得每种协议类型的结构特征值与取值数组;步骤S2,根据协议类型存储结构、结构特征值与取值数组,基于K近邻模型获取当前待匹配网络报文的K个近邻的预测协议以及特征值;步骤S3,将K个近邻预测协议的特征值输入到线性回归方程,获取待匹配网络报文协议与K个近邻预测协议的相似权重;步骤S4,构建当前应用层协议组U;将K个近邻预测协议的相似权重按照相似权重降序排序放入所述协议组U中;再获取待匹配网络报文的源IP和目的IP,查询本地历史匹配记录中与所述源IP和目的IP对应的所有协议种类,并将所有协议种类添加入协议组U的尾部;步骤S5,将待匹配网络报文与U中的协议,逐一进行匹配,当匹配成功时,按所匹配的协议进行数据传输,并返回匹配成功的协议类型;当匹配失败时,则按照轮询的方式匹配U之外的本地协议,直到匹配正确,按所匹配的协议进行数据传输,并返回匹配成功的协议类型。2.根据权利要求1所述的自定义协议应用层的网络报文匹配方法,其特征在于,所述方法还包括:步骤S6,根据所返回的匹配成功的协议类型,优化线性回归方程;步骤S7,根据所返回的匹配成功的协议类型更新历史网络报文序列、协议类型存储结构及K值。3.根据权利要求2所述的自定义协议应用层的网络报文匹配方法,其特征在于,步骤S1中构建协议类型存储结构,并获得每种协议类型的结构特征值与取值数组,包括:步骤S101,将历史网络报文的不同协议类型抽象为不同字母,相同的协议类型采用相同的字母,每个字母代表一种协议类型;根据对应历史网络报文的时间戳顺序、连续地存储代表协议类型的字母,构成协议类型存储结构,并将所述协议类型存储结构中的每个字母进行顺序编号;步骤S102,统计协议类型存储结构中的字母种类为J种,按时间戳逆序寻找协议类型存储结构中第j种字母的所有编号m
ij
,i∈[1,...,i,...,I],j∈[1,...,j,...,J],I为序列中第j种字母的个数,I≤n,J≤n,且I
×
J≤n,j取当前值;步骤S103,获取第j种字母的最大字母编号m
Ij
,并将m
Ij
作为第j种字母对应第j种协议类型的结构特征值;步骤S104,令y
ij
=m
i,j
‑
m
i
‑
1,j
,i∈[2,...,i,...,I],则Y
j
=[y
2j
,...y
ij
,...,y
I,j
]为第j种协议类型的取值数组。4.根据权利要求3所述的自定义协议应用层的网络报文匹配方法,其特征在于,步骤S2包括:步骤S201,获取协议类型存储结构中编号最大的协议,最大编号记为maxSeq,对应的协议类型记为k,cnt为取值数组Y
k
的长度,...
【专利技术属性】
技术研发人员:韩升,林友芳,万怀宇,王晶,董兴业,武志昊,吕凯,张硕,曹端鑫,
申请(专利权)人:北京交通大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。