用于内容类型分类的系统和方法

文档序号:7649776阅读:240来源:国知局
专利名称:用于内容类型分类的系统和方法
技术领域
本发明涉及计算机系统和计算机网络,尤其涉及用于对计算机和网络流量分类的系统和方法。
背景技术
很多数据处理系统在对数据进行进一步处理之前都需要判断数据内容类型。例如,诸如反病毒系统和反垃圾邮件系统的恶意内容检测系统中,通常需要在进行恶意内容扫描之前对接收的数据进行分类。入侵检测/防护系统、基于应用层的流量控制设备或者负载平衡设备、IM代理以及程序加速器也需要对数据进行分类。如果数据被分类为skype数据,那么内容检测模块将应用一套算法对数据进行恶意内容扫描。另一方面,如果数据被分类为bittorrent数据,那么内容检测模块将应用一套不同的算法对数据进行恶意内容扫描。因此,在扫描数据之前判断数据内容类型是很重要的步骤。
现有系统通过数据传输使用端口的端口号来判断内容类型。例如,用于HTTP协议的公知端口是“80”,用于SMTP协议的公知端口是“25”,以及用于POP3协议的公知端口是“110”。在这种系统中,特定类型的数据使用专用的端口传输。因此,通过判断数据传输使用端口的端口号,以及知道与该端口号关联的内容类型,系统就可以判断数据内容类型。然而,这种方法的局限是一个端口只能传输一种类型数据。很多情况下,用户希望能允许一个端口传输不止一种类型的数据。如果通过一个不是该数据类型专用的端口传输数据(比如端口允许传输不止一种类型的数据),现有系统就不能判断内容类型。
而且,一些类型的数据,比如IM数据和P2P数据,不能通过某一特定端口传输,而是通过不同的端口来传输。这种情况下,现有系统就不能使用端口号来对IM数据和P2P数据进行分类。

发明内容
根据一些实施例,一种用于判断内容类型的方法,包括接收第一数据包,判断第一数据包或者与第一数据包相关的会话的分类状态,接收第二数据包,并根据至少部分已判断的状态判断第二数据包的内容类型。上述说明中使用的,所述“第一数据包”指会话中任何一个数据包(比如它可以是会话中第一个、第二个、第三个、第四个等等数据包),并不特指会话中的第一个数据包(虽然它可以指的是会话中的第一个数据包)。类似地,上述说明中使用的,所述“第二数据包”指会话中不同于第一数据包的任何一个数据包(比如它可以是会话中第一个、第二个、第三个、第四个等等数据包)。
根据其他实施例,一种计算机产品包括计算机可读介质,该计算机可读介质中存储了一套指令,运行这些指令将执行操作处理,该处理包括接收第一数据包,判断第一数据包或者与第一数据包相关的会话的分类状态,接收第二数据包,并根据至少部分已判断的状态判断第二数据包的内容类型。
根据其他实施例,一种用于判断内容类型的系统,包括用于接收第一数据包和第二数据包的设备,用于判断第一数据包或者与第一数据包相关的会话的分类状态的设备,以及用于根据至少部分已判断的状态判断第二数据包的内容类型的设备。
根据其他实施例,一种用于判断内容类型的方法,包括接收与会话相关的数据包,判断会话或者与会话相关的其他数据包的内容类型是否已经判断,并根据至少部分来自判断操作的结果对该数据包的内容类型进行分类。
根据其他实施例,一种计算机产品,包括计算机可读介质,该计算机可读介质存储了一套指令,运行这些指令将执行操作处理,该处理包括接收与会话相关的数据包,判断会话或者与会话相关的其他数据包的内容类型是否已经判断,并根据至少部分来自判断操作的结果对该数据包的内容类型进行分类。
根据其他实施例,一种用于判断内容类型的系统,包括用于接收与会话相关的数据包的设备,用于判断会话或者与会话相关的其他数据包的内容类型是否已经判断的设备,以及用于根据至少部分来自判断操作的结果对该数据包的内容类型进行分类的设备。
根据其他实施例,用于判断内容类型的方法包括从第一端口接收第一数据包,第一端口用于接收至少两种类型的内容,以及判断第一数据包或者与第一数据包相关的会话的内容类型。
根据其他实施例,计算机产品包括计算机可读介质,该计算机可读介质存储了一套指令,运行这些指令执行操作处理,该处理包括从第一端口接收第一数据包,第一端口用于接收至少两种类型的内容,以及判断第一数据包或者与第一数据包相关的会话的内容类型。
根据其他实施例,用于判断内容类型的系统包括用于从第一端口接收第一数据包的设备,第一端口用于接收至少两种类型的内容,以及用于判断第一数据包或者与第一数据包相关的会话的内容类型的设备。
根据其他实施例,用于判断内容类型的方法包括接收与会话相关的数据包,以及判断该数据包或者该会话的分类状态。
根据其他实施例,计算机产品包括计算机可读介质,该计算机可读介质存储了一套指令,运行这些指令执行操作处理,该处理包括接收与会话相关的数据包,以及判断该数据包或者该会话的分类状态。
根据其他实施例,用于判断内容类型的系统包括用于接收与会话相关的数据包的设备,以及用于判断该数据包或者该会话的分类状态的设备。
通过阅读随后优选实施例的详细说明,本发明的其他方面和特性将是显而易见的,这些优选实施例用于解释但不限制本发明。


