网络会话中UDP报文的检测方法及装置与流程

文档序号:11710015阅读:306来源:国知局
网络会话中UDP报文的检测方法及装置与流程

本发明实施例涉及通信技术领域,尤其涉及一种网络会话中udp报文的检测方法及装置。



背景技术:

传输控制协议(transmissioncontrolprotocol,tcp)/网络互连协议(internetprotocol,ip)是互联网的基础,其中网络中的常用的传输层协议包括tcp和udp。与tcp相比,udp更为轻量,使得在数据传输时采用udp的传输效率往往更高,但由于udp的错误校验位较少,使得在采用udp传输数据时的可靠性比tcp低。根据tcp和udp各自的特点,通常在游戏、流媒体以及网络电话(voiceoverinternetprotocol,voip)等应用均采用udp,而网页、邮件、远程登录等大部分的应用均采用tcp。

近年来,对等网络(peer-to-peer,p2p)的用户规模、应用类型和流量均呈爆发式增长。因为p2p使用多线程多主机或服务器间的连接,可以把网络带宽利用到极限。基于各种p2p协议的网络流量飞速增长并占据了大部分的网络带宽。因此,在很多情况下,对p2p流量的检测是十分必要的。然而,由于很多p2p应用通常使用udp实现穿透网络地址转换(networkaddresstranslation,nat),实现跨网络的主机连接,这样会很难管理p2p中具有大量可变端口连接的网络会话,进而很难拦截发向用户无益的udp报文。



技术实现要素:

为克服相关技术中存在的相关问题,本发明实施例提供一种网络会话中udp报文的检测方法及装置。

根据本发明实施例的第一方面,提供一种网络会话中udp报文的检测方法,包括:

监测网络会话中是否传输有udp报文;

如果网络会话中传输有udp报文,将所述udp报文做哈希处理,得到udp报文哈希值;

获取预设udp报文检测队列,所述预设udp报文检测队列包括多个预设哈希值,所述多个预设哈希值按照优先级依次排列;

判断所述多个预设哈希值中是否存在与所述udp报文哈希值相等的目标哈希值;

如果所述多个预设哈希值中存在与所述udp报文哈希值相等的目标哈希值,丢弃所述udp报文。

在本发明实施例提供的一种可能的设计方式中,所述方法还包括:

提高所述目标哈希值在所述udp报文检测队列中的优先级。

在本发明实施例提供的一种可能的设计方式中,还包括:

如果所述预设哈希值中不存在与所述哈希值相等的目标哈希值,允许所述udp报文传输。

在本发明实施例提供的一种可能的设计方式中,所述方法还包括:

如果所述多个预设哈希值中不存在与所述udp报文哈希值相等的目标哈希值,将所述udp报文进行特征提取,得到udp报文特征;

判断所述udp报文特征是否与预设模板库中的特征相匹配;

如果所述udp报文特征与预设模板库中的特征相匹配,将所述udp报文的哈希值加入到所述预设udp报文检测队列中,并将所述udp报文丢弃。

在本发明实施例提供的一种可能的设计方式中,所述方法还包括:

如果所述udp报文特征与预设模板库中的特征不匹配,允许所述udp报文传输。

根据本发明实施例的第二方面,提供一种网络会话中udp报文的检测装置,包括:

报文监测单元,用于监测网络会话中是否传输有udp报文;

哈希处理单元,用于在网络会话中传输有udp报文时,将所述udp报文做哈希处理,得到udp报文哈希值;

获取单元,用于获取预设udp报文检测队列,所述预设udp报文检测队列包括多个预设哈希值,所述多个预设哈希值按照优先级依次排列;

哈希值判断单元,用于判断所述多个预设哈希值中是否存在与所述udp报文哈希值相等的目标哈希值;

第一报文单元,用于在所述多个预设哈希值中存在与所述udp报文哈希值相等的目标哈希值时,丢弃所述udp报文。

