一种数据包处理方法、装置以及终端
技术领域
本发明涉及通信领域,尤其涉及一种数据包处理方法、装置以及终端。
背景技术
现阶段,当终端采用VoLTE(Voice over Long Term Evolution,长期演进承载语音业务)技术进行通话时,终端接收到的数据包会包括语音数据包和信令数据,其中语音数据包包括了具体的语音信息。在VoLTE通话的建立阶段,语音数据包有时候会被错误的投递给控制面,这将有可能导致恶意软件的攻击,恶意软件通过解析获取到的语音数据包,能够劫持语音承载,使得通话过程中无法听到声音。为了避免攻击,现有技术中提出可以通过在网络侧建立判断逻辑,来避免错误投递情况的发生,但是在网络侧建立判断逻辑,不仅花费巨大,而且实施起来十分困难。
发明内容
本发明实施例提供一种数据包处理方法、装置以及终端,用于简单、方便的避免攻击,提高通话安全性。
本发明第一方面提供了一种数据包处理方法,该方法包括:
通过控制面会话接收目标数据包;
获取所述目标数据包所属的协议类型;
若所述目标数据包所属的协议类型为实时传输协议,则获取当前的语音连接状态;
若所述当前的语音连接状态为语音承载已建立,则将所述目标数据包转发至目标处理硬件。
优选地,所述获取所述目标数据包所属的协议类型,包括:
解析所述目标数据包,获取所述目标数据包的报文格式和标识;
根据所述报文格式和标识确定所述目标数据包所属的协议类型,其中,所述协议类型包括:实时传输协议以及会话初始化协议。
优选地,该方法还包括:
若所述目标数据包所属的协议类型为会话初始化协议,则将所述目标数据包转发至目标接口,所述目标接口用于访问会话初始化协议信息。
优选地,所述获取当前的语音连接状态,包括:
查找是否接收到预设的信令消息,其中,所述预设的信令消息由基站发送,用于建立与所述基站的语音承载连接;
若是,则确定所述当前的语音连接状态为语音承载已建立;
若否,则确定所述当前的语音连接状态为语音承载未建立。
优选地,该方法还包括:
若当前的语音连接状态为语音承载未建立,则将所述目标数据包丢弃。
本发明第二方面提供了一种数据包处理装置,包括:
接收模块,用于通过控制面会话接收目标数据包;
类型获取模块,用于获取所述目标数据包所属的协议类型;
状态获取模块,用于若所述目标数据包所属的协议类型为实时传输协议时,则获取当前的语音连接状态;
第一转发模块,用于若所述当前的语音连接状态为语音承载已建立,则将所述目标数据包转发至目标处理硬件。
优选地,所述类型获取模块包括:
解析单元,用于解析所述目标数据包,获取所述目标数据包的报文格式和标识;
确定单元,用于根据所述报文格式和标识确定所述目标数据包所属的协议类型,其中,所述协议类型包括:实时传输协议以及会话初始化协议。
优选地,该数据包处理装置还包括:
第二转发模块,用于若所述目标数据包所属的协议类型为会话初始化协议时,则将所述目标数据包转发至目标接口,所述目标接口用于访问会话初始化协议信息。
优选地,所述状态获取模块包括:
查找单元,用于查找是否接收到预设的信令消息,其中,所述预设的信令消息由基站发送,用于建立与所述基站的语音承载连接;
判断单元,用于若接收到预设的信令消息,则确定所述当前的语音连接状态为语音承载已建立;若未接收到预设的信令消息,则确定所述当前的语音连接状态为语音承载未建立。
优选地,该数据包处理装置还包括:
丢弃模块,用于若当前的语音连接状态为语音承载未建立,则将所述目标数据包丢弃。
本发明第三方面提供了一种终端,包括上述所述的数据包处理装置。
实施本发明实施例,具有如下有益效果:
本发明在控制面接收到数据包时,获取该数据包所述的协议类型,若该数据包所属的协议类型为实时传输协议,则表明该数据包为语音信息数据包,此时进一步的获取当前的语音连接状态,并在语音承载已经建立时,将该数据包转发至对应的硬件进行处理,从而避免了恶意软件获取到语音信息数据包,避免了恶意软件对通话的攻击,有效提高了通话的安全性。本发明在终端侧通过判断数据包的类型来避免攻击,对比现有技术中在网络侧建立判断逻辑更加简单、方便。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据包处理方法第一实施例的流程图。
图2为本发明实施例提供的一种数据包处理方法第二实施例的流程图。
图3为本发明实施例提供的一种数据包处理方法第三实施例的流程图。
图4为本发明实施例提供的一种数据包处理装置第一实施例的结构示意图。
图5为本发明实施例提供的一种数据包处理装置第二实施例的结构示意图。
图6为本发明实施例提供的一种数据包处理装置第三实施例的结构示意图。
图7为本发明实施例提供的一种终端第一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本发明实施例提供的一种数据包处理方法第一实施例的流程图。在本实施方式中,该数据包处理方法应用于终端上,所述终端包括手机、平板、电脑等可用于通话的电子装置。特别的,所述终端可用于支持VoLTE业务。该数据包处理方法包括以下步骤S101-S104。
在步骤S101中,通过控制面会话接收目标数据包。
具体的,终端首先通过控制面会话接收目标数据包。在本实施方式中,终端采用VoLTE进行通话。其中,VoLTE是基于IMS(Internet Protocol Multimedia Subsystem,网际互联协议多媒体子系统)的语音业务,在使用VoLTE通话过程中,需要维持两个通信会话,一个是基于会话初始化协议(Session Initiation Protocol,SIP)的控制面会话,用来交互信令消息;一个是基于实时传输协议(Real-time Transport Protocol,RTP)的数据面会话,用来传输语音数据包。在通常情况下,控制面会话的信令消息和数据面会话中的语音数据包互不干扰。然而,在VoLTE通话建立阶段,语音数据包有可能会被错误的投递给控制面会话,从而会导致受到恶意软件的攻击。因此,在本实施方式中,终端首先通过控制面会话接收目标数据包。
在步骤S102中,获取所述目标数据包所属的协议类型。
具体的,在接收到目标数据包了之后,判断目标数据包所属的协议类型。在本实施方式中,可以通过解析目标数据包获取该数据包的协议类型。其中,数据包所属的协议类型可以为实时传输协议,还可以为会话初始化协议。可以理解的是,该数据包所属的协议类型还可以是其他类型,比如普通的数据包、校验包等,本发明实施例并不以此为限。
在步骤S103中,若所述目标数据包所属的协议类型为实时传输协议,则获取当前的语音连接状态。
具体的,若该目标数据包所属的协议类型为实时传输协议,表明该目标数据包为语音数据包。由于通常情况下,语音数据包应该是在数据面会话中接收到,此时在控制面会话中接收到了语音数据包,表明转发出现了错误。此时,进一步的获取终端当前的语音连接状态。其中,语音连接状态是指当前的VoLTE语音承载是否建立,包括已建立和未建立。
在步骤S104中,若当前的语音连接状态为语音承载已建立,则将所述目标数据包转发至目标处理硬件。
具体的,若当前的语音承载已经建立,表明终端此时已经可以用于处理语音数据包,因此,将控制面接收到的该目标数据包转发至目标处理硬件。可以理解的是,处理语音数据包的硬件可以为调制解调器、放大器、扬声器等硬件设备,本实施例并不以此为限。在目标处理硬件处理了该目标数据包了之后,用户即可以听到该数据包对应的语音信息,并且避免了被恶意软件获取该数据包。
上述可知,本发明实施例中的数据包处理方法,在控制面接收到数据包时,获取该数据包所述的协议类型,当该数据包所属的协议类型为实时传输协议时,表明该数据包为语音信息数据包,此时进一步的获取当前的语音连接状态,并在语音承载已经建立时,将该数据包转发至对应的硬件进行处理,从而避免了恶意软件获取到语音信息数据包,避免了恶意软件对通话的攻击,有效提高了通话的安全性。
图2为本发明实施例提供的一种数据包处理方法第二实施例的流程图。在本实施方式中,该数据包处理方法包括以下步骤S201-S206,可以理解的是,本实施例中S202-S203是图1所示第一实施例中S102的另一实施方式。
在步骤S201中,通过控制面会话接收目标数据包。
在步骤S202中,解析所述目标数据包,获取所述目标数据包的报文格式和标识。
具体的,在接收到目标数据包了之后,解析该目标数据包,获取该目标数据包的报文格式和标识。
在步骤S203中,根据所述报文格式和标识确定所述目标数据包所属的协议类型。
具体的,由于不同协议下的数据包报文格式和标识不同,通过报文格式和标识可以确定对应的所属协议类型。在本实施方式中,所述协议类型包括:实时传输协议以及会话初始化协议。比如,实时传输协议报文由两部分组成:报头和有效载荷,在实时传输协议的报头部分中,包含了该实时传输协议的版本号、同步信源标识符、特约信源标识符、有效载荷类型、序列号以及时戳等信息;而会话初始化协议报文可以是请求信息也可以是响应信息,通常由一个请求行、几个标题头、一个空行和一个消息体组成。根据两种协议类型的不同,可以确定出目标数据包所属的协议类型,当目标数据包所述的协议类型为实时传输协议时,进入步骤S204中;当目标数据包所述的协议类型为会话初始化协议时,进入步骤S206中。
在步骤S204中,若所述目标数据包所属的协议类型为实时传输协议,则获取当前的语音连接状态。
在步骤S205中,若当前的语音连接状态为语音承载已建立,则将所述目标数据包转发至目标处理硬件。
在步骤S206中,若所述目标数据包所属的协议类型为会话初始化协议,则将所述目标数据包转发至目标接口。
具体的,若目标数据包所属的协议类型为会话初始化协议,则表明该目标数据包为信令数据包,表明此时接收到的数据包是正常情况下控制面接收到的信令数据包,因此,按照正常的处理流程将信令数据包转发至对应的目标接口。在本实施方式中,该目标接口为VoLTE接口,该VoLTE接口用于访问会话初始化协议信息,并根据该目标数据包执行对应的会话控制操作。
上述可知,本发明实施例中的数据包处理方法,在控制面接收到数据包时,获取该数据包所述的协议类型,当该数据包所属的协议类型为会话初始化协议时,表明该数据包为信令数据包,此时将该信令数据包转发至目标接口,用于根据该数据包执行对应的会话控制操作;当该数据包所属的协议类型为实时传输协议时,表明该数据包为语音信息数据包,此时进一步的获取当前的语音连接状态,并在语音承载已经建立时,将该数据包转发至对应的硬件进行处理,从而避免了恶意软件获取到语音信息数据包,避免了恶意软件对通话的攻击,有效提高了通话的安全性。
图3为本发明实施例提供的一种数据包处理方法第三实施例的流程图。本实施方式中,该数据包处理方法包括以下步骤S301-S07。
在步骤S301中,通过控制面会话接收目标数据包。
在步骤S302中,解析所述目标数据包,获取所述目标数据包的报文格式和标识。
在步骤S303中,根据所述报文格式和标识确定所述目标数据包所属的协议类型。
在步骤S304中,若所述目标数据包所属的协议类型为实时传输协议,则查找是否接收到预设的信令消息。
具体的,若该目标数据包所属的协议类型为实时传输协议,表明该目标数据包为语音数据包。由于通常情况下,语音数据包应该是在数据面会话中接收到,此时在控制面会话中接收到了语音数据包,表明转发出现了错误。此时,进一步的获取终端当前的语音连接状态。其中,语音连接状态是指当前的VoLTE语音承载是否建立,包括已建立和未建立。通过判断是否接收到预设的信令消息来获取当前的语音连接状态,其中,所述预设的信令信息由基站发送,用于建立与所述基站的语音承载连接。若接收到该预设的信令消息,表明此时的语音承载已建立,进入步骤S305中;若未接收到该预设的信令消息,表明此时的语音承载未建立,进入步骤S306中。
在步骤S305中,将所述目标数据包转发至目标处理硬件。
在步骤S306中,将所述目标数据包丢弃。
具体的,当语音承载未建立时,表明此时终端还无法处理语音数据包。为了避免该语音数据包被恶意软件获取,此时将该目标数据包丢弃。
在步骤S307中,若所述目标数据包所属的协议类型为会话初始化协议,则将所述信令数据包转发至目标接口。
上述可知,本发明实施例中的数据包处理方法,在控制面接收到数据包时,获取该数据包所述的协议类型,当该数据包所属的协议类型为会话初始化协议时,表明该数据包为信令数据包,此时将该信令数据包转发至目标接口,用于根据该数据包执行对应的会话控制操作;当该数据包所属的协议类型为实时传输协议时,表明该数据包为语音信息数据包,此时进一步的获取当前的语音连接状态,并在语音承载已经建立时,将该数据包转发至对应的硬件进行处理,在语音承载未建立时丢弃该数据包,从而避免了恶意软件获取到语音信息数据包,避免了恶意软件对通话的攻击,有效提高了通话的安全性。
为便于更好的实施本发明实施例的上述方案,下面还提供用于配合实施上述方案的相关装置。
图4所示为本发明实施例提供的一种数据包处理装置第一实施例的结构示意图。在本实施方式中,该数据包处理装置应用于终端上,所述终端包括手机、平板、电脑等可用于通话的电子装置。特别的,所述终端可用于支持VoLTE业务。
该数据包处理装置包括:
接收模块401,用于通过控制面会话接收目标数据包;
类型获取模块402,用于获取所述目标数据包所属的协议类型;
状态获取模块403,用于若所述目标数据包所属的协议类型为实时传输协议,则获取当前的语音连接状态;
第一转发模块404,用于若当前的语音连接状态为语音承载已建立,则将所述目标数据包转发至目标处理硬件。
可以理解的是,本实施例的装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再进行赘述。
上述可知,本发明实施例中的数据包处理装置,在控制面接收到数据包时,获取该数据包所述的协议类型,当该数据包所属的协议类型为实时传输协议时,表明该数据包为语音信息数据包,此时进一步的获取当前的语音连接状态,并在语音承载已经建立时,将该数据包转发至对应的硬件进行处理,从而避免了恶意软件获取到语音信息数据包,避免了恶意软件对通话的攻击,有效提高了通话的安全性。
图5所示为本发明实施例提供的一种数据包处理装置第二实施例的结构示意图。
对比图4所示的第一实施例,在本实施方式中,所述类型获取模块402可进一步包括:
解析单元4021,用于解析所述目标数据包,获取所述目标数据包的报文格式和标识;
确定单元4022,用于根据所述报文格式和标识确定所述目标数据包所属的协议类型,其中,所述协议类型包括:实时传输协议以及会话初始化协议。
所述数据包处理装置还可进一步包括:
第二转发模块405,用于若所述目标数据包所属的协议类型为会话初始化协议,则将所述目标数据包转发至目标接口,所述目标接口用于访问会话初始化协议信息。
可以理解的是,本实施例的装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再进行赘述。
上述可知,本发明实施例中的数据包处理装置,在控制面接收到数据包时,获取该数据包所述的协议类型,当该数据包所属的协议类型为会话初始化协议时,表明该数据包为信令数据包,此时将该信令数据包转发至目标接口,用于根据该数据包执行对应的会话控制操作;当该数据包所属的协议类型为实时传输协议时,表明该数据包为语音信息数据包,此时进一步的获取当前的语音连接状态,并在语音承载已经建立时,将该数据包转发至对应的硬件进行处理,从而避免了恶意软件获取到语音信息数据包,避免了恶意软件对通话的攻击,有效提高了通话的安全性。
图6所示为本发明实施例提供的一种数据包处理装置第三实施例的结构示意图。
对比图5所示的第二实施例,在本实施方式中,所述状态获取模块403可进一步包括:
查找单元4031,用于查找是否接收到预设的信令消息,其中,所述预设的信令消息由基站发送,用于建立与基站的语音承载连接;
判断单元4032,用于若接收到预设的信令消息时,则确定所述当前的语音连接状态为语音承载已建立;若未接收到预设的信令消息,则确定所述当前的语音连接状态为语音承载未建立。
所述数据包处理装置还可进一步包括:
丢弃模块406,用于若当前的语音连接状态为语音承载未建立,则将所述目标数据包丢弃。
可以理解的是,本实施例的装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再进行赘述。
上述可知,本发明实施例中的数据包处理装置,在控制面接收到数据包时,获取该数据包所述的协议类型,当该数据包所属的协议类型为会话初始化协议时,表明该数据包为信令数据包,此时将该信令数据包转发至目标接口,用于根据该数据包执行对应的会话控制操作;当该数据包所属的协议类型为实时传输协议时,表明该数据包为语音信息数据包,此时进一步的获取当前的语音连接状态,并在语音承载已经建立时,将该数据包转发至对应的硬件进行处理,在语音承载未建立时丢弃该数据包,从而避免了恶意软件获取到语音信息数据包,避免了恶意软件对通话的攻击,有效提高了通话的安全性。
本发明实施例还公开了一种终端,该终端可以包括数据包处理装置,该数据包处理装置的结构和功能可以参见图4-6中实施例中的相关说明,在此不赘述。可以理解的是,本发明实施例的终端,也可以应用图1-3任一实施例所示的数据包处理方法。
上述可知,本发明实施例中的终端,在控制面接收到数据包时,获取该数据包所述的协议类型,当该数据包所属的协议类型为实时传输协议时,表明该数据包为语音信息数据包,此时进一步的获取当前的语音连接状态,并在语音承载已经建立时,将该数据包转发至对应的硬件进行处理,从而避免了恶意软件获取到语音信息数据包,避免了恶意软件对通话的攻击,有效提高了通话的安全性。
图7为本发明实施例提供的一种终端第一实施例的结构示意图。本实施例中的终端可包括:
处理器701(终端中的处理器701的数量可以一个或多个,图7以一个处理器为例)、存储器702、输入装置703和输出装置704。在本发明的实施例中,处理器701、存储器702、输入装置703和输出装置704可通过总线或其它方式连接,其中,图7中以通过总线连接为例。
其中,处理器701执行如下步骤:
通过控制面会话接收目标数据包;
获取所述目标数据包所属的协议类型;
若所述目标数据包所属的协议类型为实时传输协议,则获取当前的语音连接状态;
若当前的语音连接状态为语音承载已建立,则将所述目标数据包转发至目标处理硬件。
其中,所述处理器701获取所述目标数据包所述的协议类型,包括:
解析所述目标数据包,获取所述目标数据包的报文格式和标识;
根据所述报文格式和标识确定所述目标数据包所属的协议类型,其中,所述协议类型包括:实时传输协议以及会话初始化协议。
其中,所述处理器701执行的步骤还包括:
若所述目标数据包所属的协议类型为会话初始化协议,则将所述目标数据包转发至目标接口,所述目标接口用于访问会话初始化协议信息。
其中,所述处理器701获取当前的语音连接状态,包括:
查找是否接收到预设的信令消息,其中,所述预设的信令消息由基站发送,用于建立与基站的语音承载连接;
若是,则确定所述当前的语音连接状态为语音承载已建立;
若否,则确定所述当前的语音连接状态为语音承载未建立。
其中,所述处理器701执行的步骤还包括:
若当前的语音连接状态为语音承载未建立,则将所述目标数据包丢弃。
上述可知,本发明实施例中的终端,在控制面接收到数据包时,获取该数据包所述的协议类型,当该数据包所属的协议类型为实时传输协议时,表明该数据包为语音信息数据包,此时进一步的获取当前的语音连接状态,并在语音承载已经建立时,将该数据包转发至对应的硬件进行处理,从而避免了恶意软件获取到语音信息数据包,避免了恶意软件对通话的攻击,有效提高了通话的安全性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为根据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块、单元可以根据实际需要进行合并、划分和删减。本领域的技术人员可以将本说明书中描述的不同实施例以及不同实施例的特征进行结合或组合。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(Digital Subscriber Line,DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。