附图描述了各种实施例的设计和应用,其中相似的组件使用相同的编号注明。参照具体实施例将进行更加具体的描述,这些实施例将在附图中示出。应该理解,这些附图并不用于限制本发明范围,下面将通过附图详细描述和解释这些实施例的附加特征和细节。
图1是根据本发明实施例包含用于分类数据的模块的系统的框图;图2是根据本发明实施例用于分类数据的方法示意图;图3A至图3I是根据本发明实施例用于判断内容类型的标准的示例图;图4是根据本发明实施例,使用图2的方法得到的结果的示例图;图5是实现上述实施例的计算机硬件系统的框图。
具体实施例方式
下面参照附图介绍各种实施例。应该注意的是,附图并没有按照比例绘制,而且相似结构或者功能的组件在全部图中使用相同的编号注明。也应该注意的是,附图仅仅用于帮助具体实施例的说明,而不用于详尽说明本发明的所有实施例,也不用于限制本发明的范围。另外,所述实施例不需要具有所示发明的所有方面或者优点。与具体实施例相关的所述方面或者优点并不限于该实施例,也可以在其他任何,甚至为示出的实施例中实现。
图1所示为系统100的框图,包括数据分类模块110,用于根据实施例对数据的内容类型进行分类。发送端102向模块110发送与网络流量内容相关的数据。模块110接收传输的数据,判断网络流量数据所属的内容类型(比如对数据进行分类),并生成结果,比如消息,并将该消息发送到接收端104。发送到接收端104的消息通知接收端104接收的数据所属的内容类型。如上述说明中所用,所述“接收端”不应该限于自然人接收者,而且可以包括服务器或者其他类型可以接收信息的设备。例如,在一些实施例中,接收端104是诸如反病毒模块的恶意内容检测模块,该模块根据模块110判断的内容类型检测恶意内容。同样,如上述说明中所用,所述“发送端”不应该限于自然人发送端,而且可以包括服务器或者其他类型可以传输信息的设备。
在一些实施例中,模块110可以使用软件实现。比如,模块110可以用加载到用户计算机、服务器或者诸如磁盘或CD-ROM的其他类型存储器中的软件来实现。在一些情况下,模块110可以通过web应用程序来实现。在其他实施例中,模块110可以使用硬件来实现。例如,在一些实施例中,模块110包括专用集成电路(Application-Specific Integrated Circuit,ASIC),比如半定制ASIC处理器或者可编程ASIC处理器。各种ASIC,如迈克.J.S.史密斯所著,Addison-Wesley出版社出版的《Application-Specific Integrated Circuits》(1997年6月第一版)中描述的有关专用集成电路信息,是电路设计领域中公知的,因此本文不做详细说明。在其他实施例中,模块110可以是能够执行上述功能的任何电路设备。例如,在可选实施例中,模块110可以包括通用处理器,比如奔腾处理器。在其他实施例中,模块110可以通过软件和硬件结合的方式来实现。在一些实施例中,模块110可以作为防火墙、防火墙的组件或者通过配置与防火墙连接的组件来实现。
图2所示为根据实施例,用于分类数据的方法200。首先,模块110接收数据包形式的网络流量数据(步骤202)然后,模块110判断接收包为会话S(步骤204)。会话是两个通信端点之间的交互或者一系列的交互。可以使用各种技术判断会话。例如,模块110通过配置可以判断一个或者多个源IP地址、目标IP地址、源端口、目标端口和协议,从而判断接收包的会话。判断会话的技术是本领域内公知的,本文中不再详细描述。
然后,模块110判断会话S(以及与会话S相关的数据包)的内容类型是否已经判断(步骤205)。在所示实例中,模块110处理的每个会话(比如会话S)都会自动分配一个分类初始状态,“未知”(例如内容类型被初始判断为“未知”)。这种情况下,在步骤205中,模块110判断会话S除“未知”之外的内容类型。如果已经判断会话S除“未知”类型之外的内容类型,然后模块110将数据包分类为与已分类的会话S相同的类型,并且该方法返回到步骤202处理其他数据包,如果有的话(步骤206)。在一些实施例中,对数据包进行分类(判断数据包内容类型)可以通过关联数据包和已分类的会话S来实现。
另一方面,如果会话S的内容类型(除“未知”类型外)没有预先判断,那么模块110就分析接收包以判断内容类型(步骤207)。如果已经判断接收包的内容类型(除“未知”类型外),然后模块110就将接收包(或者与其相关的会话S)分类为已判断内容类型(步骤208)。如果还有其他数据包,那么模块110就接收其他数据包,并重复操作200处理其他数据包。
或者,如果在步骤207之后,内容类型仍然是“未知”(比如因为数据包的分析结果提供了不确定的结果),那么模块110就接收与相同会话S相关的其他数据包,并分析其他数据包以判断会话S中传输的数据内容类型(重复步骤202-207,或者步骤202和207),直到判断会话S为除“未知”之外的内容类型。
如上述实施例所示,在步骤202中模块110接收数据包,在步骤207中分析数据包,以及重复这两个步骤直至确定传输数据包的会话内容类型。模块110可以判断的内容类型的示例包括skype、gnutella、kazaa、edonkey、bittorrent、aim、yahoo、msn、icq、qq、http、smtp、pop3、imap、ftp、bo2k、bo、tfn、tfn2k、ldap、radius、ms、rpc、snmp、mssql、mysql和oracle。可以使用各种技术分析接收包以判断会话中传输的数据包内容类型。例如,模块110通过配置可以检测数据包的一项或者多项特性,如数据包容量、接收该数据包端口的端口号、传输数据包中是否使用了代理、数据包传输的方向(如从客户端到服务器或者从服务器到客户端)、字符串模式、数据包的排序和/或其他协议特性。
下面介绍几种用于分析数据包以判断内容类型的技术示例。然而,应该理解的是,模块110并不限于使用本文中所述示例,模块110可以使用其他算法、技术或者标准以执行本文中所述的功能。图3A所示为用于判断常规端口传输的数据包是否是skype数据的标准示例。如示例所示,模块110通过配置可以检测从客户端向服务器传输的第一数据包,并判断第一数据包是否有规定的数据包容量(示例中规定数据包容量=14)。如果有效负载容量与规定的数据包容量相匹配,那么模块110就确定该会话是skype类型的候选。然而,由于结果还没有确定,模块110仍然将会话分类为“未知”。然后模块110判断从服务器到客户端的第二数据包的有效负载容量,并判断该容量是否满足规定的标准(在示例中规定标准是28-36)。如果不匹配(如第二数据包容量与规定容量标准不匹配),那么模块110就确定该会话不是skype类型,而且在相同会话中接收的任何其他数据包都不被认为是skype类型。然而,如果匹配的话,模块110仍然将会话判断为skype类型候选,并保持分类状态为“未知”。然后模块110判断从客户端到服务器的第三数据包的有效负载容量,并判断数据包容量是否与规定容量标准(在示例中规定容量标准=14)相匹配。如果匹配的话,那么模块110就确定该会话中传输的数据包是skype数据。
图3B所示为用于判断在http端口中传输的数据是否是skype数据的标准的示例。图3C所示为用于判断在ssl端口中传输的数据是否是skype数据的标准的示例。图3D所示为用于判断UDP流量数据是否是skype数据的标准的示例。
图3E所示为用于识别Yahoo!信使流量(通过常规Yahoo登录)的标准的示例。在这种情况下,模块110并不去判断数据包的容量,而是通过配置检测内容和字符串模式。如示例中所示,两个数据包用于判断流量数据是Yahoo!信使流量。图3F所示为用于识别Yahoo!信息流量(通过http代理)的标准的示例。如示例中所示,三个数据包用于判断流量数据是Yahoo!信使流量。
图3G所示为用于判断msn信使的标准的示例。在这种情况下,模块110通过配置检测有效负载中的有效负载容量和模式。如示例中所示,六个数据包用于判断流量数据是msn信使流量。
图3H所示为用于判断bittorrent数据的标准的示例。如示例中所示,两个数据包用于判断流量数据是bittorrent数据。
图3I所示为用于判断kazaa数据的标准的示例。如示例中所示,两个数据包用于判断流量数据是kazaa流量。
如上述示例所示,对会话中不止一个数据包进行检测的优点就是增加了准确性,并减少了误测。
应该注意的是,模块110并不限于使用上述示例中的标准,在其他实施例中模块110可以使用其他标准判断内容类型。在一些实施例中,提供了用户界面,从而允许管理员选择用于判断内容类型的标准或者参数。例如,模块110可以允许管理员输入数据包容量、端口号、规定字符串模式、分类符以及用于判断内容类型的其他参数。在一些实施例中,用户界面也允许管理员创建自定义标准以检测特定内容类型。
图4所示为使用图2中程序200得到的结果的示例。模块110接收数据包P11(步骤202)之后,模块110判断数据包P11与会话S1相关(步骤204)。数据包P11是会话S1中的第一数据包,没有被预先分类。模块110处理数据包P11并试图判断内容类型(例如试图分类会话/数据包)(步骤207)。在示例中,对数据包P11的分析显示数据包P11可能是内容类型T1、T2和T3中的一种,从而提供了一种不确定的结果。因此,会话S1的内容类型仍然是“未知”(比如分类状态为“未知”同时T1、T2和T3作为可能选项)。
然后模块110接收另一个数据包P12(步骤202),并判断数据包P12与相同的会话S1相关(步骤204)。模块110判断会话S1并为分类(步骤205),并处理数据包P12,试图判断其内容类型(步骤207)。在示例中,对数据包P12的分析显示会话S1中传输的数据不属于T2内容类型(比如P12的数据包容量与类型T2的规定标准不相匹配),因此,可能是剩下的两种内容类型T1和T3中的一种。因为内容类型判断是不确定的,因此会话S1的内容类型仍然是“未知”(比如分类状态是“未知”同时T1和T3作为可能选项)。
然后模块110接收另一个数据包P13(步骤202),并判断数据包P13与同样的会话S1相关(步骤204)。模块110判断会话S1并为分类,并处理数据包P13,试图判断其内容类型。在示例中,对数据包P13的分析显示会话S1传输的数据是T3内容类型。因此,模块110将会话S1(以及与其相关的数据)内容类型分为T3(步骤208)。这种情况下,会话S1的分类状态从“未知”变为“已分类”,并且分类的内容类型是T3。
然后模块110接收另一个数据包P14(步骤202),并判断数据包P14与相同的会话S相关(步骤204)。模块110判断会话S1已经分类(步骤205),因此,将数据包P14分类为T3类型(步骤206)。如示例中所示,在会话S1分类之后,所有后续接收的数据包(如数据包P14和P15)都将被模块110分类为T3类型,并且模块110不需要分析这些后续数据包(步骤207)。在其他实施例中,模块110可以通过配置在会话已分类之后检查一个或者多个其他数据包。这样做的好处是增加了分类步骤的准确性,从而防止错误分类。
在某些情况下,根据判断内容类型的所用的标准,模块110可以做到使用一个数据包对会话进行分类。如图4所示,模块110接收数据包P21(步骤202)之后,模块110判断数据包P21与会话S2相关(步骤204)。因为数据包P21是会话S2中的第一数据包,因此会话S2并未分类。模块110处理数据包P21并试图判断其内容类型(比如试图分类会话/数据包)(步骤207)。在示例中,对数据包P21的分析显示会话S2中传输的数据是内容类型T2。因此,模块110将会话S2(以及其相关数据)内容类型分类为T2类型(步骤208)。这种情况下,会话S2的分类状态从“未知”变为“已分类”,所分内容类型为T2。
然后模块110接收另一个数据包P22(步骤202),并且判断数据包P22与相同的会话S2相关(步骤204)。模块110判断会话S2已经分类(步骤205),因此将数据包P22分类为T2类型(步骤206)。如示例中所示,会话S2分类之后,所有后续接收的数据包(比如数据包P22和P23)都将被模块110分类为T2类型,并且模块110不需要分析这些后续数据包(如步骤207中)。在其他实施例中,模块110通过配置在会话已经分类之后可以检查一个或者多个其他数据包。这样做的好处是增加了分类步骤的准确性,从而防止错误分类。
如上述示例中所示,模块110判断会话的内容类型之后,相同会话中接收的任何其他数据包都将被分类为相同的内容类型(步骤206)。这种情况下,除了判断会话与后续数据包相关,模块110不需要分析这些后续数据包。这种技术的优势在于可以不用消耗很多资源对相同会话中随后接收的数据包进行分类。而且,如上述示例中所示,如果模块110判断会话不属于某种内容类型,那么该内容类型将从该会话的候选选项中排除。这种技术允许模块110更有效地对会话进行分类(因此在后续处理中仅仅考虑剩余候选选项)。
在本文所述的任何实施例中,模块110通过配置可以接收与不止一个会话(如S1、S2)相关的数据包。在这种情况下,模块110可以包括多个处理模块,用于处理与相同会话相关的数据包。
而且,在一些实施例中,模块110可以包括用于接收数据包的多个端口,其中每个端口通过配置可以接收多种数据。使用上述内容类型检测技术的优势在于,模块110不使用接收数据包端口的端口号分析数据包以判断内容类型。反过来,允许模块110的一个端口接收多种类型的数据。在其他实施例中,模块110中的一个或者多个端口通过配置可以接收一种类型数据。这种情况下,分配用来接收一种类型数据的端口,可以用来接收具有通过分析数据包相对较难检测的类型的数据。例如,如果模块110中端口R1分配用来接收T1类型的数据,而端口R2通过配置用来接收任何类型的数据,那么从端口R1接收的数据将被自动分类为T1类型,而端口R2接收的数据将使用图2中方法200进行处理。在进一步实施例中,模块110的一个端口可以分配用来接收不止一种规定类型的数据。例如,模块110的端口R3可以分配用来接收T2、T4和T5类型的数据。这种情况下,端口R3接收的数据将被模块110使用图2中程序200进行分析,同时T2、T4和T5作为候选选项(例如其他类型T1、T3自动排除作为候选选项)。这种技术的好处是改善了模块110的处理时间。
在其他实施例中,除了判断会话中传输数据的内容类型,模块110通过配置可以根据已判断的内容类型进一步处理数据。例如,在一些实施例中,模块110通过配置可以根据已判断的内容类型进行内容过滤、反病毒检测或者其他入侵检测。许多入侵检测方案都需要在应用某种入侵检测算法之前判断内容类型。例如,如果模块110判断所接收的数据属于内容类型T1,然后模块110应用入侵检测算法A1、A3和A4对数据进行扫描。另一方面,例如,如果模块110判断所接收的数据属于内容类型T2,然后模块110应用入侵检测算法A2、A4和A6。
而且,在进一步实施例中,除了判断会话中传输数据的内容类型,模块110通过配置可以根据已判断的内容类型控制网络流量传输。例如,模块110通过配置可以屏蔽HTTP请求,从而防止不良内容,比如包含不良内容的网页传输到接收端104。在其他情况下,模块110可以根据已判断的网络流量内容特性丢弃网络流量内容,或者修改网络流量内容,从而只允许部分内容传送到接收端104。在一个应用程序中,模块110可以用于识别IM会话或者P2P会话(在传统系统中,这两种会话可以进入任意端口)。这种情况下,模块110可以建立IM会话或者P2P会话代理,并且监视和/或控制会话内容。
计算机架构如上所述,模块110可以通过使用软件、硬件或者软硬件结合的方式来实现。然而,本领域的技术人员应该知道,计算机系统也可以用于实现模块110,从而执行上述功能。图5所示为实现方法200实施例的计算机系统500的实施例的框图。计算机系统500包括用于交互信息的总线502或者其他通信装置,以及与总线502相连用于信息处理的处理器504。计算机系统500还包括主存储器506,比如随机访问存储器(RAM)或者其他动态存储设备,与总线502相连用于存储处理器504执行的信息和指令。主存储器506也可以用于存储处理器504执行指令过程中的临时变量或者其他中间信息。计算机系统500进一步包括与总线502相连的只读存储器(ROM)508或者其他静态存储设备,用于存储处理器504的静态信息和指令。与总线502相连的数据存储设备510,比如磁盘或者光盘,用于存储信息和指令。
计算机系统500通过总线502与诸如阴极射线管(CRT)的显示器512相连,用于向用户(比如接收端104)显示信息。输入设备514包括文字数字和其他键,与总线502相连用于与处理器504通信和进行命令选择。另一种用户输入设备为光标控制516,比如鼠标、轨迹球或者光标方向键,用于与处理器504通信和进行命令选择以及控制光标在显示器512上的移动。这种输入设备典型地具有两维自由度,第一轴(如x)和第二轴(如y),能够允许设备在平面内定位。
计算机系统500可以用于处理网络流量内容。根据本发明实施例,计算机系统500通过响应处理器504执行存储在主存储器506中的一项或者多项指令的一个或者多个序列,提供这种用途。这些指令可以从其他计算机可读介质,比如存储设备510,读入主存储器506中。主存储器506中的指令序列的执行使处理器504执行上述处理步骤。多处理配置中的一个或者多个处理器可以用于执行主存储器506中的指令序列。在另一个实施例中,硬线电路可以用于替换或者与软件指令组合来实现上述实施例。这样,上述实施例不限于任何硬线电路与软件的具体组合。
上述使用的所述“计算机可读介质”是指任何用于向处理器504提供所执行指令的介质。这种介质有很多形式,包括但不限于,非易失性介质、易失性介质和传输介质。非易失性介质包括,例如,诸如存储设备510的光盘或者磁盘。易失性介质包括动态存储器,比如主存储器506。传输介质包括同轴光缆、铜线和光纤,包括组成总线502的线缆。传输介质也可以是声波或者光波的形式,比如无线或者红外数据通信产生的波。
计算机可读介质的一般形式包括,例如,软盘、软碟、硬盘、磁带或者任何其他磁性介质,CD-ROM,任何其他光学介质,打孔卡片、纸带,任何其他有孔的物理介质,RAM、PROM和EPROM、FLASH-EPROM,任何其他记忆片或者卡盘,如上所述的载波或者任何其他计算机可读的介质。
各种形式的计算机可读介质可以承载处理器504执行的一项或者多项指令的一个或者多个序列。例如,指令最初存储在远程计算机磁盘中。远程计算机可以下载指令到其动态内存中并使用调制解调器通过电话线发送指令。计算机系统500的本地调制解调器可以接收电话线上的数据并使用红外转换器将数据转换成红外信号。与总线502相连的红外监测器可以接收红外信号加载的数据并将数据置于总线502上。总线502将数据传输到主存储器506,处理器504从主存储器506获取指令并执行。主存储器506接收的指令可能随意地在处理器504执行之前或者之后存储在存储设备510中。
计算机系统500还包括与总线502相连的通信接口518。通信接口518提供与连接到本地网络522的网络链路520的双向数据通信。例如,通信接口518可以是提供到相应类型电话线的数据通信连接的综合业务数字网(ISDN)卡或者调制解调器。另外的示例中,通信接口518可以是提供到兼容局域网的数据通信连接的局域网(LAN)卡。也可以应用无线链路。在上述任何应用中,通信接口518发送和接收载有表示各种类型信息的数据流的电子、电磁或者光信号。
网络链路520典型地通过一个或者多个网络提供到其他设备的数据通信。例如,网络链路520可以通过本地网络522提供到主机524的连接。网络链路520也可以在设备526和通信接口518之间传输数据。网络链路520传输的数据流包括电子、电磁或者光信号。通过各种网络的信号以及网络链路520上的和通过通信接口518的信号,加载有进出计算机系统500的数据,这是载波传输信息的示范形式。计算机系统500可以通过网络、网络链路520以及通信接口518发送消息和接收数据,包括程序代码。虽然示出了网络链路520,但是在另一个实施例中,通信接口518可以提供连接到多个网络的链路,每个链路连接到一个或者多个本地网络。在一些实施例中,计算机系统500可以从一个网络接收数据并发送该数据到另一个网络。计算机系统500可以在向另一个网络传输该数据之前处理和/或修改该数据。
虽然示出并描述了具体实施例,但是应该理解,这些优选实施例并不用于限制本发明,而且在不背离本发明精神及其实质的情况下,熟悉本领域的普通技术人员当可根据本发明做出各种改变和变形。例如,在其他实施例中,模块110执行的一项或者多项功能可以通过使用一个或者多个处理又或者一个或者多个软件来实现。而且,在另外的实施例中,可以组合处理程序200的两个或者更多步骤。在其他实施例中,处理程序200的任何步骤可以进一步分解为多个子步骤。在进一步实施例中,模块100不需要执行处理程序200的所有步骤。从而,说明和附图用于解释本发明,而不是限制本发明。本发明旨在涵盖在权利要求定义的本发明精神及其实质的情况下,变形、修改和具有同等功能的实施例。
权利要求
1.一种判断网络内容类型的方法,包括接收第一数据包;判断所述第一数据包或者与所述第一数据包相关的会话的分类状态;接收第二数据包;和根据至少部分已判断的状态判断所述第二数据包的内容类型。
2.根据权利要求1所述的方法,其特征在于,所述分类状态包括未知状态。
3.根据权利要求2所述的方法,其特征在于,使用所述第一和第二数据包判断所述第二数据包的内容类型。
4.根据权利要求1所述的方法,其特征在于,所述分类状态显示所述第一数据包或者所述会话所属的内容类型。
5.根据权利要求4所述的方法,其特征在于,通过关联所述第二数据包和所述会话来判断所述第二数据包的所述内容类型。
6.根据权利要求1所述的方法,其特征在于,所述分类状态显示所述第一数据包或者所述会话没有被识别为另一个内容类型。
7.根据权利要求6所述的方法,其特征在于,通过排除所述第二数据包的其他候选内容类型来判断所述第二数据包的所述内容类型。
8.根据权利要求1所述的方法,其特征在于,从用于接收至少两种类型内容的端口接收所述第一数据包。
9.根据权利要求1所述的方法,其特征在于,所述第二数据包是与所述会话相关的。
10.一种计算机产品包括计算机可读介质,所述计算机可读介质存储了一套指令,运行这些指令将执行操作处理,所述处理包括接收第一数据包;判断所述第一数据包或者与所述第一数据包相关的会话的分类状态;接收第二数据包;和根据至少部分已判断的状态判断所述第二数据包的内容类型。
11.一种用于判断内容类型的系统,包括用于接收第一数据包和第二数据包的设备;用于判断所述第一数据包或者与所述第一数据包相关的会话的分类状态的设备;用于根据至少部分已判断的状态判断所述第二数据包内容类型的设备。
12.一种用于判断内容类型的方法,包括接收与会话相关的数据包;判断所述会话或者与所述会话相关的另一个数据包的内容类型是否已经确定;根据至少部分所述判断操作的结果对所述数据包内容类型进行分类。
13.根据权利要求12所述的方法,其特征在于,所述会话或者其他数据包的所述内容类型已经确定。
14.根据权利要求13所述的方法,其特征在于,所述会话或者其他数据包的所述内容类型未被确定,那么所述方法进一步包括接收一个或者更多其他数据包。
15.根据权利要求14所述的方法,其特征在于,分类所述数据包的所述操作包括分析所述一个或者更多其他数据包中的一个,以判断该数据包是否满足规定标准。
16.一种计算机产品包括计算机可读介质,所述计算机可读介质存储了一套指令,运行这些执行将执行操作处理,所述处理包括接收与会话相关的数据包;判断所述会话或者与所述会话相关的另一个数据包的内容类型是否已经确定;根据至少部分所述判断操作的结果对所述数据包内容类型进行分类。
17.一种用于判断内容类型的系统,包括用于接收与会话相关的数据包的设备;用于判断所述会话或者与所述会话相关的另一个数据包的内容类型是否已经判断的设备;和用于根据至少部分所述判断操作的结果对所述数据包内容类型进行分类的设备。
18.一种用于判断内容类型的方法,包括从第一端口接收第一数据包,所述第一端口用于接收至少两种类型内容;和判断所述第一数据包或者与所述第一数据包相关的会话的内容类型。
19.根据权利要求18所述的方法,其特征在于,判断所述内容类型将不使用与所述第一端口相关的端口号。
20.根据权利要求18所述的方法,其特征在于,通过分析所述第一数据包判断所述内容类型。
21.根据权利要求20所述的方法,其特征在于,所述分析所述第一数据包的操作包括判断与所述第一数据包相关的特性,所述特性选自包括字符串模式、会话标识符、数据包容量和端口号的组。
22.根据权利要求18所述的方法,进一步包括接收第二数据包,其特征在于,通过使用所述第一和第二数据包判断所述内容类型。
23.根据权利要求22所述的方法,其特征在于,判断所述内容类型的方法包括判断所述第一数据包的特性是否与第一标准相匹配;和判断所述第二数据包的特性是否与第二标准相匹配。
24.一种计算机产品包括计算机可读介质,所述计算机可读介质存储了一套指令,运行这些指令将执行操作处理,所述处理包括从第一端口接收第一数据包,所述第一端口用于接收至少两种类型数据;和判断所述第一数据包或者与所述第一数据包相关的会话的内容类型。
25.一种用于判断内容类型的系统,包括用于从第一端口接收第一数据包的设备,所述第一端口用于接收至少两种类型数据;和用于判断所述第一数据包或者与所述第一数据包相关的会话的内容类型的设备。
26.一种用于判断内容类型的方法,包括接收与会话相关的数据包;和判断所述数据包或者所述会话的分类状态。
27.根据权利要求26所述的方法,其特征在于,所述分类状态表示所述数据包或者所述会话已经被分类。
28.根据权利要求26所述的方法,其特征在于,所述分类状态表示所述数据包或者所述会话不属于第一内容类型。
29.根据权利要求28所述的方法,其特征在于,所述分类状态进一步表示两种或者更多内容类型作为分类所述数据包或者所述会话的候选选项。
30.根据权利要求26所述的方法,其特征在于,所述分类状态表示两种或者更多内容类型作为分类所述数据包或者所述会话的候选选项。
31.一种计算机产品包括计算机可读介质,所述计算机可读介质存储了一套指令,运行这些指令执行操作处理,所述处理包括接收与会话相关的数据包;和判断所述数据包或者所述会话的分类状态。
32.一种用于判断内容类型的系统,包括用于接收与会话相关的数据包的设备;和用于判断所述数据包或者所述会话的分类状态的设备。
全文摘要
一种用于判断内容类型的方法,包括接收第一数据包,判断该第一数据包或者与该第一数据包相关的会话的分类状态,接收第二数据包,以及根据至少部分已判断的状态判断该第二数据包的内容类型。一种用于判断内容类型的方法包括接收与会话相关的数据包,判断该会话或者与该会话相关的另一个数据包的内容类型是否已判断,以及根据至少部分该判断操作的结果分类该数据包内容类型。一种用于判断内容类型的方法包括从第一端口接收第一数据包,该第一端口用于接收至少两种类型内容,以及判断该第一数据包或者与该第一数据包相关的会话的内容类型。一种用于判断内容类型的方法包括接收与会话相关的数据包,以及判断该数据包或者该会话的分类状态。
文档编号H04L29/06GK101014016SQ20071008027
公开日2007年8月8日 申请日期2007年2月15日 优先权日2006年2月16日
发明者魏少红, 陈忠强, 吴坪, 段刚 申请人:飞塔信息科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1