在本发明实施例提供的一种可能的设计方式中,所述装置还包括:

优先级处理单元,用于提高所述目标哈希值在所述udp报文检测队列中的优先级。

在本发明实施例提供的一种可能的设计方式中,所述装置还包括:

第二报文处理单元,用于在果所述预设哈希值中不存在与所述哈希值相等的目标哈希值时,允许所述udp报文传输。

在本发明实施例提供的一种可能的设计方式中,所述装置还包括:

特征提取单元,用于在所述多个预设哈希值中不存在与所述udp报文哈希值相等的目标哈希值时,将所述udp报文进行特征提取,得到udp报文特征;

匹配判断单元,用判断所述udp报文特征是否与预设模板库中的特征相匹配;

哈希值处理单元,用于在所述udp报文特征与预设模板库中的特征相匹配时,将所述udp报文的哈希值加入到所述预设udp报文检测队列中,并将所述udp报文丢弃。

在本发明实施例提供的一种可能的设计方式中,所述装置还包括:

第三报文处理单元,用于在所述udp报文特征与预设模板库中的特征不匹配时,允许所述udp报文传输。

本发明的实施例提供的技术方案可以包括以下有益效果:

本发明实施例提供的网络会话中udp报文的检测方法,通过监测网络会话中传输的udp报文,将该udp报文的哈希值与预设udp报文检测队列中的哈希值进行比对,来判断网络会话中是否传输有用户不需要的udp报文,并将用户不需要的dup报文从网络会话中丢弃。这样可以避免现有技术当中直接通过特征检测的方式,造成检测效率较低且还可能占用用户较多资源的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明实施例。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明实施例的原理。

图1是根据本发明一示例性实施例示出的一种网络会话中udp报文的检测方法的流程图;

图2是根据本发明另一示例性实施例示出的一种网络会话中udp报文的检测方法的流程图;

图3是根据本发明一示例性实施例示出的一种udp报文的检测装置的结构示意图;

图4是根据本发明另一示例性实施例示出的一种udp报文的检测装置的结构示意图;

图5是根据本发明一示例性实施例示出的一种终端的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明实施例的一些方面相一致的装置和方法的例子。

由于目前网络会话中越来越多的p2p软件使用udp穿透nat,以实现跨网络的主机连接。并且udp是无连接协议,由于使用大量的可变端口连接,使得网络会话中很难管理传输的udp报文,进而也无法有效的拦截对用户无益的udp报文。而现有技术当中,通常依赖于特征检测,即将所需检测的udp报文通过特征提取、特征匹配的方式判断网络会话中的udp报文是否为需要传输的udp报文,将无需传输的udp报文丢弃来实现网络会话中的udp报文的管理。

然而,现有技术当中在直接利用特征检测udp报文的方式,来实现网络会话中udp报文的管理时,基于udp报文采用的无连接协议及特征提取及匹配过程的复杂性,使得udp报文的特征检测会花费很多时间,进而造成网络会话会立即老化,并且在网络会话中udp报文的特征检测过程中,大量的udp报文会蚕蛹设备大量的资源,使得网络会话中udp报文的管理效果不佳。

基于现有技术中存在的上述问题,本发明实施例首先提供了一种网络会话中udp报文的检测方法,如图1所示,该方法可以包括如下步骤:

在步骤s110中,监测网络会话中是否传输有udp报文。

在本发明提供的实施例中,首先获取需要拦截的udp报文,其中,这些需要拦截的udp报文是用户不需要的垃圾udp报文或者对用户有害的udp报文,即获取用户不需要的udp报文。

本发明实施例预先将用户不需要的这些udp报文的udp报文的五元组做32位哈希处理,得到哈希值。其中,相同的udp报文对应一个哈希值,不同的udp报文分别对应不同的哈希值。另外,本发明实施例中将这些用户不需要的udp报文对应的哈希值包含在预设udp报文检测队列当中,该预设udp报文检测队列可以应用到用户终端的通信接口中,用户拦截网络会话中发送给用户的udp报文。

