System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种流量协议识别方法、装置、电子设备及存储介质。
技术介绍
1、流量是指计算机网络中的数据流和数据包等,针对流量的协议识别是进行上层业务分析的基础。
2、现有的一种流量协议识别方法,是通过协议插件的方式实现目标协议和子协议的识别。该方法通过部署的多个协议解析插件,识别数据包的实际内容。协议解析插件可以动态扩展,基于实际需要部署协议解析插件,以适应在不同场景下定制需要分析的内容。
3、现有的另一种流量协议识别方法,是根据自定义协议生成特征库文件,通过使用该库文件完成协议识别。该方法通过自定义协议,生成协议特征配置库文件;解析协议特征配置库文件,过滤数据包,统计协议的匹配结果。该方法的特征库中的特征项、特征关键字可根据业务需要进行扩展,具有一定的可扩展性和易用性。
4、在现有的各方法中,均没有考虑协议识别时的识别效率,若协议识别的效率较低,则会影响上层业务分析的时效性,不能满足应用场景的需求。
技术实现思路
1、本专利技术提供一种流量协议识别方法、装置、电子设备及存储介质,用以解决现有技术中流量协议识别的识别效率较低的缺陷,以提高协议识别的效率。
2、本专利技术提供一种流量协议识别方法,包括:
3、对待识别流量中的载荷数据进行非sp特征的特征匹配;
4、在匹配到至少一个非sp特征的情况下,获取匹配到的各所述非sp特征的第一特征id;
5、针对各所述第一特征id,在规则状态机
6、基于所述第二特征id,以及规则状态机中记录的父节点与子节点的关联关系进行节点匹配,确定是否存在与所述第二特征id对应的子节点关联的目标父节点;
7、在规则状态机中存在所述目标父节点、且所述第二特征id对应的子节点下挂载有目标sp特征的情况下,基于所述目标sp特征的特征信息对所述载荷数据进行sp特征的特征匹配,得到sp特征匹配结果;
8、基于所述sp特征匹配结果,确定所述待识别流量的目标协议。
9、根据本专利技术提供的一种流量协议识别方法,所述基于所述第二特征id,以及规则状态机中记录的父节点与子节点的关联关系进行节点匹配,确定是否存在与所述第二特征id对应的子节点关联的目标父节点,包括:
10、将所述第二特征id分别与所述规则状态机中记录的各父节点的特征id进行拼接,得到至少一个拼接候选特征id;
11、针对各所述拼接候选特征id,将所述拼接候选特征id与所述规则状态机中记录的父节点与子节点的关联关系进行节点匹配,在匹配成功的情况下,将匹配成功的父节点确定为所述目标父节点。
12、根据本专利技术提供的一种流量协议识别方法,所述将所述拼接候选特征id与所述规则状态机中记录的父节点与子节点的关联关系进行节点匹配,包括:
13、确定所述拼接候选特征id对应的第一哈希键;
14、将所述第一哈希键与所述规则状态机中记录的至少一个第二哈希键进行匹配,所述第二哈希键为所述规则状态机中父节点的特征id与关联的子节点的特征id进行拼接后得到的哈希键。
15、根据本专利技术提供的一种流量协议识别方法,所述方法还包括:
16、获取至少一个协议规则;
17、遍历各所述协议规则,获取当前遍历的协议规则中所有的规则特征;
18、在初始状态机中设置根节点,并基于所述当前遍历的协议规则中各所述规则特征的排序,将第一个规则特征挂载在所述根节点下,得到所述根节点对应的子节点;
19、将所述根节点对应的子节点作为所述当前遍历的协议规则中第二个规则特征的父节点,挂载所述第二个规则特征,得到所述根节点对应的子节点的子节点,直至将所有的所述协议规则的规则特征分级挂载在对应节点下,得到所述规则状态机。
20、根据本专利技术提供的一种流量协议识别方法,所述方法还包括:
21、针对任意两个所述协议规则,若前一个挂载的协议规则在同级节点中已挂载相同的规则特征时,后一个挂载的协议规则在所述同级节点中禁止挂载所述相同的规则特征。
22、根据本专利技术提供的一种流量协议识别方法,所述方法还包括:
23、在所述规则特征的类型为sp特征的情况下,在所述规则特征对应的父节点上进行标记,并在所述父节点中记录所述规则特征的特征信息。
24、根据本专利技术提供的一种流量协议识别方法,所述基于所述sp特征匹配结果,确定所述待识别流量的目标协议,包括:
25、在所述sp特征匹配结果表征所述载荷数据中包括所述目标sp特征的情况下,将所述目标sp特征对应的协议确定为所述待识别流量的目标协议。
26、本专利技术还提供一种流量协议识别装置,包括:
27、第一匹配模块,用于对待识别流量中的载荷数据进行非sp特征的特征匹配;
28、获取模块,用于在匹配到至少一个非sp特征的情况下,获取匹配到的各所述非sp特征的第一特征id;
29、第一确定模块,用于针对各所述第一特征id,在规则状态机中存在所述第一特征id的情况下,将所述第一特征id确定为规则状态机的子节点对应的第二特征id;
30、所述第一确定模块,还用于基于所述第二特征id,以及规则状态机中记录的父节点与子节点的关联关系进行节点匹配,确定是否存在与所述第二特征id对应的子节点关联的目标父节点;
31、第二匹配模块,用于在规则状态机中存在所述目标父节点、且所述第二特征id对应的子节点下挂载有目标sp特征的情况下,基于所述目标sp特征的特征信息对所述载荷数据进行sp特征的特征匹配,得到sp特征匹配结果;
32、第二确定模块,用于基于所述sp特征匹配结果,确定所述待识别流量的目标协议。
33、本专利技术还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述流量协议识别方法。
34、本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述流量协议识别方法。
35、本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述流量协议识别方法。
36、本专利技术提供一种流量协议识别方法、装置、电子设备及存储介质,该方法通过对待识别流量中的载荷数据进行非sp特征的特征匹配;在匹配到至少一个非sp特征的情况下,获取匹配到的各非sp特征的第一特征id;针对各第一特征id,在规则状态机中存在第一特征id的情况下,将第一特征id确定为规则状态机的子节点对应的第二特征id;基于第二特征id,以及规则状态机中记录的父节点与子节点的关联关系进行节点匹配,确定是否存在与第二特征id对应的子节点关联本文档来自技高网...
【技术保护点】
1.一种流量协议识别方法,其特征在于,包括:
2.根据权利要求1所述的流量协议识别方法,其特征在于,所述基于所述第二特征ID,以及规则状态机中记录的父节点与子节点的关联关系进行节点匹配,确定是否存在与所述第二特征ID对应的子节点关联的目标父节点,包括:
3.根据权利要求2所述的流量协议识别方法,其特征在于,所述将所述拼接候选特征ID与所述规则状态机中记录的父节点与子节点的关联关系进行节点匹配,包括:
4.根据权利要求1-3任一项所述的流量协议识别方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的流量协议识别方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的流量协议识别方法,其特征在于,所述方法还包括:
7.根据权利要求1-3任一项所述的流量协议识别方法,其特征在于,所述基于所述SP特征匹配结果,确定所述待识别流量的目标协议,包括:
8.一种流量协议识别装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述流量协议识别方法。
...【技术特征摘要】
1.一种流量协议识别方法,其特征在于,包括:
2.根据权利要求1所述的流量协议识别方法,其特征在于,所述基于所述第二特征id,以及规则状态机中记录的父节点与子节点的关联关系进行节点匹配,确定是否存在与所述第二特征id对应的子节点关联的目标父节点,包括:
3.根据权利要求2所述的流量协议识别方法,其特征在于,所述将所述拼接候选特征id与所述规则状态机中记录的父节点与子节点的关联关系进行节点匹配,包括:
4.根据权利要求1-3任一项所述的流量协议识别方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的流量协议识别方法,其特征在于,所述方法还包括:
6.根...
【专利技术属性】
技术研发人员:李琳,周睿康,蔡一鸣,朱峰,赵梓桐,
申请(专利权)人:中国电子技术标准化研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。