一种应用协议识别方法及装置的制造方法

文档序号:10626677阅读:195来源:国知局
一种应用协议识别方法及装置的制造方法
【专利摘要】本申请提供一种应用协议识别方法及装置,应用于网络设备上,该方法包括:接收业务报文;确定所述业务报文中包含的多个应用协议特征;获取每一个应用协议特征对应的待分析应用协议的协议层次;根据获取的待分析应用协议的协议层次识别所述业务报文对应的应用协议。本申请有效提高了应用协议识别的准确率。
【专利说明】
一种应用协议识别方法及装置
技术领域
[0001] 本申请涉及网络通信技术领域,尤其涉及一种应用协议识别方法及装置。
【背景技术】
[0002] 在现有网络设备中,基于具体应用的控制功能越来越多,要想实现这些控制功能, 首先需要对应用协议进行识别。目前,应用协议的识别方法主要包括:特征匹配,固定端口 查询,协商节点查询,硬编码解析等。通过上述识别方法对网络流量进行深度检测,可以识 别出各种应用协议,但这些方法可能同时识别出多种应用协议,也可能出现应用协议的误 识别,识别准确率不高,从而导致错误的控制。

【发明内容】

[0003] 有鉴于此,本申请提供一种应用协议识别方法及装置。
[0004] 具体地,本申请是通过如下技术方案实现的:
[0005] 本申请提供一种应用协议识别方法,应用于网络设备上,该方法包括:
[0006] 接收业务报文;
[0007] 确定所述业务报文中包含的多个应用协议特征;
[0008] 获取每一个应用协议特征对应的待分析应用协议的协议层次;
[0009] 根据获取的待分析应用协议的协议层次识别所述业务报文对应的应用协议。
[0010] 本申请提供一种应用协议识别装置,应用于网络设备上,该装置包括:
[0011] 接收单元,用于接收业务报文;
[0012] 确定单元,用于确定所述业务报文中包含的多个应用协议特征;
[0013] 获取单元,用于获取每一个应用协议特征对应的待分析应用协议的协议层次;
[0014] 识别单元,用于根据获取的待分析应用协议的协议层次识别所述业务报文对应的 应用协议。
[0015] 由以上描述可以看出,本申请首先根据业务报文中的应用协议特征确定可能存在 的应用协议,再对初步确定的应用协议根据协议层次进行分析,最终识别业务报文真正对 应的应用协议。本申请通过不同协议层次之间的协议关联性,可推导出各协议层次的应用 协议,有效提高了应用协议识别的准确率。
【附图说明】
[0016] 图1是本申请一示例性实施例示出的一种应用协议识别方法流程图;
[0017] 图2是本申请一示例性实施例示出的一种应用协议识别装置所在设备的基础硬 件结构示意图;
[0018] 图3是本申请一示例性实施例示出的一种应用协议识别装置的结构示意图。
【具体实施方式】
[0019] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例 中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0020] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。 在本申请和所附权利要求书中所使用的单数形式的"一种"、"所述"和"该"也旨在包括多 数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语"和/或"是指 并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0021] 应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这 些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离 本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第 一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在……时"或"当…… 时"或"响应于确定"。
[0022] 在现有网络设备中,基于具体应用的控制功能越来越多,如基于应用的访问控制, 基于应用的限速,基于应用的带宽保证等等。要想实现这些控制功能,首先需要对应用协议 进行识别。目前,应用协议的识别方法主要包括:特征匹配,固定端口查询,协商节点查询, 硬编码解析等。通过上述识别方法对网络流量进行深度检测,可以识别出各种应用协议,但 这些方法可能同时识别出多种应用协议,也可能出现应用协议的误识别,识别准确率不高, 从而导致错误的控制。
[0023] 针对上述问题,本申请实施例提出一种应用协议识别方法,该方法首先根据业务 报文中的应用协议特征确定可能存在的应用协议,再对初步确定的应用协议根据协议层次 进行分析,最终准确识别业务报文对应的应用协议。
[0024] 参见图1,为本申请应用协议识别方法的一个实施例流程图,该实施例对应用协议 识别过程进行描述。
[0025] 步骤101,接收业务报文。
[0026] 网络设备在接收到业务报文后进行会话匹配,判断当前是否已存在与该业务报文 匹配的会话表项。
[0027] 当不存在与该业务报文匹配的会话表项时,新建该业务报文的会话表项,并识别 该业务报文对应的基础协议。此处的基础协议是一个相对概念,意指通过简单的报文解析 即可识别的协议,例如,通过知名端口号识别协议,该识别方法无需对报文进行深度检测。
[0028] 在识别出基础协议后,将识别出的各个协议层次(遵循网络七层协议的规定) 的基础协议的协议标识添加到新建的会话表项中,例如,IP (Internet Protocol,网际协 议)/TCP(Transmission Control Protocol,传输控制协议)/HTTP(Hyper Text Transfer Protocol,超文本传输协议),其中,IP为3层协议,TCP为4层协议,HTTP为5层协议。
[0029] 在后续应用协议识别过程中,会话表项中的协议内容会不断更新,具体参见后续 描述。
[0030] 步骤102,确定所述业务报文中包含的多个应用协议特征。
[0031] 在网络设备中,预先设置一个应用协议特征库,该应用协议特征库中保存所有需 要识别的应用协议的协议特征,以下简称应用协议特征。
[0032] 当网络设备接收到业务报文时,根据预设的特征匹配算法(采用现有的特征匹配 算法即可,在此不再赘述)对业务报文进行深度特征检测,找到与应用协议特征库中保存 的应用协议特征匹配的报文内容,从而初步确定该业务报文中可能包含的几种应用协议特 征。但是上述应用协议特征未必是真实的应用协议特征,因此,还需进一步筛选和过滤。
[0033] 步骤103,获取每一个应用协议特征对应的待分析应用协议的协议层次。
[0034] 对步骤102中获取的每一个应用协议特征进行如下处理:
[0035] 在前述提到的应用协议特征库中不但保存了所有需要识别的应用协议的应用协 议特征,还保存了应用协议特征与应用协议标识的对应关系,该应用协议标识可以是唯一 代表该应用协议的特定字符串,因此,本申请可以从应用协议特征库中获取应用协议特征 对应的应用协议标识,初步确定业务报文可能对应的几种应用协议,以下将初步确定的应 用协议称为待分析应用协议。
[0036] 为了实现对待分析应用协议的进一步识别,本申请实施例预先配置了应用协议配 置表,该应用协议配置表中的每一个应用协议配置表项保存应用协议标识与协议层次的对 应关系,例如,应用协议标识为HTTP下载文件协议(为了便于理解,本申请实施例中直接采 用应用协议名称作为应用协议标识),对应协议层次为6。
[0037] 本申请实施例通过查询应用协议配置表获取配置表中应用协议标识与待分析应 用协议的应用协议标识一致的应用协议配置表项,从而获取待分析应用协议的协议层次。
[0038] 步骤104,根据获取的待分析应用协议的协议层次识别所述业务报文对应的应用 协议。
[0039] 本步骤中,根据获取的待分析应用协议的协议层次对待分析应用协议进行分类, 按照协议层次从低到高的顺序对不同协议层次中的待分析应用协议进行分析,以确定业务 报文的不同协议层次对应的应用协议。
[0040] 首先,按照协议层次从低到高的顺序选择一个未进行过协议识别的协议层次。由 于在后续协议识别过程中要根据父协议(相邻协议层次的协议中,低协议层次的协议为高 协议层次的协议的父协议)进行协议分析,因此,应按照协议层次从低到高的顺序,先确定 低协议层次的应用协议,从而作为高协议层次进行应用协议识别的基础。
[0041] 在选择出当前需要进行应用协议识别的协议层次后,对当前协议层次中的每一个 待分析应用协议执行下述操作。
[0042] 选择一个未分析过的待分析应用协议,获取该待分析应用协议的父协议的标识, 简称父协议标识,其中,父协议为待分析应用协议的下一层协议。具体为,在前述描述中已 提到,应用协议特征库中保存了应用协议特征和应用协议标识的对应关系,因此,可根据待 分析应用协议的应用协议特征从应用协议特征库中获取对应的应用协议标识。再根据待分 析应用协议的应用协议标识查询应用协议配置表,找到应用协议标识与待分析应用协议标 识一致的应用协议配置表项,该应用协议配置表项中除了前述描述提到的保存了应用协议 标识与协议层次的对应关系,还保存了应用协议的父协议标识,因此,通过查询应用协议配 置表可获得待分析应用协议的父协议标识。
[0043] 判断待分析应用协议的父协议标识是否与业务报文对应会话表项中的与待分析 应用协议的父协议处于同一协议层次的协议标识一致。当待分析应用协议的父协议标识与 会话表项中同一协议层次的协议标识一致时,将该待分析应用协议作为该协议层次的候选 应用协议。
[0044] 判断同一协议层次中每一个待分析应用协议是否均已进行过协议分析,若否,则 从当前协议层次中继续选择未进行协议分析的待分析应用协议执行上述分析过程。
[0045] 当同一协议层次内所有待分析应用协议都已完成协议分析后,可能获得多个候选 应用协议,此时,可从获取的多个候选应用协议中选择一个候选应用协议作为业务报文当 前协议层次的应用协议。本申请实施例中,根据应用协议的协议优先级确定业务报文对应 的应用协议,其中,协议优先级通常根据应用协议的使用频率结合应用场景等,由管理员根 据经验数据进行设置。具体为,在预设的应用协议配置表项中除了配置应用协议标识、协议 层次以及父协议的对应关系,还包括应用协议的协议优先级。当存在多个候选应用协议时, 可根据候选应用协议的应用协议特征从协议特征库中获取候选应用协议的应用协议标识, 再根据应用协议标识查询对应的应用协议配置表项,获取候选应用协议的协议优先级。比 较所有候选应用协议的协议优先级,选择协议优先级最高的候选应用协议作为业务报文在 当前协议层次对应的应用协议。
[0046] 当识别出当前协议层次的应用协议后,更新业务报文对应的会话表项。若会话表 项中不存在当前协议层次的协议标识,直接将识别出的应用协议的标识添加到会话表项 中;若会话表项中已存在当前协议层次的协议标识,则使用当前识别出的应用协议标识替 换掉已有协议标识。
[0047] 在完成上述当前协议层次的应用协议识别后,判断是否还有其它未进行协议识别 的协议层次,即是否每一个协议层次均已进行过协议识别,若否,则按照协议层次从低到高 的顺序继续选择一个未进行协议识别的协议层次,对选择的协议层次执行上述协议识别过 程。在完成了所有协议层次的协议识别后,即完成了当前业务报文的协议识别。
[0048] 由上述描述可以看出,本申请提出一种基于协议层次的协议识别方法,通过不同 协议层次之间的协议关联性,可推导出各协议层次的应用协议,有效提高了应用协议识别 的准确率。
[0049] 现以HTTP下载文件应用为例说明应用协议识别过程。
[0050] 假设,客户端设备向服务器发送HTTP下载文件请求。网络设备(例如,基于应用 的防火墙设备)接收到该HTTP下载文件请求后建立会话表项,并基于HTTP下载文件请求 中的端口号识别基础协议。假设,服务器并未使用HTTP协议的知名端口号80,而是使用端 口号4000,则网络设备只能识别出3层的IP协议和4层的TCP协议,无法识别出HTTP协 议。网络设备将识别出的基础协议(IP/TCP)添加到会话表项中,参见表1。
[0051]
[0052] 表 1
[0053] 当后续接收到与该会话表项匹配的报文时,进行报文特征匹配。具体为,在网络设 备中预存应用协议特征库,保存应用协议特征与应用协议标识的对应关系,参见表2。
[0054]
[0055] 表 2
[0056] 表2仅是应用协议特征与应用协议标识对应关系的一种示例,并不代表真实的应 用协议。
[0057] 当接收到HTTP下载文件报文时,查询到匹配的会话表项(表1)。对HTTP下载文 件报文的报文内容进行解析,与应用协议特征库中的应用协议特征进行匹配。假设,HTTP 下载文件报文中包含"HTTP-base"字符串,则与表2所示应用协议特征库匹配后,初步确定 HTTP下载文件报文中包含HTTP协议。以此类推,找到所有HTTP下载文件报文中可能包含 的应用协议。假设,初步确定HTTP下载文件报文中包含表2中的所有应用协议,将初步确 定的应用协议称为待分析应用协议。
[0058] 对上述待分析应用协议进行排查和筛选。具体为,在网络设备中,还会预存一张应 用协议配置表,参见表3。
[0059]
[0060] 表 3
[0061] 根据待分析应用协议的应用协议标识查询表3,获取待分析应用协议的协议层次, 按照协议层次进行分类,即协议层次为5的待分析应用协议包括HTTP协议、应用协议51以 及应用协议52 ;协议层次为6待分析应用协议包括HTTP下载文件协议、应用协议61以及 应用协议62。
[0062] 对每一个协议层次进行应用协议识别。首先识别协议层次5对应的应用协议,具 体为,对协议层次5内的每一个待分析应用协议进行协议分析,最终确定该协议层次对应 的应用协议。首先对HTTP协议进行协议分析,查询表3,获知HTTP协议的父协议为TCP,查 询会话表项(表1),可知当前会话表项的4层协议为TCP与HTTP协议的父协议一致,因此, 进一步确定HTTP协议为该协议层次对应应用协议的概率极大,将HTTP协议作为候选应用 协议。以此类推,通过父协议比对可知,应用协议51也可作为候选应用协议;应用协议52 的父协议(UDP)由于与会话表项中的4层协议TCP不一致,因此,可以排除应用协议52,其 不可能是当前报文5层的应用协议。
[0063] 从上述协议分析过程可知,5层存在两个候选应用协议HTTP协议和应用协议51, 此时,可通过预设的协议优先级进行识别。假设数值越大代表的协议优先级越高,则通过查 询表3,可知HTTP协议的协议优先级高于应用协议51,因此,可确定HTTP协议为当前报文 5层的应用协议。将该应用协议的标识添加到会话表项中,参见表4。
[0064]
[0065] 表 4
[0066] 对协议层次6进行应用协议识别,协议层次6的待分析应用协议包括:HTTP下载 文件协议、应用协议61以及应用协议62。根据父协议比对,HTTP下载文件协议和应用协议 61的父协议为HTTP协议与会话表项(表4)中的5层协议一致,因此,HTTP下载文件协议 和应用协议61为候选应用协议。由于HTTP下载文件协议的协议优先级高于应用协议61 的协议优先级,因此,HTTP下载文件协议为当前报文6层的应用协议,完成当前报文的应用 协议识别。
[0067] 与前述应用协议识别方法的实施例相对应,本申请还提供了应用协议识别装置的 实施例。
[0068] 本申请应用协议识别装置的实施例可以应用在网络设备上。装置实施例可以通过 软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意 义上的装置,是通过其所在设备的处理器运行存储器中对应的计算机程序指令形成的。从 硬件层面而言,如图2所示,为本申请应用协议识别装置所在设备的一种硬件结构图,除了 图2所示的处理器、网络接口、以及存储器之外,实施例中装置所在的设备通常根据该设备 的实际功能,还可以包括其他硬件,对此不再赘述。
[0069] 请参考图3,为本申请一个实施例中的应用协议识别装置的结构示意图。该应用协 议识别装置包括接收单元301、确定单元302、获取单元303以及识别单元304,其中:
[0070] 接收单元301,用于接收业务报文;
[0071] 确定单元302,用于确定所述业务报文中包含的多个应用协议特征;
[0072] 获取单元303,用于获取每一个应用协议特征对应的待分析应用协议的协议层 次;
[0073] 识别单元304,用于根据获取的待分析应用协议的协议层次识别所述业务报文对 应的应用协议。
[0074] 进一步地,
[0075] 所述获取单元303,具体用于从应用协议特征库中获取所述待分析应用协议的应 用协议特征对应的应用协议标识,所述应用协议特征库中保存应用协议特征和应用协议标 识的对应关系;从预设的应用协议配置表中获取应用协议标识与所述待分析应用协议的应 用协议标识一致的应用协议配置表项,所述应用协议配置表项中保存应用协议标识与协议 层次的对应关系;获取所述待分析应用协议的协议层次。
[0076] 进一步地,所述应用协议识别装置,还包括:
[0077] 建立单元,用于在所述确定单元302确定所述业务报文中包含的多个应用协议特 征之前,判断是否存在与所述业务报文匹配的会话表项,所述会话表项中保存已识别出的 各协议层次的协议标识;当不存在与所述业务报文匹配的会话表项时,新建所述业务报文 的会话表项,并识别出所述业务报文的基础协议,将识别出的基础协议的协议标识添加到 新建的会话表项中;
[0078] 所述识别单元304,包括:
[0079] 层次选择模块,用于按照协议层次从低到高的顺序选择一个未进行协议识别的协 议层次;
[0080] 协议选择模块,用于选择一个未分析过的待分析应用协议;
[0081] 父协议获取模块,用于获取选择的待分析应用协议的父协议的父协议标识,所述 父协议为所述待分析应用协议的下一层协议;
[0082] 父协议判断模块,用于判断所述父协议标识是否与所述会话表项中与所述父协议 处于同一协议层次的协议标识一致;
[0083] 候选协议确定模块,用于当所述父协议标识与所述会话表项中与所述父协议处于 同一协议层次的协议标识一致时,将所述待分析应用协议作为候选应用协议;
[0084] 分析判断模块,用于判断同一协议层次中每一个待分析应用协议是否均已执行协 议分析操作,若否,执行协议选择模块;
[0085] 应用协议选择模块,用于从获取的多个候选应用协议中选择一个候选应用协议作 为所述业务报文对应协议层次的应用协议;
[0086] 表项更新模块,用于根据选择的所述业务报文的应用协议更新所述会话表项中对 应协议层次的协议标识;
[0087] 识别判断模块,用于判断是否对每一个协议层次均已进行协议识别,若否,执行层 次选择模块。
[0088] 进一步地,
[0089] 所述父协议获取模块,具体用于从应用协议特征库中获取所述待分析应用协议的 应用协议特征对应的应用协议标识,所述应用协议特征库中保存应用协议特征和应用协议 标识的对应关系;从预设的应用协议配置表中获取应用协议标识与所述待分析应用协议的 应用协议标识一致的应用协议配置表项,所述应用协议配置表项中保存应用协议标识与对 应父协议标识的对应关系;获取所述待分析应用协议的父协议标识。
[0090] 进一步地,
[0091] 所述应用协议选择模块,具体用于当存在多个候选应用协议时,根据每一个候选 应用协议的应用协议标识从对应应用协议配置表项中获取候选应用协议的协议优先级,所 述应用协议配置表项中保存应用协议标识与协议优先级的对应关系,所述候选应用协议的 应用协议标识为协议特征库中与所述候选应用协议的应用协议特征匹配的应用协议特征 对应的应用协议标识;选择协议优先级最高的候选应用协议为所述业务报文对应的应用协 议。
[0092] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的 实现过程,在此不再赘述。
[0093] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实 施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以 不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的 需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付 出创造性劳动的情况下,即可以理解并实施。
[0094] 以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1. 一种应用协议识别方法,应用于网络设备上,其特征在于,该方法包括: 接收业务报文; 确定所述业务报文中包含的多个应用协议特征; 获取每一个应用协议特征对应的待分析应用协议的协议层次; 根据获取的待分析应用协议的协议层次识别所述业务报文对应的应用协议。2. 如权利要求1所述的方法,其特征在于,所述获取每一个应用协议特征对应的待分 析应用协议的协议层次,包括: 从应用协议特征库中获取所述待分析应用协议的应用协议特征对应的应用协议标识, 所述应用协议特征库中保存应用协议特征和应用协议标识的对应关系; 从预设的应用协议配置表中获取应用协议标识与所述待分析应用协议的应用协议标 识一致的应用协议配置表项,所述应用协议配置表项中保存应用协议标识与协议层次的对 应关系; 获取所述待分析应用协议的协议层次。3. 如权利要求1或2所述的方法,其特征在于,所述确定所述业务报文中包含的多个应 用协议特征之前,还包括: 判断是否存在与所述业务报文匹配的会话表项,所述会话表项中保存已识别出的各协 议层次的协议标识; 当不存在与所述业务报文匹配的会话表项时,新建所述业务报文的会话表项,并识别 出所述业务报文的基础协议,将识别出的基础协议的协议标识添加到新建的会话表项中; 所述根据获取的待分析应用协议的协议层次识别所述业务报文对应的应用协议,包 括: 按照协议层次从低到高的顺序选择一个未进行协议识别的协议层次; 对选择的协议层次执行如下协议识别操作:选择一个未分析过的待分析应用协议;获 取选择的待分析应用协议的父协议的父协议标识,所述父协议为所述待分析应用协议的下 一层协议;判断所述父协议标识是否与所述会话表项中与所述父协议处于同一协议层次的 协议标识一致;当所述父协议标识与所述会话表项中与所述父协议处于同一协议层次的协 议标识一致时,将所述待分析应用协议作为候选应用协议; 判断同一协议层次中每一个待分析应用协议是否均已执行协议分析操作,若否,返回 所述对选择的协议层次执行协议识别操作; 从获取的多个候选应用协议中选择一个候选应用协议作为所述业务报文对应协议层 次的应用协议; 根据选择的所述业务报文的应用协议更新所述会话表项中对应协议层次的协议标 识; 判断是否对每一个协议层次均已进行协议识别,若否,返回所述按照协议层次从低到 高的顺序选择一个未进行协议识别的协议层次。4. 如权利要求3所述的方法,其特征在于,所述获取选择的待分析应用协议的父协议 的父协议标识,包括: 从应用协议特征库中获取所述待分析应用协议的应用协议特征对应的应用协议标识, 所述应用协议特征库中保存应用协议特征和应用协议标识的对应关系; 从预设的应用协议配置表中获取应用协议标识与所述待分析应用协议的应用协议标 识一致的应用协议配置表项,所述应用协议配置表项中保存应用协议标识与对应父协议标 识的对应关系; 获取所述待分析应用协议的父协议标识。5. 如权利要求3所述的方法,其特征在于,所述从获取的多个候选应用协议中选择一 个候选应用协议作为所述业务报文对应协议层次的应用协议,包括: 当存在多个候选应用协议时,根据每一个候选应用协议的应用协议标识从对应应用协 议配置表项中获取候选应用协议的协议优先级,所述应用协议配置表项中保存应用协议标 识与协议优先级的对应关系,所述候选应用协议的应用协议标识为协议特征库中与所述候 选应用协议的应用协议特征匹配的应用协议特征对应的应用协议标识; 选择协议优先级最高的候选应用协议为所述业务报文对应的应用协议。6. -种应用协议识别装置,应用于网络设备上,其特征在于,该装置包括: 接收单元,用于接收业务报文; 确定单元,用于确定所述业务报文中包含的多个应用协议特征; 获取单元,用于获取每一个应用协议特征对应的待分析应用协议的协议层次; 识别单元,用于根据获取的待分析应用协议的协议层次识别所述业务报文对应的应用 协议。7. 如权利要求6所述的装置,其特征在于: 所述获取单元,具体用于从应用协议特征库中获取所述待分析应用协议的应用协议特 征对应的应用协议标识,所述应用协议特征库中保存应用协议特征和应用协议标识的对应 关系;从预设的应用协议配置表中获取应用协议标识与所述待分析应用协议的应用协议标 识一致的应用协议配置表项,所述应用协议配置表项中保存应用协议标识与协议层次的对 应关系;获取所述待分析应用协议的协议层次。8. 如权利要求6或7所述的装置,其特征在于,所述装置还包括: 建立单元,用于在所述确定单元确定所述业务报文中包含的多个应用协议特征之前, 判断是否存在与所述业务报文匹配的会话表项,所述会话表项中保存已识别出的各协议层 次的协议标识;当不存在与所述业务报文匹配的会话表项时,新建所述业务报文的会话表 项,并识别出所述业务报文的基础协议,将识别出的基础协议的协议标识添加到新建的会 话表项中; 所述识别单元,包括: 层次选择模块,用于按照协议层次从低到高的顺序选择一个未进行协议识别的协议层 次; 协议选择模块,用于选择一个未分析过的待分析应用协议; 父协议获取模块,用于获取选择的待分析应用协议的父协议的父协议标识,所述父协 议为所述待分析应用协议的下一层协议; 父协议判断模块,用于判断所述父协议标识是否与所述会话表项中与所述父协议处于 同一协议层次的协议标识一致; 候选协议确定模块,用于当所述父协议标识与所述会话表项中与所述父协议处于同一 协议层次的协议标识一致时,将所述待分析应用协议作为候选应用协议; 分析判断模块,用于判断同一协议层次中每一个待分析应用协议是否均已执行协议分 析操作,若否,执行协议选择模块; 应用协议选择模块,用于从获取的多个候选应用协议中选择一个候选应用协议作为所 述业务报文对应协议层次的应用协议; 表项更新模块,用于根据选择的所述业务报文的应用协议更新所述会话表项中对应协 议层次的协议标识; 识别判断模块,用于判断是否对每一个协议层次均已进行协议识别,若否,执行层次选 择模块。9. 如权利要求8所述的装置,其特征在于: 所述父协议获取模块,具体用于从应用协议特征库中获取所述待分析应用协议的应用 协议特征对应的应用协议标识,所述应用协议特征库中保存应用协议特征和应用协议标识 的对应关系;从预设的应用协议配置表中获取应用协议标识与所述待分析应用协议的应用 协议标识一致的应用协议配置表项,所述应用协议配置表项中保存应用协议标识与对应父 协议标识的对应关系;获取所述待分析应用协议的父协议标识。10. 如权利要求8所述的装置,其特征在于: 所述应用协议选择模块,具体用于当存在多个候选应用协议时,根据每一个候选应用 协议的应用协议标识从对应应用协议配置表项中获取候选应用协议的协议优先级,所述应 用协议配置表项中保存应用协议标识与协议优先级的对应关系,所述候选应用协议的应用 协议标识为协议特征库中与所述候选应用协议的应用协议特征匹配的应用协议特征对应 的应用协议标识;选择协议优先级最高的候选应用协议为所述业务报文对应的应用协议。
【文档编号】H04L29/08GK105991373SQ201510220668
【公开日】2016年10月5日
【申请日】2015年4月30日
【发明人】杨波
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1