一种协议指纹自动提取方法及系统的制作方法

文档序号:9767667阅读:561来源:国知局
一种协议指纹自动提取方法及系统的制作方法
【技术领域】
[0001 ]本发明属于网络技术领域,尤其涉及一种协议指纹自动提取方法及系统。
【背景技术】
[0002]从网络运行和管理者角度说,希望对本地网络信息的访问、读写等操作受到保护和控制,避免出现“陷门”、病毒、非法存取、拒绝服务和网络资源非法占用和非法控制等威胁,制止和防御网络黑客的攻击。对安全保密部门来说,他们希望对非法的、有害的或涉及国家机密的信息进行过滤和防堵,避免机要信息泄露,避免对社会产生危害,对国家造成巨大损失。
[0003]在网络协议识别领域,出现了协议指纹识别技术,网络协议指纹,广泛应用于计算机安全的各个方面,例如流量识别、入侵检测系统、网络监控等。现有的协议指纹识别方法为:如要分析QQ旋风的协议指纹,让有协议指纹提取经验的工程师,通过使用抓包工具,如wireshark反复多次抓取数据包,抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。抓到数据包后,人眼对比分析数据报文,提取出QQ旋风的数据报文携带的协议指纹特征。因为不断涌现新的应用软件需要提取协议指纹特征,旧的应用软件也在不断在更新版本,很可能指纹特征需要修改维护,重新提取,这样工作量就很大,比如QQ软件分多个平台的版本,PC平台、安卓平台、1s平台,包括聊天、语音、视频、文件等协议,并且每隔一段时间就有新版本出现,这些都需要投入人力进行分析维护。
[0004]因此,如何自动高效地提取协议指纹,降低工作人员的工作强度,提高工作效率,成为技术人员需要考虑的问题。

【发明内容】

[0005]本发明所要解决的技术问题是提供一种协议指纹自动提取方法及系统,提高协议指纹提取的自动化水平,降低工作人员的工作强度,提高工作效率。
[0006]为了解决上述技术问题,本发明提供了一种协议指纹自动提取方法,所述方法包括以下步骤:
[0007]调用进程抓包工具对指定的电脑网卡进行抓包,输出各进程流量的数据包;
[0008]获得待分析的进程的流量数据包;
[0009]将待分析的流量数据包按三元组确定的节点自动归类,每一个节点按五元组分成多个会话;
[0010]对于一个节点,将所有会话的首个报文内容相互比对,获得所有首个报文内容中重复性高的字段,作为该节点的流量数据包的协议指纹;直到获得所有节点的流量数据包的协议指纹。
[0011 ] 优选的,所述三元组为:IP+端口 +协议类型;所述五元组为:源IP+源端口 +目的IP+目的端口+协议类型。
[0012]优选的,所述对于一个节点,将所有会话的首个报文内容相互比对,包括:
[0013]查找所有首个报文中固定字节重复性最高的内容作为第一字段,再查找所有首个报文中除固定字节外的其他字节重复性最高的内容作为第二字段,将所述第一字段和所述第二字段综合,作为该节点的流量数据包的协议指纹。
[0014]为了解决上述技术问题,本发明还提供了一种协议指纹自动提取系统,所述系统包括:
[0015]数据包获取模块,用于调用进程抓包工具对指定的电脑网卡进行抓包,输出各进程流量的数据包;
[0016]进程确定模块,用于获得待分析的进程的流量数据包;
[0017]数据包划分模块,用于将待分析的流量数据包按三元组确定的节点自动归类,每一个节点按五元组分成多个会话;
[0018]指纹获取模块,用于将一个节点的所有会话的首个报文内容相互比对,获得所有首个报文内容中重复性高的字段,作为该节点的流量数据包的协议指纹,直至获得所有节点的流量数据包的协议指纹。
[0019]优选的,所述数据包划分模块,进一步用于确定所述三元组为:IP+端口+协议类型;确定所述五元组为:源IP+源端口 +目的IP+目的端口 +协议类型。
[0020]优选的,所述指纹获取模块,进一步用于查找所有首个报文中固定字节重复性最高的内容作为第一字段,再查找所有首个报文中除固定字节外的其他字节重复性最高的内容作为第二字段,将所述第一字段和所述第二字段综合,作为该节点的流量数据包的协议指纹。
[0021]本发明的协议指纹自动提取方法及系统,根据三元组(IP+端口+协议类型)确定一个节点,五元组(源IP+源端口 +目的IP+目的端口 +协议类型)确定一条会话,将待分析的流量数据包按三元组确定的节点自动归类,每一个节点按五元组分成多个会话,对于一个节点,将所有会话的首个报文内容相互比对,获得所有首个报文内容中重复性高的字段,作为该节点的流量数据包的协议指纹;直到获得所有节点的流量数据包的协议指纹。本发明与人工提取协议指纹的方法相比,自动提取协议指纹更加精准、快速高效、省时省力。
【附图说明】
[0022]图1为本发明实施例的协议指纹自动提取方法流程图。
[0023]图2为本发明实施例的协议指纹自动提取系统结构示意图。
[0024]图3为本发明的实际工作流程图。
[0025]图4为本发明应用实例中的指纹自动提取演示例示意图。
【具体实施方式】
[0026]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027]本发明的主要思想是:根据三元组(IP+端口+协议类型)确定一个节点,五元组(源IP+源端口 +目的IP+目的端口 +协议类型)确定一条会话,将待分析的流量数据包按三元组确定的节点自动归类,每一个节点按五元组分成多个会话,对于一个节点,将所有会话的首个报文内容相互比对,获得所有首个报文内容中重复性高的字段,作为该节点的流量数据包的协议指纹;直到获得所有节点的流量数据包的协议指纹。
[0028]参照图1所示,本发明实施例的协议指纹自动提取方法流程图。所述方法包括以下步骤:
[0029]步骤101,调用进程抓包工具对指定的电脑网卡进行抓包,输出各进程流量的数据包;
[0030]步骤102,获得待分析的进程的流量数据包;
[0031]步骤103,根据三元组(IP+端口 +协议类型)确定一个节点,五元组(源IP+源端口 +目的IP+目的端口 +协议类型)确定一条会话,将待分析的流量数据包按三元组确定的节点自动归类,每一个节点按五元组分成多个会话;
[0032]步骤104,对于一个节点,将所有会话的首个报文内容相互比对,获得所有首个报文内容中重复性高的字段,作为该节点的流量数据包的协议指纹;
[0033]步骤105,重复步骤104,直到获得所有节点的流量数据包的协议指纹。
[0034]在本发明的一个优选实施例中,步骤104中的具体处理方法为:鉴于指纹一般存在于报文的固定字节或者非固定字节,拿到某个节点的报文后,首先对比固定字节,即查找固定字节重复性最高的内容作为第一字段,看是否固定位置存在指纹,如固定字节04-07字节存在十六进制值表示的403\别7\别9\别8字段指纹,然后再对比非固定字节,即除固定字节外的其他字节重复性
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1