本发明实施例在对网络会话中的udp报文检测过程中,首先需要判断网络会话中是否传输有udp报文,如果网络会话中存在udp报文,需要对网络会话中的这些udp报文进行检测。

因此,如果网络会话中传输有udp报文,在步骤s120中,将udp报文做哈希处理,得到udp报文哈希值。

本发明实施例中可以通过已有技术对网络会话中的udp报文做哈希处理,例如对upd报文做32位哈希处理。其中,相同的udp报文经过哈希处理后,会得到一个哈希值,不同的udp报文分别对应不同的哈希值。

在步骤s130中,获取预设udp报文检测队列。

其中,该预设udp报文检测队列包括多个预设哈希值。另外,该多个预设哈希值按照优先级依次排列。本发明实施例中将按照预设哈希值优先级的高低,依次与网络会话中的udp报文哈希值进行比对。

本发明实施例中,将网络会话中的udp报文对应的哈希值(即udp报文哈希值)分别与预设udp报文检测队列中的预设哈希值进行比对,以便判断预设udp报文检测队列中是否存在与udp报文哈希值相等的哈希值,并将该哈希值作为目标哈希值。

在步骤s140中,判断预设udp报文检测队列中是否存在与udp报文哈希值相等的目标哈希值。

如果预设udp报文检测队列中存在与udp报文哈希值相等的目标哈希值,在步骤s150中,丢弃udp报文。

如果预设udp报文检测队列中存在与udp报文哈希值相等的目标哈希值,说明网络会话中对应的udp报文即为用户不需要的udp报文,需要将该udp报文拦截,并将该udp报文丢弃,进而避免因大量且对用户无益的udp报文发送给用户。

可选地,在本发明提供的又一实施例中,如图1所示,该方法还可以包括步骤s160,其中,

在步骤s160中,提高目标哈希值在预设udp报文检测队列中的优先级。

由于目标哈希值与当前网络会话中传输的udp对应的哈希值相等,为了提高检测交效率,本发明实施例中将该目标哈希值的优先级调高。其中,如果该目标哈希值在udp报文检测队列中的优先级已是最高,那么保存该目标哈希值在该udp报文检测队列中的优先级保持不变,否则,可以将该目标哈希值在udp报文检测队列中的优先级调整为最高状态,以便在后续网络会话中udp报文检测过程中优先将该目标哈希值与udp报文哈希值进行比对。

如图1所示,在本发明提供的又一实施例中,如果预设udp报文检测队列中不存在与哈希值相等的目标哈希值,在步骤s170中,允许udp报文传输。

本发明实施例提供的网络会话中udp报文的检测方法,通过监测网络会话中传输的udp报文,将该udp报文的哈希值与预设udp报文检测队列中的哈希值进行比对,来判断网络会话中是否传输有用户不需要的udp报文,并将用户不需要的dup报文从网络会话中丢弃。这样可以避免现有技术当中直接通过特征检测的方式,造成检测效率较低且还可能占用用户较多资源的问题。另外,本发明实施例在检测到预设udp检测队列中有与udp报文哈希值相等的目标哈希值时,可以将该目标哈希值在预设udp检测队列中的优先级调高,以提高检测效率。

基于1所示,在本发明提供的又一实施例中,如图2所示,如果预设udp报文检测队列中不存在与udp报文哈希值相等的目标哈希值,在步骤s180中,将udp报文进行特征提取,得到udp报文特征。

在步骤s190中,判断udp报文特征是否与预设模板库中的特征相匹配。

如果udp报文特征与预设模板库中的特征相匹配,在步骤s191中,将udp报文的哈希值加入到预设udp报文检测队列中,并将该udp报文丢弃。

如果udp报文特征与预设模板库中的特征不匹配,在步骤s192中,允许该udp报文传输。

