[发明专利]一种网络应用层协议识别的方法和系统有效
| 申请号: | 201510997641.3 | 申请日: | 2015-12-25 |
| 公开(公告)号: | CN105516173B | 公开(公告)日: | 2018-10-23 |
| 发明(设计)人: | 代宏伟;李宏伟;付君辉 | 申请(专利权)人: | 北京中安智达科技有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L12/26 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李相雨 |
| 地址: | 100085 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 网络 应用 协议 识别 方法 系统 | ||
1.一种网络应用层协议识别的方法,其特征在于,包括:
S1:获取通信过程的特征信息,所述特征信息包括以下至少一种或其组合:通信过程的IP地址、主特征码、协议端口、通信过程中的数据包的长度;
S2:根据预先设置的IP地址哈希表、主特征码哈希表、协议端口哈希表和数据包的长度哈希表中的任一哈希表,或预设的识别插件对所述通信过程进行识别,若识别出所述通信过程,获取所述通信过程的协议ID,否则,标记所述通信过程的协议为未定义;
若所述通信过程的协议为未定义,判断所述通信过程的识别次数是否超过阈值,若是,则不再对所述通信过程进行识别,并将所述通信过程的协议标记为未知协议,否则,继续识别所述通信过程。
2.根据权利要求1所述的网络应用层协议识别的方法,其特征在于,在所述步骤S1之前还包括:
获取已知通信过程的IP地址,对IP地址进行哈希运算得到第一初始哈希值,将第一初始哈希值和IP地址相应的已知通信过程的协议ID关联存储生成所述IP地址哈希表;
获取已知通信过程的主特征码,对主特征码进行哈希运算得到第二初始哈希值,将第二初始哈希值和主特征码相应的已知通信过程的协议ID关联存储生成主特征码哈希表;
获取已知通信过程的协议端口,对协议端口进行哈希运算得到第三初始哈希值,将第三初始哈希值和协议端口相应的已知通信过程的协议ID关联存储生成协议端口哈希表;
获取已知通信过程的数据包的长度,对数据包的长度进行哈希运算得到第四初始哈希值,将第四初始哈希值和数据包的长度相应的已知通信过程的协议ID关联存储生成数据包的长度哈希表。
3.根据权利要求2所述的网络应用层协议识别的方法,其特征在于,所述步骤S2包括:
S21:根据所述IP地址哈希表对所述通信过程进行识别,若识别出所述通信过程,获取所述通信过程的协议ID,否则,进入步骤S22;
S22:根据所述主特征码哈希表对所述通信过程进行识别,若识别出所述通信过程,获取所述通信过程的协议ID,否则,进入步骤S23;
S23:根据所述协议端口哈希表对所述通信过程进行识别,若识别出所述通信过程,获取所述通信过程的协议ID,否则,进入步骤S24;
S24:根据所述数据包的长度哈希表对所述通信过程进行识别,若识别出所述通信过程,获取所述通信过程的协议ID,否则,进入步骤S25;
S25:通过设置在目的协议端口或者源协议端口的识别插件对所述通信过程进行识别,若识别出所述通信过程,获取所述通信过程的协议ID,否则,标记所述通信过程的协议为未定义。
4.根据权利要求3所述的网络应用层协议识别的方法,其特征在于,所述步骤S21包括:
S211:通过所述IP地址中的目的IP地址进行哈希运算得到第一哈希值,在IP地址哈希表中查询与第一哈希值对应的哈希桶的链表头,遍历链表头对应的链表判断是否存在与所述第一哈希值匹配的第一节点,若存在,校验所述通信过程的目的协议端口,若通过校验,获取所述第一节点对应的协议ID;
S212:若链表中不存在与所述第一哈希值匹配的节点或者目的协议端口未通过校验,通过所述IP地址中的源IP地址进行哈希运算得到第二哈希值,在IP地址哈希表中查询与第二哈希值对应的哈希桶的链表头,遍历链表头对应的链表判断是否存在与所述第二哈希值匹配的第二节点,若存在,校验所述通信过程的源协议端口,若通过校验,获取所述第二节点对应的协议ID。
5.根据权利要求3所述的网络应用层协议识别的方法,其特征在于,所述步骤S22包括:
S221:遍历主特征码的偏移量数组,循环从所述数组中取出偏移量;
S222:对取出的偏移量对应的数据包内容进行哈希运算得到第三哈希值,根据第三哈希值查询对应的哈希桶的链表头,判断链表头对应的链表是否为空,若不为空,遍历链表头对应的链表判断是否存在与所述第三哈希值匹配的第三节点,若存在,对所述通信过程的子特征码进行校验,若通过校验,获取所述节点对应的协议ID;
S223:若链表头对应的哈希桶链表为空,或链表中不存在第三节点,或所述子特征码未通过校验,返回步骤S221取出下一偏移量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中安智达科技有限公司,未经北京中安智达科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510997641.3/1.html,转载请声明来源钻瓜专利网。





