CN105282123B - 一种网络协议识别方法和装置 - Google Patents
一种网络协议识别方法和装置 Download PDFInfo
- Publication number
- CN105282123B CN105282123B CN201410355849.0A CN201410355849A CN105282123B CN 105282123 B CN105282123 B CN 105282123B CN 201410355849 A CN201410355849 A CN 201410355849A CN 105282123 B CN105282123 B CN 105282123B
- Authority
- CN
- China
- Prior art keywords
- data
- protocol
- identified
- characteristic information
- network protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种网络协议识别方法,将相同IP端口的码流数据进行比对,获得各网络协议中固定的特征信息;依照各网络协议中所述特征信息出现的次序将所述特征信息存入协议知识库;将所述协议知识库存储的特征信息构建决策树,所述决策树中的叶子节点标识该叶子节点所在分支的网络协议;根据所述决策树各节点和各节点分支标识的信息,对待识别数据进行协议识别;根据识别到达的叶子节点确定所述待识别数据的网络协议,使用本发明可快速识别码流数据的网络协议。本发明还公开一种网络协议识别装置。
Description
技术领域
本发明涉及网络技术领域,具体涉及一种网络协议的识别技术。
背景技术
随着网络的飞速发展和新应用的不断出现,对网络的安全审计、入侵检测、数据防泄漏等网络信息安全产品的需求量也越来越大,这些网络安全产品主要基于深度包检测技术DPI(Deep Packet Inspection),而深度包检测技术的核心是应用层协议识别,即鉴别网络链路上传输的数据是采用何种应用层协议,并对这些协议进行还原和分析。具体实现机制是通过深入读取IP包载荷的内容来对OSI 7层协议中的应用层信息进行重组,从而识别出IP包的应用层协议内容,将其作为后续业务处理的依据。
协议识别的关键是进行协议特征匹配,现有技术主要通过以下方式进行协议特征匹配:
静态匹配:通过定义协议库,将抓取到的网络协议与协议库中每个协议的内容进行各个字段的匹配;动态匹配:先提取网络协议的特征,通过定义正则表达式对协议特质进行动态的匹配,一个正则表达式由一系列规则和大量的状态数组组成;树形匹配:将网络协议分组,通过树形结构组织协议库,通过树结构的遍历进行协议匹配。
现有技术存在以下几个缺点:
大数据量下分析性能有限:现有的DPI算法中,对协议的识别是以静态匹配技术为基础,即定义标准的协议库,当发现网络流量数据时用采集的数据包与协议库内容进行遍历匹配,如果存在上千种协议那么对每个数据包就要遍历近千次,大大影响实际使用效果。在这种情况下,采用动态匹配的正则表达式方式模式匹配法作为辅助的效果也非常有限,正则表达式提升了规则定义的灵活度却使分析的性能大大降低,无法实现对高速骨干网络中大数据量、复杂协议的快速定位与识别。另外传统的树形结构协议库也存在弊端,特征提取技术是这部分内容的瓶颈,每种协议的特征是变化的,反复更新协议特征库的方式很难在大数据条件下实际应用,传统的树形结构协议库匹配方法难以识别变化后的协议特征。
对硬件设备进行定制兼容性差:现有技术中为了提高协议分析的性能,会采用定制匹配引擎方式,即将协议匹配工作固化在硬件引擎中,硬件设备能避免软件分时处理所造成的系统开销从而提高了分析性能。但固化硬件采用的是底层编译语言,对硬件依赖较高无法实现程序的及时更新,并且不能跨设备部署即当单台设备达到处理极限时只能通过增加设备的方式解决,在很多无法进行多路镜像的网络环境中这种方式很难发挥作用。
对新增协议无法快速识别:网络技术发展日新月异,新技术新应用层出不穷,新的网络协议不断涌现,这些协议既有根据开源协议进行定制,还有封闭的私有协议,不断变化的因素也对网络协议分析带来了巨大挑战,传统网络协议分析采用静态的特征库技术,只能对已有的网络协议进行识别,对于新增协议无法响应判断,只能被动等待特征库进行更新,如果特征库更新缓慢或者有遗漏则无法发挥协议分析本来的作用。
因此一种大数据量情况下快速识别协议并对新增未知协议进行快速智能识别的方法亟待出现。
发明内容
本发明提供一种网络协议识别方法,所述方法包括:
将相同IP端口的码流数据进行比对,获得各网络协议中固定的特征信息;
依照各网络协议中所述特征信息出现的次序将所述特征信息存入协议知识库;
将所述协议知识库存储的特征信息构建决策树,所述决策树中的叶子节点标识该叶子节点所在分支的网络协议;
根据所述决策树各节点和各节点分支标识的信息,对待识别数据进行协议识别;
根据识别到达的叶子节点确定所述待识别数据的网络协议。
优选的,所述方法还包括:
若识别不能到达叶子节点,则将与该待识别数据相同IP端口的数据码流进行比对,获取该IP端口数据码流中确定的特征信息,将新的所述特征信息更新至所述协议知识库并根据所述更新的协议知识库更新所述决策树。
优选的,所述方法还包括:
根据所述协议知识库中存储的网络协议特征信息校验所述决策树识别出的所述待识别数据网络协议,校验通过则本次协议识别完成。
优选的,所述方法还包括:
将所述通过校验的待识别数据的IP端口和与该IP端口对应的网络协议存储存储结构,当有新的待识别数据时,先在所述存储结构中匹配查找新的待识别数据的IP端口,查找匹配成功则直接确定与该IP端口相应的网络协议为所述新待识别数据的网络协议。
进一步的,所述将相同IP端口的码流数据进行比对,获得各网络协议中确定的特征信息的方法具体为:
使用特征向量标识所述码流数据比对过程中保持不变数据,依次序记录所述保持不变的数据和该数据的起始位置,并将所述各起始位置和从所述各起始位置开始保持不变的数据标记为该IP端口网络协议固定的特征信息。
更进一步的,所述依照各网络协议中所述特征信息出现的次序将所述特征信息存入协议知识库的方法具体为:
创建所述协议知识库,将所述各网络协议中出现次序相同的特征信息存入以顺序标识命名的特征字段列中,每个网络协议中的所有特征信息依次序存入相同的行中。
详细的,所述将所述协议知识库存储的特征信息构建决策树的方法具体为:
计算各特征字段的增益,并获得各特征字段所包含的特征信息子集数量;
根据所述各特征字段增益由大到小确定决策树中父节点和子节点,根据所述各特征字段所包含的特征信息子集数量确定该节点的分支;
从所述决策树的根节点通过一条分支路径到达的叶子节点为包含这条分支路径上所有特征信息的网络协议。
详细的,根据所述决策树各节点和各节点分支标识的信息,对待识别数据进行协议识别的方法具体为:
接收待识别数据,根据所述决策树中根节点分支所指示的特征信息与所述待识别数据中相应位置的数据进行比对;
根据所述比对结果为特征信息一致的分支获得下一个节点,并根据该节点分支所指示的特征信息继续与所述待识别数据中相应位置的数据进行比对。
详细的,所述使用特征向量标识所述码流数据比对过程中保持不变数据,依次序记录所述保持不变的数据和该数据的起始位置的方法具体为:
分别创建码流数组和与所述码流数组对应的特征向量数组,所述特征向量数组各位置的初始值均设置为固定标识,所述码流数组初始存储当前码流数据;
根据所述特征向量的固定标识位置信息,对待比对码流数据和所述当前码流数据的相应位置进行一致性比对;
记录比对过程中保持不变数据和该数据的起始位置,并根据比对过程中不一致的位置信息将所述特征向量数组中的相应位置更新为变化标识,将所述待比对码流数据更新至所述码流数组。
详细的,所述计算各特征字段增益的方法具体为:
计算所述协议知识库中所有特征字段的先验熵;
计算所述协议知识库中每个特征字段的后验熵;
获取所述先验熵与所述每个特征字段后验熵的差值,即为所述各特征字段的增益。
本发明还公开一种网络协议识别装置,所述装置包括:
特征信息获取单元,用于将相同IP端口的码流数据进行比对,获得各网络协议中确定的特征信息;
协议知识库,用于依照所述各特征信息出现的次序,存储所述特征信息获取单元获取的各网络协议中所述特征信息;
决策树构建单元,用于将所述协议知识库存储的特征信息构建决策树,所述决策树中的叶子节点标识该叶子节点所在分支的网络协议;
协议识别单元,用于根据所述决策树构建单元构建的决策树中各节点和各节点分支标识的信息,对待识别数据进行协议识别,根据识别到达的叶子节点确定所述待识别数据的网络协议。
优选的,所述装置还包括自学习单元:
若所述协议识别单元对待识别数据的协议识别不能到达叶子节点,则所述特征信息获取单元将与该待识别数据相同IP端口的数据码流进行比对,获取该IP端口数据码流中确定的特征信息;
自学习单元,用于进行协议特征自学习,将所述特征信息获取单元获取的新所述特征信息更新至所述协议知识库并根据所述更新的协议知识库更新所述决策树。
优选的,所述装置还包括:
校验单元,用于根据所述协议知识库中存储的网络协议特征信息校验通过所述协议识别单元识别出的所述待识别数据网络协议。
优选的,所述装置还包括:
识别结果存储单元,用于保存所述通过校验单元校验的待识别数据的IP端口和网络协议;
预识别单元,用于当有新的待识别数据时,根据新的待识别数据的IP端口,在所述识别结果存储单元中匹配查找新的待识别数据的IP端口,对其进行预识别,查找匹配成功则直接确定与该IP端口相应的网络协议为所述新待识别数据的网络协议。
详细的,所述特征信息获取单元进一步包括:
码流数组,用于存储各IP端口的当前码流数据;
特征向量数组,用于存储与所述码流数组IP端口对应的特征向量,各位置初始值均设置为固定标识;
数据比对和特征信息获取模块,用于将码流数组中的当前码流数据和待比对数据进行逐位置比对,获取比对后确定的信息为特征信息;
更新模块,用于根据所述数据比对和特征信息获取模块比对过程中不一致的位置信息将所述特征向量数组中的相应位置更新为变化标识,将所述待比对码流数据更新至所述码流数组。
详细的,所述协议知识库将所述各网络协议中出现次序相同的特征信息存入以顺序标识命名的特征字段列中,每个网络协议中的所有特征信息依次序存入相同的行中。
详细的,所述决策树构建单元进一步包括:
计算模块,用于获得所述协议知识库中各特征字段所包含的特征信息子集数量,并计算各特征字段的增益;
树构建模块,用于依照以下规则构建决策树,根据所述计算模块计算的各特征字段增益由大到小确定决策树中父节点和子节点,根据所述各特征字段所包含的特征信息子集数量确定该节点的分支,从所述决策树的根节点通过一条分支路径到达的叶子节点为包含这条分支路径上所有特征信息的网络协议。
详细的,所述协议识别单元进行网络协议识别的方法具体为:
接收待识别数据,依照所述决策树中根节点分支所指示的特征信息对所述待识别数据进行比对;
根据所述比对结果为特征信息一致的分支获得下一个节点,并根据该节点分支所指示的特征信息继续对所述待识别数据进行比对。
详细的,所述计算模块计算各特征字段增益的方法具体为:
计算所述协议知识库中所有特征字段的先验熵;
计算所述协议知识库中每个特征字段的后验熵;
获取所述先验熵与所述每个特征字段后验熵的差值,即为所述各特征字段的增益。
由于各网络协议均有其固定的端口,首先,本发明通对网络中相同IP端口的各码流数据进行统计和对比,将固定的内容提取为该IP端口网络协议的特征信息,特征可以是某一个数据项也可以是几个数据项的组合,特征提取的过程是通过程序模拟了人为判断的逻辑过程:“对同一个协议的不同次连接数据反复对比,将变化的因素降到最低”,保证了网络协议特征信息的广泛性和准确性;其次,将协议知识库通过树形结构进行组织,以协议特征信息作为路径,与现有技术将网络数据与特征库进行遍历检索的方式不同,本发明只需要解析出网络数据的特征部分,再通过特征数据定位到特征树的特定节点就可以实现对数据的识别,不管协议数量如何庞大,只需要几次查找就能定位协议,大大提高了数据分析的性能;再次,发现新的协议时,提取其固定不变的内容作为新特征,自动补充进协议知识库中,完成网络协议识别自学习的过程,这也就解决了原有技术中只能被动的等待特征库进行更新,对于新增协议无法快速响应的问题。
附图说明
图1为本发明实施例一提供的一种网络协议识别方法的流程示意图;
图2为本发明实施例一提供的方法优选流程示意图;
图3为本发明实施例二提供的方法流程示意图;
图4为本发明实施例三提供的方法流程示意图;
图5为本发明实施例四提供的方法流程示意图;
图6为本发明实施例五提供的方法流程示意图;
图7为本发明实施例五方法中构建的决策树示意图;
图8为本发明实施例六提供的一种网络协议识别装置的结构示意图;
图9为本发明实施例七提供的装置结构示意图。
具体实施方式
以下将配合图式及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
下面如图1所示,给出本发明的实施例一阐述一种网络协议自动识别方法,如所述方法包括:
步骤S101:将相同IP端口的码流数据进行比对,获得各网络协议中确定的特征信息。
使用特征向量标识所述码流数据比对过程中保持不变数据,依次序记录所述保持不变的数据和该数据的起始位置,并将所述各起始位置和所述各起始位置开始保持不变的数据标记为该IP端口网络协议确定的特征信息。
由于每种网络协议中的特征信息都不相同,但相同种类的网络协议含有相同的IP端口,因此对网络协议中特征信息识别时,需要对每种网络协议的码流(即相同IP端口数据码流)进行一一识别。使用特征向量标识码流数据比对过程中保持不变的数据最终获得固定的特征信息,是需要经过多次比较的。为了节约比较的时间,每次只比较特征向量记录不变的位置即可,比较结束后更改变化位置的特征向量,更新当前码流数据,进入下一次比较,当比较到特征向量标识的位置不再发生变化时,则可获得固定的特征信息。
一般情况可根据业内的实际经验判断比较的次数,也可以设定标准值来确定比较的次数,例如通过如果特征向量连续10次比较都没有发生变化则停止比较,获得固定的特征信息。
步骤S102:依照各网络协议中所述特征信息出现的次序将所述特征信息存入协议知识库。
创建所述协议知识库,将所述各网络协议中出现次序相同的特征信息存入以顺序标识命名的特征字段列中,每个网络协议中的所有特征信息依次序存入相同的行中。
步骤S103:将所述协议知识库存储的特征信息构建决策树,所述决策树中的叶子节点标识该叶子节点所在分支的网络协议。
计算各特征字段的增益,并获得各特征字段所包含的特征信息子集数量;
根据所述各特征字段增益由大到小确定决策树中父节点和子节点,根据所述各特征字段所包含的特征信息子集数量确定该节点的分支;
从所述决策树的根节点通过一条分支路径到达的叶子节点为包含这条分支路径上所有特征信息的网络协议。
步骤S104:根据所述决策树各节点和各节点分支标识的信息,对待识别数据进行协议识别。
接收待识别数据,根据所述决策树中根节点分支所指示的特征信息与所述待识别数据中相应位置的数据进行比对;
根据所述比对结果为特征信息一致的分支获得下一个节点,并根据该节点分支所指示的特征信息继续与所述待识别数据中相应位置的数据进行比对。
步骤S105:根据识别到达的叶子节点确定所述待识别数据的网络协议。
为了使实施例一达到更好的效果,如图2所示可增加优选的步骤。
若待识别数据为新网络协议的数据码流,则通过上述步骤无法识别其网络协议,因此需要提炼该新网络协议的特征信息,更新协议知识库和决策树,在完成步骤S104之后,若没有识别到达叶子节点,则进入步骤S106。
步骤S106:将与该待识别数据相同IP端口的数据码流进行比对,获取该IP端口数据码流中确定的特征信息,将新的所述特征信息更新至所述协议知识库并根据所述更新的协议知识库更新所述决策树。
对待识别数据已经识别出了网络协议,但为了确保协议识别的准确性,在完成步骤S105之后,优选的可进行:
步骤S107:根据所述协议知识库中存储的网络协议特征信息校验通过所述决策树识别出的所述待识别数据网络协议。
由于决策树中仅保存了网络协议各特征信息开始的位置和信息,并没有关注该特征信息的长度,因此可能会出现误识别的情况,误识别出现的几率很小,可根据实际情况增加校验的步骤。
当海量协议识别任务进行时,为了进一步提高协议识别的效率,降低重复工作浪费的时间、资源成本,在完成步骤S106之后,优选的可进行:
步骤S108:将所述通过校验的待识别数据的IP端口和网络协议存入存储结构。
当有新的待识别数据时,先在所述存储结构中匹配查找新的待识别数据的IP端口,查找匹配成功则直接确定与该IP端口相应的网络协议为所述新待识别数据的网络协议。
为了更好的阐述本发明获取各网络协议中的特征信息过程和构建决策树的过程,下面给出本发明的实施例二,如图3所示:
步骤S201:创建码流数组存储当前码流数据,创建与码流数组对应的特征向量数组。
将特征向量数组各位置的初始值均设置为固定标识。
步骤S202:获取待比对码流数据,根据特征向量数组中固定标识位置信息,对待比对码流数据和所述当前码流数据的相应位置进行一致性比对。
待对比码流数据与当前码流数据IP端口一致,这样才能保证获得的特征信息是同一种网络协议。
步骤S203:根据比对过程中不一致的位置信息将所述特征向量数组中的相应位置更新为变化标识,将所述待比对码流数据更新至所述码流数组。
步骤S204:记录比对过程中保持不变的数据和该数据的起始位置。
步骤S205:判断特征向量数组是否稳定,是则进入步骤S206,否则返回步骤S202。
可根据业内经验值确定特征向量数组是否稳定,例如当经过了n次比较后就确定特征向量数组稳定,或例如当特征向量数组连续n次比较没有发生变化,则确定特征向量数组稳定。
步骤S206:根据特征向量数组中记录的位置信息,记录码流数组中保持不变的数据和该数据的起始位置为特征信息。
步骤S207:将该IP端口的所述特征信息存入协议知识库。
协议知识库可为存储表,存储各网络协议的特征信息,每个网络协议的特征信息为一行,各网络协议中出现次序相同的特征信息放入同一列,以顺序标识命名这些特征字段列。
步骤S208:计算各特征字段的增益,并获得各特征字段所包含的特征信息子集数量。
步骤S209:根据所述各特征字段增益由大到小确定决策树中父节点和子节点,根据所述各特征字段所包含的特征信息子集数量确定该节点的分支。
确定了决策树的各节点和各节点分支,决策树即已构建完成,从所述决策树的根节点通过一条分支路径到达的叶子节点为包含这条分支路径上所有特征信息的网络协议。
为了更好的说明本发明如何通过决策树对数据码流进行协议识别,下面给出本发明的实施例三,如图4所示:
步骤S301:根据待识别数据的IP端口信息,在已保存的IP端口和其对应的网络协议中查找匹配是否已经识别过该IP端口,若找到则进入步骤S302,若没有找到则进入步骤S303。
由于保存了历次识别的IP端口和与该IP端口对应的网络协议,那么在进行新的协议识别开始时,为了提高效率节省资源,可先在保存的已识别结果中查找,看是否存在该IP端口对应的网络协议,如果存在,就直接获取结果,无需进行识别了。
步骤S302:直接获取已经识别过的IP端口的网络协议为待识别数据的网络协议。
步骤S303:接收待识别数据,根据所述决策树中根节点分支所指示的特征信息与所述待识别数据中相应位置的数据进行比对。
根节点分支所指示的特征信息包括位置信息和数据信息,比对待识别数据该位置上的数据,若通过比对则进入下一个节点分支。
步骤S304:根据所述比对结果为特征信息一致的分支获得下一个节点,并根据该节点分支所指示的特征信息继续与所述待识别数据中相应位置的数据进行比对。
步骤S305:若识别到达叶子节点则根据该叶子节点所标识的网络协议获得所述待识别数据的网络协议后进入步骤S306;若识别不能到达叶子节点,则确定出现一个新网络协议,通过实施例二中的步骤获得该新网络协议的特征信息,更新协议知识库和决策树。
待识别数据通过决策树的识别,最终到达了叶子节点,则说明待识别数据具有该叶子节点所属分支上标识的这些特征信息,因此可以获得其网络协议。
步骤S306:根据所述协议知识库中存储的网络协议特征信息校验通过所述决策树识别出的所述待识别数据网络协议。
由于决策树中记录的位置信息,只是各特征信息的开始位置,并没有记录该特征信息有多长,在一定程度上可能会产生误识别,为了保证协议识别的精确,则通过本步骤对待识别数据进行校验。协议知识库中记录了完整的特征信息,包括位置、长度、数据等,因此通过校验后则可以获得非常准确的网络协议。
步骤S307:保存通过验证的本次识别的IP端口和其对应的网络协议。
为了更清晰说明本发明获得特征信息的方法,在本发明的实施例二的基础上,结合实例给出本发明的实施例四,详细讲解如何对相同IP端口的码流数据进行比对,获得该IP端口网络协议的特征信息,如图5所示,所述方法包括:
步骤S401:分别创建码流数组和特征向量数组。
对于码流数组的长度和特征向量数组的长度,可根据实际经验来确定,24位、48位或更长均可,若待识别的码流数据协议很长,也可以根据人工经验判断取合适的长度。
码流数组初始存储当前码流数据如表1所示,特征向量数组各位置的初始值均设置为固定标识如表2所示。
表1码流数组
表2特征向量数组
表2中各位置中的1为固定标识。
步骤S402:根据特征向量的固定标识位置信息,对待比对码流数据和所述当前码流数据的相应位置进行一致性比对。
由于特征向量的初始值所有位置都是1,则第一次比对时,对数据码流的所有位置都进行比对。
步骤S403:根据比对过程中不一致的位置信息将所述特征向量数组中的相应位置更新为变化标识。
通过一次比对后,就会出现数据不一样的位置,将这些位置相对应的特征向量都置为0,如表3所示。
表3更新后的特征向量
表3中的0即为变化标识。
步骤S404:将所述待比对码流数据更新至所述码流数组。
步骤S405:判断所述特征向量的固定标识是否稳定,若不稳定则返回步骤S402,若稳定,进入步骤S406。
我们在此假设表三中特征向量的固定标识已经稳定,即经过多次比对已不在发生变化。
步骤S406:记录保持不变数据的各起始位置。
根据表3中特征向量的固定标识,可获知,该IP端口网络协议中一共有4个协议特征以(次序,起始位置)进行表示,这4个协议特征的起始位置分别为(1,2)、(2,4)、(3,9)、(4,11)。
步骤S407:依次记录从所述各起始位置开始保持不变的数据。
所述各起始位置和所述各起始位置开始保持不变的数据即为该IP端口网络协议确定的特征信息。记录的保持不变的数据如表4所示。
表4记录的保持不变的数据
需要说明的是,获得特征信息的过程是多次比对的过程,最初将特征向量均置固定标识,即默认第一条码流数据中的所有数据都是协议特征信息;当第二条码流数据与第一条码流数据比对后,则在特征向量中将比对不一致的位置都置为变化标识,同时在码流数组中覆盖第一条码流数据保存第二条码流数据;当第三条码流数据与码流数组中的数据进行比对时,仅比对特征向量中那些固定标识“1”的位置即可,如果这些位置中有变化的数据,则将这些变化数据的位置更新到特征向量中,将其置变化标识“0”,经过多次比对,最终获得了网络协议中确定的特征信息。
为了详细说明本发明中根据协议知识库构建决策树的方法,给出本发明的实施例五,如图6所示。
构建决策树的数据是来自保存了各IP端口网络协议特征信息的协议知识库,构建决策树的算法依据是ID3算法。
该算法是以信息论为基础,以信息熵和信息增益度为衡量标准,从而实现对数据的归纳分类。以下是一些信息论的基本概念:
定义1:若存在n个相同概率的消息,则每个消息的概率p是1/n,一个消息传递的信息量为-Log2(1/n)
定义2:若有n个消息,其给定概率分布为P=(p1,p2…pn),则由该分布传递的信息量称为P的熵,记为
定义3:若一个记录集合T根据类别属性的值被分成互相独立的类C1C2..Ck,则识别T的一个元素所属哪个类所需要的信息量为Info(T)=I(p),其中P为C1C2…Ck的概率分布,即P=(|C1|/|T|,.....|Ck|/|T|)
定义4:若我们先根据非类别属性X的值将T分成集合T1,T2…Tn,则确定T中一个元素类的信息量可通过确定Ti的加权平均值来得到,即Info(Ti)的加权平均值为:
Info(X,T)=(i=1to n求和)((|Ti|/|T|)Info(Ti))
定义5:信息增益度是两个信息量之间的差值,其中一个信息量是需确定T的一个元素的信息量,另一个信息量是在已得到的属性X的值后需确定的T一个元素的信息量,信息增益度公式为:
Gain(X,T)=Info(T)-Info(X,T)
ID3算法计算每个属性的信息增益,并选取具有最高增益的属性作为给定集合的测试属性。对被选取的测试属性创建一个节点,并以该节点的属性标记,对该属性的每个值创建一个分支据此划分样本。
在此我们以上述协议知识库中的存储表格为数据基础,根据上述算法进行决策树构建:
表5协议知识库中的特征字段存储表
规则 | 特征字段1 | 特征字段2 | 特征字段3 | 特征字段4 | 类别 |
1 | 0 | 3 | 8 | 12 | Sybase |
2 | 0 | 4 | 10 | 12 | Oracle |
3 | 0 | 3 | 10 | 12 | telnet |
4 | * | * | * | * | 未知 |
步骤S501:计算各特征字段的增益。
步骤5011:计算所述协议知识库中所有特征字段的先验熵。
求先验熵:
P(u1)=1/4P(u2)=1/4P(u3)=1/4P(u4)=1/4
=-4(1/4log(1/4))=0.602
步骤5012:计算所述协议知识库中每个特征字段的后验熵。
计算特征字段1:
对于字段1划分为两个子集以“值(数量)”表示,分别是“0(3)”、“非0(1)”两个集合表为T1、T2,概率分布为3/4、1/4。
对于T1来说包含3个类别,其后验熵为:
H(T1)=-(1/3log(1/3)+1/3log(1/3)+1/3log(1/3))=0.477
对于T2来说只包含一个类型,其后验熵为:
H(T2)=-log1=0
两个子集的后验熵加权平均值:3/4*0.477+0=0.358
同理计算字段2:
对于字段2划分为3(2)、4(1)、*(1)三个集合,标为T1,T2,T3,概率为1/2、1/4、1/4。
对于T1来说包含2个类别,后验熵分别为:
H(T1)=-1/2log(1/2)-1/2log(1/2)=0.301
H(T2)=H(T3)=0
三个子集的加权平均值:1/2*0.301+0+0=0.150
同理计算特征字段3和计算特征字段4的后验熵,特征字段3子集数为3个,特征字段4子集数为2个,与特征字段2和特征字段1相同,参照上面的计算方式:
计算特征字段3同特征字段2Gain(X2,T)=0.452
计算特征字段4同特征字段1Gain(X4,T)=0.244
步骤5013:获取所述先验熵与所述每个特征字段后验熵的差值,即为所述各特征字段的增益。
特征字段1的信息增益:Gain(X1,T)=0.602-0.358=0.244
特征字段2的信息增益:Gain(X2,T)=0.602-0.150=0.452
特征字段3的信息增益:Gain(X3,T)=0.602-0.150=0.452
特征字段4的信息增益:Gain(X4,T)=0.602-0.358=0.244
步骤S502:选择特征字段增益最大的特征字段作为根节点。
特征字段2和特征字段3的增益均为0.452,可任选其一作为根节点,在实际应用考虑到选择可能占用资源,可指定数值最大的最先出现的节点作为根节点,我们在此选择特征字段2作为根节点。
特征字段3为特征字段2的子节点。
步骤S503:根据根节点特征字段包含的特征信息子集数量确定根节点分支;根据子节点所在分支上包含的子集数量确定子节点分支。
构建的决策树如图7所示。
由于特征字段2包含3个子集,则各节点“特征字段2”有三个分支,到达每个分支的条件为子集的值,分别为3、4、*。
特征字段3包含3个子集,其中在值为3的分支上,有两个子集,其值分别为8、10;在值为4的分支上,有一个子集,其值为10;在值为*的分支上,有一个子集,其值为*。
步骤S504:从所述决策树的根节点通过一条分支路径到达的叶子节点为包含这条分支路径上所有特征信息的网络协议。
因此如图7中所示,可分别获得叶子节点所标识的网络协议。
综上所述本发明具有快速识别网络协议的能力。
本发明还提供一种网络协议识别装置用以实现一种网络协议识别方法,下面给出本发明的实施例六用以说明所述装置的具体结构,如图8所示。
一种网络识别装置包括:
特征信息获取单元1,用于将相同IP端口的码流数据进行比对,获得各网络协议中确定的特征信息。
协议知识库2,用于依照所述各特征信息出现的次序,存储所述特征信息获取单元1获取的各网络协议中所述特征信息。
决策树构建单元3,用于将所述协议知识库2存储的特征信息构建决策树,所述决策树中的叶子节点标识该叶子节点所在分支的网络协议。
协议识别单元4,用于根据所述决策树构建单元3构建的决策树中各节点和各节点分支标识的信息,对待识别数据进行协议识别,根据识别到达的叶子节点确定所述待识别数据的网络协议。
基于本发明的实施例六,为了保证使本装置具有自学习功能应对全新的网络协议识别;提高网络识别的准确性;同时避免对已识别过的网络协议进行重复识别,节省资源提高效率,优选的,本发明装置还可以包括自学习单元5:
若所述协议识别单元4对待识别数据的协议识别不能到达叶子节点,则所述特征信息获取单元1将与该待识别数据相同IP端口的数据码流进行比对,
自学习单元5,用于获取该IP端口数据码流中确定的特征信息用于进行协议特征自学习,将所述特征信息获取单元1获取的新所述特征信息更新至所述协议知识库2并根据所述更新的协议知识库更新所述决策树。
校验单元6,用于根据所述协议知识库2中存储的网络协议特征信息校验通过所述协议识别单元4识别出的所述待识别数据网络协议。
识别结果存储单元7,用于保存所述通过校验单元6校验的待识别数据的IP端口和网络协议;
预识别单元8,用于当有新的待识别数据时,根据新的待识别数据的IP端口,在所述识别结果存储单元7中匹配查找新的待识别数据的IP端口,对其进行预识别,查找匹配成功则直接确定与该IP端口相应的网络协议为所述新待识别数据的网络协议。
下面给出本发明的实施例七,详细的说明本装置各模块的结构,如图9所示。
特征信息获取单元1,用于将相同IP端口的码流数据进行比对,获得各网络协议中确定的特征信息。
特征信息获取单元1进一步包括:
码流数组11,用于存储各IP端口的当前码流数据。
特征向量数组12,用于存储与所述码流数组11IP端口对应的特征向量,各位置初始值均设置为固定标识。
数据比对和特征信息获取模块13,用于将码流数组11中的当前码流数据和待比对数据进行逐位置比对,获取比对后固定的信息为特征信息。
更新模块14,用于根据所述数据比对和特征信息获取模块13比对过程中不一致的位置信息将所述特征向量数组12中的相应位置更新为变化标识,将所述待比对码流数据更新至所述码流数组11。
协议知识库2,用于依照所述各特征信息出现的次序,存储所述特征信息获取单元1获取的各网络协议中所述特征信息。
所述协议知识库将所述各网络协议中出现次序相同的特征信息存入以顺序标识命名的特征字段列中,每个网络协议中的所有特征信息依次序存入相同的行中。
决策树构建单元3,用于将所述协议知识库2存储的特征信息构建决策树,所述决策树中的叶子节点标识该叶子节点所在分支的网络协议。
决策树构建单元3进一步包括:
计算模块31,用于获得所述协议知识库2中各特征字段所包含的特征信息子集数量,并计算各特征字段的增益.
树构建模块32,用于依照以下规则构建决策树,根据所述计算31计算的各特征字段增益由大到小确定决策树中父节点和子节点,根据所述各特征字段所包含的特征信息子集数量确定该节点的分支,从所述决策树的根节点通过一条分支路径到达的叶子节点为包含这条分支路径上所有特征信息的网络协议。
协议识别单元4,用于根据所述决策树构建单元3构建的决策树中各节点和各节点分支标识的信息,对待识别数据进行协议识别,根据识别到达的叶子节点确定所述待识别数据的网络协议。
协议识别单元对待识别数据进行网络识别的方法为:接收待识别数据,依照所述决策树中根节点分支所指示的特征信息对所述待识别数据进行比对;
根据所述比对结果为特征信息一致的分支获得下一个节点,并根据该节点分支所指示的特征信息继续对所述待识别数据进行比对。
若所述协议识别单元4对待识别数据的协议识别不能到达叶子节点,则所述特征信息获取单元1将与该待识别数据相同IP端口的数据码流进行比对,自学习单元5获取该IP端口数据码流中确定的特征信息用于进行协议特征自学习,将所述特征信息获取单元1获取的新所述特征信息更新至所述协议知识库2并根据所述更新的协议知识库更新所述决策树。
校验单元6,用于根据所述协议知识库2中存储的网络协议特征信息校验通过所述协议识别单元4识别出的所述待识别数据网络协议。
识别结果存储单元7,用于保存所述通过校验单元6校验的待识别数据的IP端口和网络协议。
预识别单元8,用于当有新的待识别数据时,根据新的待识别数据的IP端口,在所述识别结果存储单元7中匹配查找新的待识别数据的IP端口,对其进行预识别,查找匹配成功则直接确定与该IP端口相应的网络协议为所述新待识别数据的网络协议。
虽然本发明所揭露的实施方式如上,然而所述的内容并非用以直接限定本发明的保护范围。任何本发明所属技术领域中技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作些许的更动。本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (13)
1.一种网络协议识别方法,其特征在于,所述方法包括:
将相同IP端口的码流数据进行比对,获得各网络协议中固定的特征信息;依照各网络协议中所述特征信息出现的次序将所述特征信息存入协议知识库;
将所述协议知识库存储的特征信息构建决策树,所述决策树中的叶子节点标识该叶子节点所在分支的网络协议;
根据所述决策树各节点和各节点分支标识的信息,对待识别数据进行协议识别;
根据识别到达的叶子节点确定所述待识别数据的网络协议;
所述方法还包括:
若识别不能到达叶子节点,则将与该待识别数据相同IP端口的数据码流进行比对,获取该IP端口数据码流中确定的特征信息,将新的所述特征信息更新至所述协议知识库并根据所述更新的协议知识库更新所述决策树;
根据所述协议知识库中存储的网络协议特征信息校验所述决策树识别出的所述待识别数据网络协议,校验通过则本次协议识别完成;
将所述通过校验的待识别数据的IP端口和与该IP端口对应的网络协议存储存储结构,当有新的待识别数据时,先在所述存储结构中匹配查找新的待识别数据的IP端口,查找匹配成功则直接确定与该IP端口相应的网络协议为所述新的待识别数据的网络协议。
2.根据权利要求1所述的方法,其特征在于,所述将相同IP端口的码流数据进行比对,获得各网络协议中确定的特征信息的方法具体为:
使用特征向量标识所述码流数据比对过程中保持不变数据,依次序记录所述保持不变的数据和该数据的起始位置,并将所述各起始位置和从所述各起始位置开始保持不变的数据标记为该IP端口网络协议固定的特征信息。
3.根据权利要求2所述的方法,其特征在于,所述依照各网络协议中所述特征信息出现的次序将所述特征信息存入协议知识库的方法具体为:
创建所述协议知识库,将所述各网络协议中出现次序相同的特征信息存入以顺序标识命名的特征字段列中,每个网络协议中的所有特征信息依次序存入相同的行中。
4.根据权利要求3所述的方法,其特征在于,所述将所述协议知识库存储的特征信息构建决策树的方法具体为:
计算各特征字段的增益,并获得各特征字段所包含的特征信息子集数量;
根据所述各特征字段增益由大到小确定决策树中父节点和子节点,根据所述各特征字段所包含的特征信息子集数量确定该节点的分支;
从所述决策树的根节点通过一条分支路径到达的叶子节点为包含这条分支路径上所有特征信息的网络协议。
5.根据权利要求4所述的方法,其特征在于,根据所述决策树各节点和各节点分支标识的信息,对待识别数据进行协议识别的方法具体为:
接收待识别数据,根据所述决策树中根节点分支所指示的特征信息与所述待识别数据中相应位置的数据进行比对;
根据所述比对结果为特征信息一致的分支获得下一个节点,并根据该节点分支所指示的特征信息继续与所述待识别数据中相应位置的数据进行比对。
6.根据权利要求5所述的方法,其特征在于,所述使用特征向量标识所述码流数据比对过程中保持不变数据,依次序记录所述保持不变的数据和该数据的起始位置的方法具体为:
分别创建码流数组和与所述码流数组对应的特征向量数组,所述特征向量数组各位置的初始值均设置为固定标识,所述码流数组初始存储当前码流数据;
根据所述特征向量的固定标识位置信息,对待比对码流数据和所述当前码流数据的相应位置进行一致性比对;
记录比对过程中保持不变数据和该数据的起始位置,并根据比对过程中不一致的位置信息将所述特征向量数组中的相应位置更新为变化标识,将所述待比对码流数据更新至所述码流数组。
7.根据权利要求6所述的方法,其特征在于,所述计算各特征字段增益的方法具体为:
计算所述协议知识库中所有特征字段的先验熵;
计算所述协议知识库中每个特征字段的后验熵;
获取所述先验熵与所述每个特征字段后验熵的差值,即为所述各特征字段的增益。
8.一种网络协议识别装置,其特征在于,所述装置包括:
特征信息获取单元,用于将相同IP端口的码流数据进行比对,获得各网络协议中确定的特征信息;
协议知识库,用于依照所述各特征信息出现的次序,存储所述特征信息获取单元获取的各网络协议中所述特征信息;
决策树构建单元,用于将所述协议知识库存储的特征信息构建决策树,所述决策树中的叶子节点标识该叶子节点所在分支的网络协议;
协议识别单元,用于根据所述决策树构建单元构建的决策树中各节点和各节点分支标识的信息,对待识别数据进行协议识别,根据识别到达的叶子节点确定所述待识别数据的网络协议;
所述装置还包括自学习单元:
若所述协议识别单元对待识别数据的协议识别不能到达叶子节点,则所述特征信息获取单元将与该待识别数据相同IP端口的数据码流进行比对,获取该IP端口数据码流中确定的特征信息;
自学习单元,用于进行协议特征自学习,将所述特征信息获取单元获取的新所述特征信息更新至所述协议知识库并根据所述更新的协议知识库更新所述决策树;
校验单元,用于根据所述协议知识库中存储的网络协议特征信息校验通过所述协议识别单元识别出的所述待识别数据网络协议;
识别结果存储单元,用于保存所述通过校验单元校验的待识别数据的IP端口和网络协议;
预识别单元,用于当有新的待识别数据时,根据新的待识别数据的IP端口,在所述识别结果存储单元中匹配查找新的待识别数据的IP端口,对其进行预识别,查找匹配成功则直接确定与该IP端口相应的网络协议为所述新的待识别数据的网络协议。
9.根据权利要求8所述的装置,其特征在于,所述特征信息获取单元进一步包括:
码流数组,用于存储各IP端口的当前码流数据;
特征向量数组,用于存储与所述码流数组IP端口对应的特征向量,各位置初始值均设置为固定标识;
数据比对和特征信息获取模块,用于将码流数组中的当前码流数据和待比对数据进行逐位置比对,获取比对后确定的信息为特征信息;
更新模块,用于根据所述数据比对和特征信息获取模块比对过程中不一致的位置信息将所述特征向量数组中的相应位置更新为变化标识,将所述待比对码流数据更新至所述码流数组。
10.根据权利要求9所述的装置,其特征在于:
所述协议知识库将所述各网络协议中出现次序相同的特征信息存入以顺序标识命名的特征字段列中,每个网络协议中的所有特征信息依次序存入相同的行中。
11.根据权利要求10所述的装置,其特征在于,所述决策树构建单元进一步包括:
计算模块,用于获得所述协议知识库中各特征字段所包含的特征信息子集数量,并计算各特征字段的增益;
树构建模块,用于依照以下规则构建决策树,根据所述计算模块计算的各特征字段增益由大到小确定决策树中父节点和子节点,根据所述各特征字段所包含的特征信息子集数量确定该节点的分支,从所述决策树的根节点通过一条分支路径到达的叶子节点为包含这条分支路径上所有特征信息的网络协议。
12.根据权利要求11所述的装置,其特征在于,所述协议识别单元进行网络协议识别的方法具体为:
接收待识别数据,依照所述决策树中根节点分支所指示的特征信息对所述待识别数据进行比对;
根据所述比对结果为特征信息一致的分支获得下一个节点,并根据该节点分支所指示的特征信息继续对所述待识别数据进行比对。
13.根据权利要求12所述的装置,其特征在于,所述计算模块计算各特征字段增益的方法具体为:
计算所述协议知识库中所有特征字段的先验熵;
计算所述协议知识库中每个特征字段的后验熵;
获取所述先验熵与所述每个特征字段后验熵的差值,即为所述各特征字段的增益。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410355849.0A CN105282123B (zh) | 2014-07-24 | 2014-07-24 | 一种网络协议识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410355849.0A CN105282123B (zh) | 2014-07-24 | 2014-07-24 | 一种网络协议识别方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105282123A CN105282123A (zh) | 2016-01-27 |
CN105282123B true CN105282123B (zh) | 2018-11-16 |
Family
ID=55150458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410355849.0A Active CN105282123B (zh) | 2014-07-24 | 2014-07-24 | 一种网络协议识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105282123B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608476B (zh) * | 2016-02-16 | 2019-03-15 | 北京小米移动软件有限公司 | 基于随机森林分类器的分类方法及装置 |
CN106603538A (zh) * | 2016-12-20 | 2017-04-26 | 北京安信天行科技有限公司 | 一种入侵检测方法及系统 |
CN106647666B (zh) * | 2016-12-28 | 2019-04-19 | 合肥城市云数据中心股份有限公司 | 基于在线识别组装设备对象协议库的数据采集方法 |
CN110365645B (zh) * | 2019-06-06 | 2021-06-04 | 国家计算机网络与信息安全管理中心 | 一种车联网协议关键词识别方法及装置 |
CN111711605B (zh) * | 2020-05-18 | 2022-05-24 | 江苏东洲物联科技有限公司 | 一种用于物联网平台的数据协议主动解析方法 |
CN112099867A (zh) * | 2020-08-17 | 2020-12-18 | 北京天元特通科技有限公司 | 一种支持在线动态更新的app识别框架 |
CN112235160B (zh) * | 2020-10-14 | 2022-02-01 | 福建奇点时空数字科技有限公司 | 一种基于协议数据深层检测的流量识别方法 |
CN112737891A (zh) * | 2020-12-30 | 2021-04-30 | 北京浩瀚深度信息技术股份有限公司 | 一种网络流量模拟测试方法、装置及存储介质 |
CN113507449B (zh) * | 2021-06-17 | 2022-05-20 | 北京惠而特科技有限公司 | 一种ge私有协议深度识别方法及装置 |
CN113824616B (zh) * | 2021-11-22 | 2022-08-16 | 华控清交信息科技(北京)有限公司 | 一种mpc协议识别方法、装置及电子设备 |
CN114500688B (zh) * | 2022-01-28 | 2023-12-05 | 厦门科灿信息技术有限公司 | 设备协议识别的方法、装置、终端及存储介质 |
CN115242691B (zh) * | 2022-07-04 | 2023-05-19 | 中国电子科技集团公司第三十研究所 | 一种基于协议特征库的协议识别方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035131A (zh) * | 2007-02-16 | 2007-09-12 | 杭州华为三康技术有限公司 | 协议识别方法及装置 |
CN101035111A (zh) * | 2007-04-13 | 2007-09-12 | 北京启明星辰信息技术有限公司 | 一种智能协议解析方法及装置 |
CN102082762A (zh) * | 2009-11-30 | 2011-06-01 | 华为技术有限公司 | 一种协议识别方法、设备及系统 |
CN102185762A (zh) * | 2011-04-19 | 2011-09-14 | 北京网康科技有限公司 | 用户数据发送行为的识别与提取及其处理设备 |
CN102546625A (zh) * | 2011-12-31 | 2012-07-04 | 深圳市永达电子股份有限公司 | 半监督聚类集成的协议识别系统 |
CN102984242A (zh) * | 2012-11-20 | 2013-03-20 | 杭州迪普科技有限公司 | 一种应用协议的自动识别方法和装置 |
CN103023909A (zh) * | 2012-12-24 | 2013-04-03 | 成都科来软件有限公司 | 一种网络数据包协议识别方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7370039B2 (en) * | 2005-04-05 | 2008-05-06 | International Business Machines Corporation | Method and system for optimizing configuration classification of software |
-
2014
- 2014-07-24 CN CN201410355849.0A patent/CN105282123B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035131A (zh) * | 2007-02-16 | 2007-09-12 | 杭州华为三康技术有限公司 | 协议识别方法及装置 |
CN101035111A (zh) * | 2007-04-13 | 2007-09-12 | 北京启明星辰信息技术有限公司 | 一种智能协议解析方法及装置 |
CN102082762A (zh) * | 2009-11-30 | 2011-06-01 | 华为技术有限公司 | 一种协议识别方法、设备及系统 |
CN102185762A (zh) * | 2011-04-19 | 2011-09-14 | 北京网康科技有限公司 | 用户数据发送行为的识别与提取及其处理设备 |
CN102546625A (zh) * | 2011-12-31 | 2012-07-04 | 深圳市永达电子股份有限公司 | 半监督聚类集成的协议识别系统 |
CN102984242A (zh) * | 2012-11-20 | 2013-03-20 | 杭州迪普科技有限公司 | 一种应用协议的自动识别方法和装置 |
CN103023909A (zh) * | 2012-12-24 | 2013-04-03 | 成都科来软件有限公司 | 一种网络数据包协议识别方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105282123A (zh) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105282123B (zh) | 一种网络协议识别方法和装置 | |
CN109815952A (zh) | 品牌名称识别方法、计算机装置及计算机可读存储介质 | |
TW201241773A (en) | Method and apparatus of determining product category information | |
CN108268581A (zh) | 知识图谱的构建方法及装置 | |
CN106033416A (zh) | 一种字符串处理方法及装置 | |
CN107025239B (zh) | 敏感词过滤的方法和装置 | |
CN109582969A (zh) | 实体匹配方法、装置及电子设备 | |
CN106843941B (zh) | 信息处理方法、装置和计算机设备 | |
CN109508420A (zh) | 一种知识图谱属性的清洗方法及装置 | |
CN107291825A (zh) | 一种视频中同款商品的检索方法和系统 | |
CN110427375B (zh) | 字段类别的识别方法及装置 | |
CN106055613A (zh) | 一种基于混合范数的数据分类训练数据库清洗方法 | |
CN109951846A (zh) | 无线网络识别方法、装置、存储介质及计算机设备 | |
CN106033428B (zh) | 统一资源定位符的选择方法和统一资源定位符的选择装置 | |
CN109240903A (zh) | 一种自动评估的方法和装置 | |
CN107426610A (zh) | 视频信息同步方法及装置 | |
CN106993010A (zh) | 一种信息推送方法及装置 | |
CN104615621B (zh) | 搜索中的相关性处理方法和系统 | |
EP1620996B1 (en) | Communication path analysis | |
CN105515917B (zh) | 基于索引分簇的网络协议特征匹配方法 | |
CN116628025A (zh) | 一种基于邻接矩阵的高效图流测量方法 | |
CN110472019A (zh) | 舆情搜索方法及装置 | |
CN116418705A (zh) | 基于机器学习的网络资产识别方法、系统、终端及介质 | |
CN106997350A (zh) | 一种数据处理的方法及装置 | |
CN111325562A (zh) | 粮食安全追溯系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |