互联网的网络应用采集与分析方法及系统的制作方法

文档序号:7697069阅读:187来源:国知局
专利名称:互联网的网络应用采集与分析方法及系统的制作方法
技术领域
本发明涉及网络通信技术,尤其涉及互联网的网络应用采集与分析方法及系统。
背景技术
互联网的数据都是为网络应用服务的,每一个数据包都归属于某种具体的网络应 用协议。但是在网络上传输的数据并不会明确标记自己是什么类型的数据,需要通过数据 承载的网络应用某些特征用算法予以判断识别。网络应用的特征非常多,可以从不同角度来描述,这些不同角度的描述构成一个 网络应用的特征信息。从网络应用的角度来看,有如下的关系网络应用由一个或者多个网络会话组成,一个网络会话由一组网络数据包(TCP/ UDP)组成,网络数据包(TCP/UDP)由一组二进制网络数据组成。其层次结构为TCP/UDP数据包_>网络会话_>网络应用。—个网络应用的特征信息包含在数据包或者网络会话及其组合里面,特征信息可 能非常简单,也可能非常复杂。复杂的特征信息可能包含如下内容网络会话的数量;各个网络会话之间的先后关系和交互关系;每个网络会话的数据包数量;每个数据包的大小、取值和先后关系。许多复杂的应用协议,必需对上述四个方面构成的信息进行完成判断才能予以准 确识别。利用上述四方面信息描述的应用特征称之为应用协议的行为模式。行为模式匹配就是将某个实际数据流和已有的各种应用协议的特征信息进行匹 配,如果匹配即认为属于某种应用。目前常用的行为模式匹配算法是正向匹配。正向匹配 是指一个模式比较中吻合点的数量达到某个比例即认为相同,而逆向匹配是计算不吻合点 的数量,只有不吻合点数量低于一定值才认为是相同。正向匹配容易导致误判,误判的原因是因为应用协议非常多,而且许多应用协议 都是借用已有的应用协议并改进生成的新协议(我们称前者为衍生协议,后者为原始协 议)。因此原始协议特征模式去匹配衍生协议很容易匹配上,导致误判。

发明内容
本发明提出一种互联网的网络应用采集与分析方法,包括根据通信模式或会话 结构,将互联网的网络应用采用的会话结构进行分类;根据所述分类的结果,采用下述识别 方法中的一种或者多种将所述网络应用与预定的应用协议进行不吻合点匹配,所述的识别 方法包括基于端口识别、基于特征码识别、基于协议解析算法识别、基于网络关联算法识 别;当一个网络应用与预定的应用协议的不吻合点的数量小于预定的门限值时,将该网络 应用识别为采用所述预定的应用协议的网络应用。
4
所述将互联网的网络应用采用的会话结构进行分类包括将网络应用采用的会话 结构分为下属类别“Type S-F-2”类型,具有单个会话、固定端口、使用2个主机;“Type M-F-2”类型,具有多个会话、固定端口、使用2个主机;“Type M_D_2”类型,具有多个会话、 动态端口、使用2个主机;“Type M-F-3”类型,具有多个会话、固定端口、使用3个以上的主 机;“Type M-D-3”类型,具有多个会话、动态端口、使用3个以上的主机。所述基于端口识别依据网络应用使用的端口与预定的应用协议进行不吻合点匹 配,所述基于端口识别适用于使用固定端口的网络应用;所述基于端口识别识别的端口包 括由IANA组织分配的公认端口、在IANA组织注册的登记端口、未在IANA组织注册但通过 流量分析得到的常用端口。所述基于特征码识别检查一个网络应用前几个数据包的负载部分,确定是否存在 预定义的应用特征码,并以次为依据与预定的应用协议进行不吻合点匹配;所述特征码包 括固定长度字符串、或者可变长度字符串,所述固定长度字符串或可变长度字符串用正规 表达式表不。所述基于协议解析算法识别适用于使用动态端口的网络应用,进一步包括1)建 立描述控制会话端口的表CPT ;2)如果网络应用的主端口在CPT中存在,并且没有设置FIN 标志,则执行步骤3)-6);否则执行步骤7) ;3)由分派函数指派相应的协议解析函数,对 负载进行协议分析;4)如果协议分析结果正确,则为该网络应用建立一个会话流,并且解 析出后续动态会话端口 ;否则,该网络应用视为其他应用;5)如果所述网络应用有二级控 制会话,则依据步骤3)和4)继续对负载进行协议分析,直至解析出数据会话端口 ;6)所 有属于二级控制会话和数据会话的网络包,都属于该网络应用的所述会话流;7)如果收到 Disconnect网络包,或者在一定的超时时间内会话流的数据包不再到达,则该会话流结束。所述基于网络关联算法识别将一些具有时间、空间属性相似性的网络应用相关 联,将获取的交互图与预定的应用协议相比较进行不吻合点匹配;所述于网络关联算法识 别应用加权流关联映射分组,将独立的网络应用按照关联管理组合成网络应用组,所述网 络应用组被认为是属于同一应用,所述加权流关联映射分组包括按照属性依赖关系进行 分组,将网络应用进行关联合并,形成PDG组;按照预定权重将在源、目的地址上存在关联 关系的PDG组进一步进行关联合并,形成LDG组。本发明还提出一种互联网的网络应用采集与分析系统,包括分类装置,根据通信 模式或会话结构,将互联网的网络应用采用的会话结构进行分类;逆向匹配装置,根据所述 分类的结果,所述网络应用与预定的应用协议进行不吻合点匹配;识别装置,当一个网络应 用与预定的应用协议的不吻合点的数量小于预定的门限值时,将该网络应用识别为采用所 述预定的应用协议的网络应用。所述逆向匹配装置包括基于端口识别的装置、基于特征码识别的装置、基于协议 解析算法识别的装置、基于网络关联算法识别的装置。本发明利用行为模式的逆向匹配,计算不吻合点的数量,只有不吻合点数量低于 一定值才认为是相同,大大提高了网络应用识别的准确性。


图1揭示了互联网的网络应用采集与分析方法的流程图2揭示了互联网的网络应用采集与分析系统的结构图。
具体实施例方式参考图1所示,揭示了互联网的网络应用采集与分析方法的流程图,该方法包括下述的步骤S1、根据通信模式或会话结构,将互联网的网络应用采用的会话结构进行分类;S2、根据分类的结果,采用下述识别方法中的一种或者多种将网络应用与预定的 应用协议进行不吻合点匹配,识别方法包括基于端口识别、基于特征码识别、基于协议解 析算法识别、基于网络关联算法识别;S3、当一个网络应用与预定的应用协议的不吻合点的数量小于预定的门限值时, 将该网络应用识别为采用所述预定的应用协议的网络应用。目前互联网上的新型网络应用纷繁复杂、协议繁多,且不断出现私有协议类应用, 再利用传统的基于公认端口或注册端口的方法识别流量的应用类型是存在许多不足和不 准确的。总结而言,目前互联网上常见的协议和应用见表1 表 1 分析以上这些网络应用的通信模式或会话结构,可以将这些网络应用采用的会话 结构分为以下几类,如表2所示表2 针对上述的几种不同会话结构的网络应用,可以采用的网络应用的识别方法包 括基于端口识别,对于Type S_F_2类型的应用,这种方法准确度较高;基于特征码识别,对于部分Type M_F_3和Type M_D_3类型的应用有效,但该方法 对机器性能要求高;基于协议解析算法识别,适合于Type M_D_2类型的应用;基于网络关联算法识别,适合于Type M_F_2、Type M_F_3和TypeM-D-3。基于端口的识别基于端口识别方法依据网络应用使用的端口识别应用类型,主要适用于识别使用 固定端口流量的协议及应用类型。这些协议及应用类型使用固定端口分三种情况使用IANA组织分配的公认端口,例如,web应用、e-maile-mai 1应用,DNS协议等。 公认端口(Well Known)主要由超级用户进程或特权用户程序使用,由IANA统一分配,在0 到1023之间;一些企业开发的专用协议或应用使用在IANA组织注册的登记端口,例如,MS SQL、 Oracle database等应用;登记端口 (Registered Ports)由普通用户进程使用,在1024到 49151之间;一些流行协议或应用也使用专用端口,尽管这些端口未在IANA组织注册,但我们 可以通过流量分析得到这些网络应用的常用端口。基于端口识别应用类型方法的优点是实现简单,但当前许多网络应用为了穿透防 火墙也经常使用公认端口或者使用动态端口,对于这些应用情况,不能使用端口方法识别 流量的应用类型。基于特征码识别基于特征码识别应用类型方法已广泛地应用于安全领域,例如,防病毒程序、入侵
7检测系统都是使用特征匹配技术发现已知病毒、已知网络攻击行为。类似地,可以将特征匹 配技术应用于识别网络应用量的应用类型。基于特征码识别是检查一个网络应用前几个数据包的负载部分,确定是否存在预 定义的应用特征码。应用特征码有两种类型,一般是固定长度字符串,另一种是可变长度字 符串,都用正规表达式表示。一些网络应用及其特征见表3:表 3 基于特征码识别的特点是不管网络应用使用什么端口,都可以准确流量的应用类 型。但特征码匹配开销很大,同时获取一个网络应用的唯一特征码需要大量的离线流量分 析。基于协议解析算法识别基于协议解析算法识别适用于识别一些使用动态端口的网络应用产生的流量。 比如,VoIP、流媒体、多媒体等网络应用。动态会话过程的特点是先通过一个公开的固定 端口建立一个控制会话(Control Session),在控制会话中协商出后面的数据会话(Data Session)的动态端口。有些应用则是在协商出数据会话的动态端口之前,还有一个二级控 制会话(Second Control Session)的端口协商过程。后者的典型应用如H. 323体系的多 媒体通信,这些应用除了关注流量和流向外,往往还需要连接时长、适用的何种音视频编解 码算法、音视频质量等信息,因此,就有必要对Payload进行解析。为分析上述网络应用,基于协议解析算法识别适用于使用动态端口的网络应用虚 包含下述的步骤1)建立一个描述控制会话端口的表(CPT);2)如果网络应用的网络包的主端口在CPT中存在,并且,没有设置FIN标志,则执 行3)-6);否则执行步骤7);3)由分派函数指派相应的协议解析函数,对负载进行协议分析;4)如果协议分析结果正确,则为该应用建立一个会话流(SessionFlow),并且解 析出后续动态会话(Dynamic Session)端口 ;否则,该网络包视为其他应用,参与其他应用的分析;5)如果所述网络应用有二级控制会话,则仿照3)、4)的步骤,继续进行负载分析, 直至解析出数据会话(Data Session)端口 ;6)所有属于二级控制会话和数据会话的网络包,都属于该应用的这个会话流;7)如果收到Disconnect的网络包,或者在一定的超时时间内会话流的数据包不 再到达,则该会话流结束。基于协议解析算法识别的特点是可以准确识别流量的应用类型,缺点是需要解析 信令数据包,处理开销较大,同时只适用于已知协议类型。基于网络关联算法识别基于单个网络应用识别应用类型的方法在当前网络应用更加复杂的情况下,不能 完全满足识别需要。例如P2P应用,在一个会话过程中可能同时建立多个网络应用,仅依赖 于单个网络应用识别应用类型是不完整的,有时是不准确的。例如,BT应用使用HTTP协议 下载数据,如果只依据单个HTTP网络应用识别应用类型,就会将流量应用类型识别为一种 Web应用。基于网络关联算法识别将一些具有时间、空间属性相似性的网络应用相关联,将 获取的交互图与已知网络应用的会话结构相比较而识别应用类型。这种方法可以更准确识 别网络应用量的应用类型,同时可以识别未知应用类型网络应用的应用类型。在基于网络关联算法识别的过程中,分析网络应用相关性采用加权流关联映射分 组(Weighted Session Flow Relationship Grouping,WSFRG)方法。加权流关联映射分组 将独立的网络应用(Flow)按照关联管理组合成网络应用组(Flow Group),这些网络应用 组被认为是属于同一种应用,算法分两个步骤第一步是按照属性依赖关系进行分组,称作Property DependencyGrouping (PDG), 将网络应用进行关联合并,称为PDG组第二步在第一步的基础上,按照一定权重将在源、目的地址上存在关联关系的PDG 组进一步进行关联合并,称为Location D印endencyGrouping(LDG),最后形成LDG组。经过上述两个步骤合并后的网络应用组的数目就少了很多,根据这些流组信息分 析应用类型,对于未知应用类型的流组,包含的信息也可以提供给离线的应用分析作为参考。参考图2所示,本发明还揭示了一种互联网的网络应用采集与分析系统,包括分类装置20,根据通信模式或会话结构,将互联网的网络应用采用的会话结构进 行分类;逆向匹配装置21,根据分类的结果,所述网络应用与预定的应用协议进行不吻合 点匹配,该逆向匹配装置21包括基于端口识别的装置30、基于特征码识别的装置31、基于 协议解析算法识别的装置32、基于网络关联算法识别的装置33 ;识别装置22,当一个网络应用与预定的应用协议的不吻合点的数量小于预定的门 限值时,将该网络应用识别为采用所述预定的应用协议的网络应用。本发明利用行为模式的逆向匹配,计算不吻合点的数量,只有不吻合点数量低于 一定值才认为是相同,大大提高了网络应用识别的准确性。
权利要求
一种互联网的网络应用采集与分析方法,其特征在于,包括根据通信模式或会话结构,将互联网的网络应用采用的会话结构进行分类;根据所述分类的结果,采用下述识别方法中的一种或者多种将所述网络应用与预定的应用协议进行不吻合点匹配,所述的识别方法包括基于端口识别、基于特征码识别、基于协议解析算法识别、基于网络关联算法识别;当一个网络应用与预定的应用协议的不吻合点的数量小于预定的门限值时,将该网络应用识别为采用所述预定的应用协议的网络应用。
2.如权利要求1所述的互联网的网络应用采集与分析方法,其特征在于,所述将互联网的网络应用采用的会话结构进行分类包括将网络应用采用的会话结构 分为下属类别"Type S-F-2”类型,具有单个会话、固定端口、使用2个主机;"Type M-F-2”类型,具有多个会话、固定端口、使用2个主机;"Type M-D-2”类型,具有多个会话、动态端口、使用2个主机;"Type M-F-3”类型,具有多个会话、固定端口、使用3个以上的主机;"Type M-D-3”类型,具有多个会话、动态端口、使用3个以上的主机。
3.如权利要求2所述的互联网的网络应用采集与分析方法,其特征在于,所述基于端 口识别依据网络应用使用的端口与预定的应用协议进行不吻合点匹配,所述基于端口识别 适用于使用固定端口的网络应用;所述基于端口识别识别的端口包括由IANA组织分配的公认端口、在IANA组织注册的 登记端口、未在IANA组织注册但通过流量分析得到的常用端口。
4.如权利要求2所述的互联网的网络应用采集与分析方法,其特征在于,所述基于特 征码识别检查一个网络应用前几个数据包的负载部分,确定是否存在预定义的应用特征 码,并以次为依据与预定的应用协议进行不吻合点匹配;所述特征码包括固定长度字符串、或者可变长度字符串,所述固定长度字符串或可变 长度字符串用正规表达式表示。
5.如权利要求2所述的互联网的网络应用采集与分析方法,其特征在于,所述基于协 议解析算法识别适用于使用动态端口的网络应用,进一步包括1)建立描述控制会话端口的表CPT;2)如果网络应用的主端口在CPT中存在,并且没有设置FIN标志,则执行步骤3)-6); 否则执行步骤7);3)由分派函数指派相应的协议解析函数,对负载进行协议分析;4)如果协议分析结果正确,则为该网络应用建立一个会话流,并且解析出后续动态会 话端口 ;否则,该网络应用视为其他应用;5)如果所述网络应用有二级控制会话,则依据步骤3)和4)继续对负载进行协议分析, 直至解析出数据会话端口;6)所有属于二级控制会话和数据会话的网络包,都属于该网络应用的所述会话流;7)如果收到Disconnect网络包,或者在一定的超时时间内会话流的数据包不再到达, 则该会话流结束。
6.如权利要求2所述的互联网的网络应用采集与分析方法,其特征在于,所述基于网络关联算法识别将一些具有时间、空间属性相似性的网络应用相关联,将获取的交互图与 预定的应用协议相比较进行不吻合点匹配;所述于网络关联算法识别应用加权流关联映射分组,将独立的网络应用按照关联管理 组合成网络应用组,所述网络应用组被认为是属于同一应用,所述加权流关联映射分组包 括按照属性依赖关系进行分组,将网络应用进行关联合并,形成PDG组; 按照预定权重将在源、目的地址上存在关联关系的PDG组进一步进行关联合并,形成 LDG 组。
7.—种互联网的网络应用采集与分析系统,其特征在于,包括分类装置,根据通信模式或会话结构,将互联网的网络应用采用的会话结构进行分类;逆向匹配装置,根据所述分类的结果,所述网络应用与预定的应用协议进行不吻合点 匹配;识别装置,当一个网络应用与预定的应用协议的不吻合点的数量小于预定的门限值 时,将该网络应用识别为采用所述预定的应用协议的网络应用。
8.如权利要求7所述的网络应用采集与分析系统,其特征在于,所述逆向匹配装置包括基于端口识别的装置、基于特征码识别的装置、基于协议解析算法识别的装置、基于网 络关联算法识别的装置。
全文摘要
本发明揭示了一种互联网的网络应用采集与分析方法,包括根据通信模式或会话结构,将互联网的网络应用采用的会话结构进行分类;根据分类的结果,采用下述识别方法中的一种或者多种将所述网络应用与预定的应用协议进行不吻合点匹配,识别方法包括基于端口识别、基于特征码识别、基于协议解析算法识别、基于网络关联算法识别;当一个网络应用与预定的应用协议的不吻合点的数量小于预定的门限值时,将该网络应用识别为采用所述预定的应用协议的网络应用。本发明还揭示了一种互联网的网络应用采集与分析系统。
文档编号H04L29/06GK101854330SQ20091004876
公开日2010年10月6日 申请日期2009年4月2日 优先权日2009年4月2日
发明者周向阳, 张晓初, 杨瑞君, 胡申明 申请人:上海互联网络交换中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1