本发明实施例提供的网络会话中udp报文的检测方法,通过监测网络会话中传输的udp报文,将该udp报文的哈希值与预设udp报文检测队列中的哈希值进行比对,来判断网络会话中是否传输有用户不需要的udp报文,并将用户不需要的dup报文从网络会话中丢弃。这样可以避免现有技术当中直接通过特征检测的方式,造成检测效率较低且还可能占用用户较多资源的问题。

另外,本发明实施例在没有检测到预设udp检测队列中有与udp报文哈希值相等的目标哈希值时,为了防止预设udp检测队列中没有包含到对用户无益的udp报文的哈希值时,还可以通过特征检测的方式来判断当前的udp报文是否为用户无益的udp报文,如果是,将该udp报文丢弃,并将该udp报文对应的哈希值添加到预设udp报文检测队列当中,更新udp报文检测队列,以便后续对网络会话中的udp报文检测。本发明实施例中通过将两种udp报文的检测方式合理结合,可以更加有效的提高网络会话中udp报文的检测效率。

通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(rom)、随机存取存储器(ram)、磁碟或者光盘等各种可以存储程序代码的介质。

另外,作为对上述各实施例的实现,本发明实施例还提供了一种网络会话中udp报文的检测装置,该装置位于终端中,如图3所示,该装置包括:

报文监测单元10,用于监测网络会话中是否传输有udp报文;

哈希处理单元20,用于在网络会话中传输有udp报文时,将所述udp报文做哈希处理,得到udp报文哈希值;

获取单元30,用于获取预设udp报文检测队列,所述预设udp报文检测队列包括多个预设哈希值,所述多个预设哈希值按照优先级依次排列;

哈希值判断单元40,用于判断所述多个预设哈希值中是否存在与所述udp报文哈希值相等的目标哈希值;

第一报文处理单元50,用于在所述多个预设哈希值中存在与所述udp报文哈希值相等的目标哈希值时,丢弃所述udp报文。

在本发明又一实施例中,所述装置还包括:

优先级处理单元60,用于提高所述目标哈希值在所述udp报文检测队列中的优先级。

在本发明又一实施例中,所述装置还包括:

第二报文处理单元70,用于在所述预设哈希值中不存在与所述哈希值相等的目标哈希值时,允许所述udp报文传输。

在本发明又一实施例中,基于图3,如图4所示,所述装置还包括:

特征提取单元91,用于在所述多个预设哈希值中不存在与所述udp报文哈希值相等的目标哈希值时,将所述udp报文进行特征提取,得到udp报文特征;

匹配判断单元92,用判断所述udp报文特征是否与预设模板库中的特征相匹配;

哈希值处理单元93,用于在所述udp报文特征与预设模板库中的特征相匹配时,将所述udp报文的哈希值加入到所述预设udp报文检测队列中,并将所述udp报文丢弃。

第三报文处理单元94,还用于在所述udp报文特征与预设模板库中的特征不匹配时,允许所述udp报文传输。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本发明实施例还提供一种终端,如图5所示,该终端210包括:至少一个处理器211、至少一个总线212、至少一个通信接口213和至少一个存储器214,其中,

存储器214用于存储计算机执行指令;存储器214可以包括只读存储器和随机存取存储器,并向处理器211提供指令和数据。存储器214的一部分还可以包括非易失性随机存取存储器(nvram,non-volatilerandomaccessmemory);

处理器211与通信接口213、存储器214通过总线212相连接;

在本发明一个实施例中,当计算机运行时,处理器211执行存储器214中存储的计算机执行指令,处理器211可以执行图1或图2所示实施例中的网络会话中udp报文的检测方法。

可以理解的是,本发明实施例可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本发明实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本领域技术人员在考虑说明书及实践这里公开的发明实施例后,将容易想到本发明实施例的其它实施方案。本申请旨在涵盖本发明实施例的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明实施例的一般性原理并包括本发明实施例未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明实施例的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明实施例的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1