一种实时识别网络协议的方法与流程

文档序号:12730246阅读:来源:国知局

技术特征:

1.一种网络协议识别方法,其特征在于,所述方法包括:

获取在传输网络数据时同一会话开始时的多个数据包作为待识别网络数据包;

将所述待识别网络数据包构造成网络协议模型;

将所述网络协议模型与已知网络协议模型库中模型进行匹配,其中已知网络协议模型库中模型是由已知网络协议的网络数据包构造的;

如果与已知网络协议模型库中模型匹配成功,则所述网络协议模型为已知网络协议模型;

如果与已知网络协议模型库中所有模型匹配失败,则所述网络协议模型为未知网络协议模型,将所述网络协议模型与未知网络协议模型库中已有模型进行匹配,并采用未知网络协议更新策略对未知网络协议模型库进行更新,其中未知网络协议模型库中模型是由未知网络协议的网络数据包构造的。

2.根据权利要求1所述的方法,其特征在于,将所述待识别网络数据包构造成网络协议模型,具体为:

人工指定至少一个构造所述网络协议模型所需的模型属性参数;

根据所述待识别网络数据包,计算所述网络协议模型的各个属性参数对应的频率分布,各个频率分布共同构成了所述网络协议模型。

3.根据权利要求1所述的方法,其特征在于,将所述网络协议模型与已知网络协议模型库中模型进行匹配,具体为:

将所述网络协议模型与已知网络协议模型库中的模型按照从头到尾的顺序逐一进行匹配;

将所述网络协议模型的各个属性参数的频率分布逐一与已知网络协议模型库中取出的模型对应的各个属性参数的频率分布计算KL距离,并对所有KL距离求和;

如果所述KL距离之和小于预设的第一距离阈值,则认为匹配成功,即认为该待识别网络数据包为已知网络协议;

如果所述KL距离之和大于等于预设的第一距离阈值,则认为匹配失败,如果匹配失败,判断是否匹配到已知网络协议模型库中的最后一个模型;

如果是已知网络协议模型库中的最后一个模型,则结束匹配,所述网络协议模型为未知网络协议;

如果不是已知网络协议模型库中的最后一个模型,则继续匹配。

4.根据权利要求1所述的方法,其特征在于,将所述网络协议模型与未知网络协议模型库中模型进行匹配,并采用未知网络协议更新策略对未知网络协议模型库进行更新,具体为:

将所述网络协议模型与未知网络协议模型库中的模型按照从头到尾的顺序逐一进行匹配;

将所述网络协议模型的各个属性参数的频率分布逐一与未知网络协议模型库中取出的模型对应的各个属性参数的频率分布计算KL距离,并对所有KL距离求和;

如果所述KL距离之和小于预设的第二距离阈值,则认为匹配成功,更新匹配成功的未知网络协议模型,并将所述匹配成功的未知网络协议模型的位置在未知网络协议模型库中向前移动一位,并结束匹配;

如果所述KL距离之和大于等于预设的第二距离阈值,则认为匹配失败,继续匹配,直到匹配完未知网络协议模型库中的所有模型,则将所述网络协议模型插入未知网络协议模型库中。

5.根据权利要求4所述的方法,其特征在于,将所述网络协议模型插入未知网络协议模型库中,具体为:

检查当前未知网络协议模型库中存放的未知网络协议模型的数量是否已经达到未知网络协议模型库预设的大小阈值N;

如果不是,则将所述网络协议模型插入未知网络协议模型库的最前面;

如果是,则淘汰未知网络协议模型库中位于最末位置的未知网络协议,并将所述网络协议模型插入未知网络协议模型库的最前面。

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

采取更新策略对已知网络协议模型库进行更新,具体为:

设置时间周期阈值,周期性地检查未知网络协议模型库中各个模型被命中的次数;

如果某个未知网络协议模型的命中次数大于预设的次数阈值,则将该未知网络协议模型从未知网络协议模型库中移除,加入已知网络协议模型库中。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1