一种网络流量的识别方法及装置的制造方法

文档序号:9600726阅读:327来源:国知局
一种网络流量的识别方法及装置的制造方法
【技术领域】
[0001]本申请涉及网络流量识别技术领域,尤其是一种可以准确并全面地识别网络流量使用的协议及应用的识别方法及装置。
【背景技术】
[0002]OSI (Open System Interconnect1n)网络协议包括七层,依次为物理层、数据链路层、网络层、传输层、会话层、表示层及应用层。其中,数据链路层、网络层、传输层及应用层各自包含多种网络协议,是网络流量分析时的重要研究对象。具体地,网络流量分析即识别网络数据包使用到的网络协议。
[0003]目前,网络流量的识别方法是在数据包中的某些特定字段中提取字段值,利用国际规定的网络协议标准对字段值进行识别,该种识别方式识别准确率低且识别结果不全面。

【发明内容】

[0004]有鉴于此,本发明提供了一种网络流量的识别方法及装置,用以解决现有的识别方法准确率低且识别结果不全面的技术问题。为实现所述目的,本发明提供的技术方案如下:
[0005]—种网络流量的识别方法,包括:
[0006]获取待识别数据包;
[0007]对所述待识别数据包的头部进行识别,以确定所述待识别数据包的传输层及其以下各层分别使用的网络协议;
[0008]在所述待识别数据包的头部中提取IP地址及端口 ;
[0009]在预设流表中查找所述IP地址及端口 ;
[0010]当查找到时,将查找到的所述IP地址及端口对应的网络协议及应用确定为所述待识别数据包的应用层使用的网络协议及应用;
[0011]当未查找到时,将所述待识别数据包中的负载数据与预设特征库中的特征关键词进行匹配;
[0012]当匹配成功时,将匹配成功的特征关键词对应的网络协议及应用确定为所述待识别数据包的应用层使用的网络协议及应用。
[0013]优选地,当匹配成功时,还包括:
[0014]将所述IP地址及端口添加至所述预设流表中。
[0015]优选地,所述对所述待识别数据包的头部进行识别,以确定所述待识别数据包的传输层及其以下各层分别使用的网络协议包括:
[0016]利用预设协议树对所述待识别数据包的头部进行识别,以确定所述待识别数据包的传输层及其以下各层分别使用的网络协议。
[0017]优选地,所述在所述待识别数据包的头部中提取IP地址及端口包括:
[0018]在所述待识别数据包的头部中提取同一端的IP地址及端口 ;其中,所述同一端为发送端或接收端;或,
[0019]在所述待识别数据包的头部中提取两端的IP地址及任意一端的端口 ;或,
[0020]在所述待识别数据包的头部中提取两端的IP地址及两端的端口。
[0021]本申请还提供了一种网络流量的识别装置,包括:
[0022]数据包获取单元,用于获取待识别数据包;
[0023]网络协议确定单元,用于对所述待识别数据包的头部进行识别,以确定所述待识别数据包的传输层及其以下各层分别使用的网络协议;
[0024]IP地址端口获取单元,用于在所述待识别数据包的头部中提取IP地址及端口 ;
[0025]IP地址端口查找单元,用于在预设流表中查找所述IP地址及端口 ;
[0026]第一协议及应用确定单元,用于当查找到时,将查找到的所述IP地址及端口对应的网络协议及应用确定为所述待识别数据包的应用层使用的网络协议及应用;
[0027]负载数据匹配单元,用于当未查找到时,将所述待识别数据包中的负载数据与预设特征库中的特征关键词进行匹配;
[0028]第二协议及应用确定单元,用于当匹配成功时,将匹配成功的特征关键词对应的网络协议及应用确定为所述待识别数据包的应用层使用的网络协议及应用。
[0029]优选地,还包括:
[0030]流表添加单元,用于当匹配成功时,将所述IP地址及端口添加至所述预设流表中。
[0031]优选地,所述网络协议确定单元包括:
[0032]网络协议确定子单元,利用预设协议树对所述待识别数据包的头部进行识别,以确定所述待识别数据包的传输层及其以下各层分别使用的网络协议。
[0033]优选地,所述IP地址端口获取单元包括:
[0034]第一 IP地址端口获取子单元,用于在所述待识别数据包的头部中提取同一端的IP地址及端口 ;其中,所述同一端为发送端或接收端;
[0035]第二 IP地址端口获取子单元,用于在所述待识别数据包的头部中提取两端的IP地址及任意一端的端口;
[0036]第三IP地址端口获取子单元,用于在所述待识别数据包的头部中提取两端的IP地址及两端的端口。
[0037]本发明提供了一种网络流量的识别方法及装置,该方法包括:对获取到的待识别数据包的头部进行识别,可以确定出待识别数据包的传输层及其以下各层分别使用的网络协议,另外,在待识别数据包的头部中提取IP地址及端口,并在预设流表中查找该IP地址及端口,当查找到时,将该IP地址及端口对应的网络协议确定为待识别数据包应用层使用的网络协议,并且将该IP地址及端口对应的应用确定为待识别数据包应用层使用的应用类型,当未查找到时,将待识别数据包中的负载数据与预设特征库中的特征关键词进行匹配,若匹配成功,则将该特征关键词对应的网络协议及应用确定为该待识别数据包的应用层使用的网络协议及应用。与现有技术相比,一方面,本发明中预先设置有流表及特征库,流表及特征库是根据检测到的大量数据包生成的,可以真实反映数据包的应用层协议使用的端口,因此利用流表及特征库可以准确识别应用层协议,另一方面,流表及特征库中记录有与应用的对应关系,因此能够确定出待识别数据包使用的应用类型,识别结果更加全面。
【附图说明】
[0038]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0039]图1为本发明实施例提供的网络流量的识别方法的流程图;
[0040]图2为本发明另一实施例提供的网络流量的识别方法的流程图;
[0041]图3为本发明实施例提供的网络流量的识别装置的结构示意图;
[0042]图4为本发明另一实施例提供的网络流量的识别装置的结构示意图。
【具体实施方式】
[0043]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044]参见图1,其示出了本发明实施例提供的网络流量的识别方法,具体包括以下步骤:
[0045]步骤S101:获取待识别数据包。
[0046]本实施例中,首先抓取网络中的数据包,将抓取到的数据包作为待识别数据包。
[0047]步骤S102:对所述待识别数据包的头部进行识别,以确定所述待识别数据包的传输层及其以下各层分别使用的网络协议。
[0048]其中,待识别数据包包括头部及负载两部分。通常,从头部中的字段可以判断出传输层及网络层使用的网络协议。对待识别数据包的负载部分解封装后,获得数据帧,根据数据帧的帧头部格式及帧头部中的类型字段可以判断出数据链路层使用的网络协议。当然,还可以是现有技术中的其他识别方法,本发明并不做具体限定。
[0049]例如,当待识别数据包的版本号字段为0100时表明网络层使用的是IPV4,版本号字段为0110时表明网络层使用的是IPV6 ;当待识别数据包的协议字段为6时,表明传输层使用的是TCP,协议字段为17时,传输层使用的是UDP,协议字段为1时,传输层使用的是ICMP。数据链路层使用的可能是IEEE802.3或无线传输协议等。
[0050]步骤S103:在所述待识别数据包的头部中提取IP地址及端口。
[0051]其中,待识别数据包的头部中不仅包含端口信息,还包括IP地址信息。现有技术中仅仅提取端口信息,利用单一的端口信息对应用层使用的协议进行识别,然而,本
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1