CN106470137A - 一种数据处理方法及终端 - Google Patents
一种数据处理方法及终端 Download PDFInfo
- Publication number
- CN106470137A CN106470137A CN201510520817.6A CN201510520817A CN106470137A CN 106470137 A CN106470137 A CN 106470137A CN 201510520817 A CN201510520817 A CN 201510520817A CN 106470137 A CN106470137 A CN 106470137A
- Authority
- CN
- China
- Prior art keywords
- packet
- application
- data
- terminal
- destination address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据处理方法及终端,生成对应于第一应用的N个第一数据,N为大于等于1的整数;对所述N个第一数据进行封装处理,得到N个第一数据包;第一数据包的类型包括所述第一数据、及所述第一数据对应目的地址的数据报头;检测到所述终端存在支持虚拟专用网络(VPN)功能的第二应用时,将所述N个第一数据包通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器。
Description
技术领域
本发明涉及电子技术,尤其涉及一种数据处理方法及终端。
背景技术
目前,对于诸如手机等电子设备的终端而言,要实现对手机应用对应网络数据包的抓包处理,需要所述手机具有超级root权限。具体地,具有root权限的手机可以通过tcpdump抓包命令进行抓包,也可以通过设置代理到fiddler工具来实现对超文本传输协议(Hyper Text Transfer Protocol,HTTP)包的抓取和修改。
然而,在实际应用中,很多手机是不具备root权限的,因而手机应用测试人员通常无法实现抓包处理,只有当手机支持hook技术时,通过hook方式实现抓包处理,即利用hook网络收发函数来实现对手机应用对应网络数据包的抓包处理。但是,所述hook方式只能抓到和修改当前进程的部分数据包,无法实时抓取和修改手机传输的各种网络包。
发明内容
有鉴于此,本发明实施例为解决现有技术中存在的问题而提供一种数据处理方法及终端。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种数据处理方法,应用于终端,所述方法包括:
生成对应于第一应用的N个第一数据,N为大于等于1的整数;
对所述N个第一数据进行封装处理,得到N个第一数据包;第一数据包的类型包括所述第一数据、及所述第一数据对应目的地址的数据报头;
检测到所述终端存在支持虚拟专用网络VPN功能的第二应用时,将所述N个第一数据包通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器。
上述方案中,所述方法还包括:
通过所述第二应用对所述N个第一数据包进行修改处理,得到对应的N个第二数据包。
上述方案中,所述将所述N个第一数据包通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器,包括:
通过所述第二应用对所述N个第一数据包进行解封装处理,得到解封装后的N个第一数据和与所述N个第一数据对应的M个目的地址,M为大于等于1且小于等于N的整数;
按照预设创建策略为所述M个目的地址中的每一个目的地址创建一个套接字链接;
利用所述套接字链接发送所述解封装后的N个第一数据至所述第一应用对应的服务器。
上述方案中,所述方法还包括:
所述第二应用接收由所述服务器反馈的第三数据包,并通过所述第二应用自身支持的VPN功能传送至所述第一应用。
上述方案中,所述方法还包括:
通过所述第二应用对所述第三数据包进行修改处理,得到对应的第四数据包。
上述方案中,所述方法还包括:
对所述第三数据包进行封装处理,得到第五数据包,所述第五数据包包括所述第三数据包对应目的地址的数据报头;
相应的,通过所述第二应用自身支持的VPN功能传送至所述第一应用,包括:
通过所述第二应用自身支持的VPN功能传递所述第五数据包至所述第一应用。
本发明实施例还提供一种终端,所述终端包括生成单元、封装单元和处理单元;
所述生成单元,用于生成对应于第一应用的N个第一数据,N为大于等于1的整数;
所述封装单元,用于对所述N个第一数据进行封装处理,得到N个第一数据包;第一数据包的类型包括所述第一数据、及所述第一数据对应目的地址的数据报头;
所述处理单元,用于检测到所述终端存在支持虚拟专用网络VPN功能的第二应用时,将所述N个第一数据包通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器。
上述方案中,所述终端还包括修改单元;
所述修改单元,用于通过所述第二应用对所述N个第一数据包进行修改处理,得到对应的N个第二数据包。
上述方案中,所述处理单元包括解封装子单元、创建子单元和发送子单元;
所述解封装子单元,用于通过所述第二应用对所述N个第一数据包进行解封装处理,得到解封装后的N个第一数据和与所述N个第一数据对应的M个目的地址,M为大于等于1且小于等于N的整数;
所述创建子单元,用于按照预设创建策略为所述M个目的地址中的每一个目的地址创建一个套接字链接;
所述发送子单元,用于利用所述套接字链接发送所述解封装后的N个第一数据至所述第一应用对应的服务器。
上述方案中,所述处理单元,还用于利用所述第二应用接收由所述服务器反馈的第三数据包,并通过所述第二应用自身支持的VPN功能传送至所述第一应用。
上述方案中,所述修改单元,还用于通过所述第二应用对所述第三数据包进行修改处理,得到对应的第四数据包。
上述方案中,所述封装单元,还用于对所述第三数据包进行封装处理,得到第五数据包,所述第五数据包包括所述第三数据包对应目的地址的数据报头;
所述处理单元,还用于通过所述第二应用自身支持的VPN功能传递所述第五数据包至所述第一应用。
本发明实施例中,终端生成对应于第一应用的N个第一数据,N为大于等于1的整数;对所述N个第一数据进行封装处理,得到N个第一数据包;第一数据包的类型包括所述第一数据、及所述第一数据对应目的地址的数据报头;检测到所述终端存在支持虚拟专用网络(Virtual Private Network,VPN)功能的第二应用时,将所述N个第一数据包通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器。进一步地,通过所述第二应用对所述N个第一数据包进行修改处理,得到对应的N个第二数据包。如此,终端可以在不具备root权限的情况下实时抓取和修改终端应用数据,方便终端应用测试人员对应用数据的监控和修改,大大简化协议测试;同时,前后台开发人员也可以方便的进行协议联调和自测,大大提高联调效率。
附图说明
图1为本发明实施例一数据处理方法的实现流程示意图;
图2为本发明实施例二数据处理方法的实现流程示意图;
图3为本发明实施例三数据处理方法的实现流程示意图;
图4为本发明实施例四数据处理方法的实现流程示意图;
图5为本发明实施例五数据处理方法的实现流程示意图;
图6为本发明实施例六终端的组成结构示意图;
图7为本发明实施例七所述终端的硬件结构示意图;
图8为传统的数据处理方法的具体实现流程示意图;
图9为本发明一应用示例数据处理方法的具体实现流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
实施例一
本发明实施例提供了一种数据处理方法,所述数据处理方法应用于终端;图1为本发明实施例一数据处理方法的实现流程示意图;如图1所示,所述方法包括:
步骤S101:生成对应于第一应用的N个第一数据,N为大于等于1的整数;
具体地,当用户触发终端的第一应用时,第一应用会生成对应的N个第一数据。
这里,所述终端包括移动终端以及非移动终端,非移动终端包括具有应用测试功能的台式计算机,移动终端包括具有应用测试功能的智能手机(SmartPhone)、平板电脑、笔记本电脑、个人数字助理等。
这里,所述第一应用包括视频应用、导航应用、电商应用、游戏应用、聊天应用等,其中聊天应用可以是QQ、微信、YY等。所述第一应用可以预先下载到终端,并在终端上安装成功,使得终端在获取到触发第一应用的操作后,生成对应于第一应用的N个第一数据。
所述第一数据可以为用于向第一应用对应服务器发起的应用开启请求;所述第一数据还可以是用于向第一应用对应服务器发起的传输信息,如向QQ服务器发起的聊天消息等。
步骤S102:对所述N个第一数据进行封装处理,得到N个第一数据包;
其中,第一数据包的类型包括所述第一数据、及所述第一数据对应目的地址的数据报头;
具体地,位于所述终端的系统内核对所述N个第一数据进行封装处理,得到N个包括所述第一数据、及所述第一数据对应目的地址的数据报头。其中,所述第一数据对应目的地址的数据报头包括TCP/UDP头和IP头。
这里,由于同一个应用可能对应多个服务器,所以通过系统内核封装处理后的N个第一数据包中每个第一数据所对应的目的地址可能相同,也可能不同。
步骤S103:检测到所述终端存在支持VPN功能的第二应用时,将所述N个第一数据包通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器。
具体地,位于所述终端的系统内核会对所述终端是否存在支持VPN的第二应用进行检测,即判断是否存在注册VPN服务的第二应用。进一步地,系统内核在检测到所述终端存在支持VPN功能的第二应用时,将所述N个第一数据包发送给所述第二应用,由所述第二应用通过自身支持的VPN功能传送至所述第一应用对应的服务器。
这里,所述将所述N个第一数据包发送给所述第二应用后,能够实现对所述N个第一数据包的实时抓取。具体地,所述实时抓取包括对所述N个第一数据包进行截获、解析展示后进行修改编辑等处理操作。相应的,所述第二应用接收到由系统内核发送的所述N个第一数据包后,即可实现对所述N个第一数据包进行截获、解析展示后进行修改编辑等处理。
通过本发明实施例所述数据处理方法,生成对应于第一应用的N个第一数据;对所述N个第一数据进行封装处理,得到N个第一数据包;检测到所述终端存在支持VPN功能的第二应用时,不再执行对已加入TCP/UDP头和IP头的第一数据包进行MAC头的封装处理及网卡发送等操作,而是直接将所述N个第一数据包通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器。如此,终端可以在不具备root权限的情况下实时抓取终端应用数据,方便终端应用测试人员对应用数据的监控,大大简化协议测试;同时,前后台开发人员也可以方便的进行协议联调和自测,大大提高联调效率。
实施例二
本发明实施例提供了一种数据处理方法,所述数据处理方法应用于终端;图2为本发明实施例二数据处理方法的实现流程示意图;如图2所示,所述方法包括:
步骤S201:生成对应于第一应用的N个第一数据,N为大于等于1的整数;
具体地,当用户触发终端的第一应用时,第一应用会生成对应的N个第一数据。
这里,所述终端包括移动终端以及非移动终端,非移动终端包括具有应用测试功能的台式计算机,移动终端包括具有应用测试功能的智能手机(SmartPhone)、平板电脑、笔记本电脑、个人数字助理等。
这里,所述第一应用包括视频应用、导航应用、电商应用、游戏应用、聊天应用等,其中聊天应用可以是QQ、微信、YY等。所述第一应用可以预先下载到终端,并在终端上安装成功,使得终端在获取到触发第一应用的操作后,生成对应于第一应用的N个第一数据。
所述第一数据可以为用于向第一应用对应服务器发起的应用开启请求;所述第一数据还可以是用于向第一应用对应服务器发起的传输信息,如向QQ服务器发起的聊天消息等。
步骤S202:对所述N个第一数据进行封装处理,得到N个第一数据包;
其中,第一数据包的类型包括所述第一数据、及所述第一数据对应目的地址的数据报头;
具体地,位于所述终端的系统内核对所述N个第一数据进行封装处理,得到N个包括所述第一数据、及所述第一数据对应目的地址的数据报头。其中,所述第一数据对应目的地址的数据报头包括TCP/UDP头和IP头。
这里,由于同一个应用可能对应多个服务器,所以通过系统内核封装处理后的N个第一数据包中每个第一数据所对应的目的地址可能相同,也可能不同。
步骤S203:检测到所述终端存在支持VPN功能的第二应用时,将所述N个第一数据包通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器;
具体地,位于所述终端的系统内核会对所述终端是否存在支持VPN功能的第二应用进行检测,即判断是否存在注册VPN服务的第二应用。进一步地,系统内核在检测到所述终端存在支持VPN功能的第二应用时,将所述N个第一数据包发送给所述第二应用,由所述第二应用通过自身支持的VPN功能传送至所述第一应用对应的服务器。
这里,所述将所述N个第一数据包发送给所述第二应用后,能够实现对所述N个第一数据包的实时抓取。具体地,所述实时抓取包括对所述N个第一数据包进行截获、解析展示后进行修改编辑等处理操作。相应的,所述第二应用接收到由系统内核发送的所述N个第一数据包后,即可实现对所述N个第一数据包进行截获、解析展示后进行修改编辑等处理。
步骤S204:通过所述第二应用对所述N个第一数据包进行修改处理,得到对应的N个第二数据包。
这里,所述修改处理包括对所述N个第一数据包进行编辑、修改等处理操作。相应的,所述第二应用接收到由系统内核发送的所述N个第一数据包后,即可实现对所述N个第一数据包进行编辑、修改等处理。
需要说明的是,本发明实施例步骤S204和步骤S203的执行顺序并无时间先后顺序的限制。即,所述步骤S204的执行可以在步骤S203之后,也可以在步骤S203检测到所述终端存在支持VPN功能的第二应用时,在将所述N个第一数据包通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器之前,由所述第二应用对所述N个第一数据包进行修改处理,得到对应的N个第二数据包。
通过本发明实施例所述数据处理方法,生成对应于第一应用的N个第一数据;对所述N个第一数据进行封装处理,得到N个第一数据包;检测到所述终端存在支持VPN的第二应用时,不再执行对已加入TCP/UDP头和IP头的第一数据包进行MAC头的封装处理及网卡发送等操作,而是直接将所述N个第一数据包通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器。进一步地,通过所述第二应用对所述N个第一数据包进行修改处理,得到对应的N个第二数据包。如此,终端可以在不具备root权限的情况下实时抓取和修改终端应用数据,方便终端应用测试人员对应用数据的监控和修改,大大简化协议测试;同时,前后台开发人员也可以方便的进行协议联调和自测,大大提高联调效率。
实施例三
本发明实施例提供了一种数据处理方法,所述数据处理方法应用于终端;图3为本发明实施例三数据处理方法的实现流程示意图;如图3所示,所述方法包括:
步骤S301:生成对应于第一应用的N个第一数据,N为大于等于1的整数;
步骤S302:对所述N个第一数据进行封装处理,得到N个第一数据包;第一数据包的类型包括所述第一数据、及所述第一数据对应目的地址的数据报头;
步骤S303:检测到所述终端存在支持虚拟专用网络VPN的第二应用时,将所述N个第一数据包发送给所述第二应用;
本发明实施例三所述步骤S301~S303的具体实现过程与本发明实施例一所述步骤S101~S103相类似,故这里不再赘述。
步骤S304:通过所述第二应用对所述N个第一数据包进行解封装处理,得到解封装后的N个第一数据和与所述N个第一数据对应的M个目的地址;
其中,M为大于等于1且小于等于N的整数;
这里,由于同一个应用可能对应多个服务器,在步骤S302通过系统内核封装处理后的N个第一数据包中每个第一数据所对应的目的地址可能相同,也可能不同。因此,通过所述第二应用对所述N个第一数据包进行解封装处理后,将会得到N个第一数据和与所述N个第一数据对应的M个目的地址。
步骤S305:按照预设创建策略为所述M个目的地址中的每一个目的地址创建一个套接字链接;
这里,在本发明实施例实现所述数据处理方法之前,终端已在所述第二应用对应的数据存储设备中保存有预设创建策略。所述预设创建策略可以为所述目的地址与所述套接字Socket一一映射组成的关系列表。其中,Socket可以表示为IP address+TCP/UDP+port。
具体地,所述第二应用按照预设创建策略,在所述目的地址与所述套接字Socket一一映射组成的关系列表中查找到所述M个目的地址中的每一个目的地址对应的套接字,以创建套接字链接。
步骤S306:利用所述套接字链接发送所述解封装后的N个第一数据至所述第一应用对应的服务器。
具体地,终端通过所述第二应用利用所述套接字链接发送所述解封装后的N个第一数据至所述第一应用对应的服务器。
通过本发明实施例所述数据处理方法,终端在通过所述第二应用实现应用数据包的实时抓取的基础上,进一步通过所述第二应用对所述N个第一数据包进行解封装处理,得到解封装后的N个第一数据和与所述N个第一数据对应的M个目的地址,M为大于等于1且小于等于N的整数;按照预设创建策略为所述M个目的地址中的每一个目的地址创建一个套接字链接;利用所述套接字链接发送所述解封装后的N个第一数据至所述第一应用对应的服务器。如此,终端可以在不具备root权限的情况下实时抓取和修改终端应用数据;同时,通过支持VPN的第二应用得以实现应用数据包的发送。
实施例四
本发明实施例提供了一种数据处理方法,所述数据处理方法应用于终端;图4为本发明实施例四数据处理方法的实现流程示意图;如图4所示,所述方法包括:
步骤S401:生成对应于第一应用的N个第一数据,N为大于等于1的整数;
步骤S402:对所述N个第一数据进行封装处理,得到N个第一数据包;第一数据包的类型包括所述第一数据、及所述第一数据对应目的地址的数据报头;
步骤S403:检测到所述终端存在支持虚拟专用网络VPN的第二应用时,将所述N个第一数据包发送给所述第二应用;
本发明实施例四所述步骤S401~S403的具体实现过程与本发明实施例一所述步骤S101~S103相类似,故这里不再赘述。
步骤S404:通过所述第二应用对所述N个第一数据包进行解封装处理,得到解封装后的N个第一数据和与所述N个第一数据对应的M个目的地址;
步骤S405:按照预设创建策略为所述M个目的地址中的每一个目的地址创建一个套接字链接;
步骤S406:利用所述套接字链接发送所述解封装后的N个第一数据至所述第一应用对应的服务器;
本发明实施例四所述步骤S404~S406的具体实现过程与本发明实施例三所述步骤S304~S306相类似,故这里不再赘述。
步骤S407:所述第二应用接收由所述服务器反馈的第三数据包,并通过所述第二应用自身支持的VPN功能传送至所述第一应用。
这里,所述第二应用接收由所述服务器反馈的第三数据包之后,能够实现对所述第三数据包的实时抓取。具体地,所述实时抓取包括对所述第三数据包进行截获、解析展示后进行修改编辑等处理操作。相应的,所述第二应用接收到由所述服务器反馈的第三数据包后,即可实现对所述第三数据包进行截获、解析展示后进行修改编辑等处理。
在一实施例中,本发明实施例所述数据处理方法还可以包括:
步骤S408:通过所述第二应用对所述第三数据包进行修改处理,得到对应的第四数据包。
这里,所述修改处理包括对所述第三数据包进行编辑、修改等处理操作。相应的,所述第二应用接收到由所述服务器反馈的第三数据包后,即可实现对所述第三数据包进行编辑、修改等处理。
通过本发明实施例所述数据处理方法,终端在不具备root权限的情况下通过支持VPN的第二应用得以实现应用数据包的发送的基础上,还可以通过所述第二应用实时对由服务器反馈的第三数据包进行抓取和修改处理,方便终端应用测试人员对应用数据的监控和修改,大大简化协议测试;同时,前后台开发人员也可以方便的进行协议联调和自测,大大提高联调效率。
实施例五
本发明实施例提供了一种数据处理方法,所述数据处理方法应用于终端;图5为本发明实施例五数据处理方法的实现流程示意图;如图5所示,所述方法包括:
步骤S501:生成对应于第一应用的N个第一数据,N为大于等于1的整数;
步骤S502:对所述N个第一数据进行封装处理,得到N个第一数据包;第一数据包的类型包括所述第一数据、及所述第一数据对应目的地址的数据报头;
步骤S503:检测到所述终端存在支持虚拟专用网络VPN的第二应用时,将所述N个第一数据包发送给所述第二应用;
本发明实施例五所述步骤S501~S503的具体实现过程与本发明实施例一所述步骤S101~S103相类似,故这里不再赘述。
步骤S504:通过所述第二应用对所述N个第一数据包进行解封装处理,得到解封装后的N个第一数据和与所述N个第一数据对应的M个目的地址;
步骤S505:按照预设创建策略为所述M个目的地址中的每一个目的地址创建一个套接字链接;
步骤S506:利用所述套接字链接发送所述解封装后的N个第一数据至所述第一应用对应的服务器;
本发明实施例五所述步骤S504~S506的具体实现过程与本发明实施例三所述步骤S304~S306相类似,故这里不再赘述。
步骤S507:利用所述第二应用接收由所述服务器反馈的第三数据包;
本发明实施例五所述步骤S507的具体实现过程与本发明实施例四所述步骤S407相类似,故这里不再赘述。
步骤S508:对所述第三数据包进行封装处理,得到第五数据包;
其中,所述第五数据包包括所述第三数据包对应目的地址的数据报头;
具体地,终端通过所述第二应用对所述第三数据包进行封装处理,得到包括所述第三数据包对应目的地址的数据报头的第五数据包。
步骤S509:通过所述第二应用自身支持的VPN功能传递所述第五数据包至所述第一应用。
如此,通过本发明实施例所述数据处理方法,终端在不具备root权限的情况下通过所述第二应用实时对由服务器反馈的第三数据包进行抓取和修改处理;也可以通过所述第二应用得以实现应用数据包的接收和发送。
实施例六
本发明实施例提供了一种终端;图6为本发明实施例六终端的组成结构示意图;如图6所示,所述终端包括生成单元601、封装单元602和处理单元603;
所述生成单元601,用于生成对应于第一应用的N个第一数据,N为大于等于1的整数;
所述封装单元602,用于对所述N个第一数据进行封装处理,得到N个第一数据包;第一数据包的类型包括所述第一数据、及所述第一数据对应目的地址的数据报头;
所述处理单元603,用于检测到所述终端存在支持虚拟专用网络VPN功能的第二应用时,将所述N个第一数据包通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器。
在一实施例中,如图6所示,所述终端还包括修改单元604;
所述修改单元605,用于通过所述第二应用对所述N个第一数据包进行修改处理,得到对应的N个第二数据包。
在一实施例中,如图6所示,所述处理单元603包括解封装子单元6031、创建子单元6032和发送子单元6033;
所述解封装子单元6031,用于通过所述第二应用对所述N个第一数据包进行解封装处理,得到解封装后的N个第一数据和与所述N个第一数据对应的M个目的地址,M为大于等于1且小于等于N的整数;
所述创建子单元6032,用于按照预设创建策略为所述M个目的地址中的每一个目的地址创建一个套接字链接;
所述发送子单元6033,用于利用所述套接字链接发送所述解封装后的N个第一数据至所述第一应用对应的服务器。
在一实施例中,如图6所示,所述处理单元603,还用于利用所述第二应用接收由所述服务器反馈的第三数据包,并通过所述第二应用自身支持的VPN功能传送至所述第一应用。
在一实施例中,如图6所示,所述修改单元604,还用于通过所述第二应用对所述第三数据包进行修改处理,得到对应的第四数据包。
在一实施例中,如图6所示,所述封装单元602,还用于对所述第三数据包进行封装处理,得到第五数据包,所述第五数据包包括所述第三数据包对应目的地址的数据报头;所述处理单元603,还用于通过所述第二应用自身支持的VPN功能传递所述第五数据包至所述第一应用。
在实际应用中,所述生成单元601、封装单元602、处理单元603、修改单元604、以及处理单元603所包含的解封装子单元6031、创建子单元6032和发送子单元6033的具体结构均可对应于处理器。所述处理器具体的结构可以为中央处理器(Central Processing Unit,CPU)、数字信号处理器(Digital SingnalProcessor,DSP)或可编程逻辑阵列(Field-Programmable Gate Array,FPGA)等具有处理功能的电子元器件或电子元器件的集合。其中,所述处理器包括可执行代码,所述可执行代码存储在存储介质中,所述处理器可以通过总线等通信接口与所述存储介质中相连,在执行具体的各模块的对应功能时,从所述存储介质中读取并运行所述可执行代码。所述存储介质用于存储所述可执行代码的部分优选为非瞬间存储介质。
所述生成单元601、封装单元602、处理单元603、修改单元604、以及处理单元603所包含的解封装子单元6031、创建子单元6032和发送子单元6033可以集成对应于同一处理器,或分别对应不同的处理器;当集成对应于同一处理器时,所述处理器采用时分处理所述生成单元601、封装单元602、处理单元603、修改单元604、以及处理单元603所包含的解封装子单元6031、创建子单元6032和发送子单元6033对应的功能。
所述发送子单元6033的具体结构为发送接口,包括有线和无线的发送接口,具体如各种线缆的通信接口,如双绞线接口、光纤接口或发送天线等。
本发明实施例六所述终端,为实施例一至五所述的方法提供了具体实现的硬件,能用于实现实施例一至五中任意所述的技术方案,同样的,能够在不具备root权限的情况下实时抓取和修改终端应用数据,方便终端应用测试人员对应用数据的监控和修改,大大简化协议测试;同时,前后台开发人员也可以方便的进行协议联调和自测,大大提高联调效率。
实施例七:
本实施例基于上述实施例六提供一个具体的硬件,如图7所示,所述装置包括处理器702、存储介质704以及至少一个外部通信接口701;所述处理器702、存储介质704以及外部通信接口701均通过总线703连接。所述处理器702可为微处理器、中央处理器、数字信号处理器或可编程逻辑阵列等具有处理功能的电子元器件。所述存储介质704中存储有计算机可执行代码。
其中,所述硬件可以为所述终端。
当所述硬件为所述终端时,所述处理器702执行所述计算机可执行代码时,至少能实现以下功能;
生成对应于第一应用的N个第一数据,N为大于等于1的整数;
对所述N个第一数据进行封装处理,得到N个第一数据包;第一数据包的类型包括所述第一数据、及所述第一数据对应目的地址的数据报头;
检测到所述终端存在支持虚拟专用网络VPN的第二应用时,将所述N个第一数据包发送给所述第二应用进行实时抓取,通过所述第二应用支持的VPN功能传送至所述第一应用对应的服务器。
具体应用场景:
图8为传统的数据处理方法的具体实现流程示意图,应用于手机终端,如图8所示,所述方法包括:
步骤S801:手机应用准备数据,即生成对应于自身应用的网络数据;
步骤S802:调用系统网络的收发函数将所述准备数据传送至系统内核;
步骤S803:系统内核在所述准备数据中加入TCP/UDP头;
步骤S804:系统内核在所述准备数据中再加入IP头;
步骤S805:系统内核在所述准备数据中再加入MAC头;
步骤S806:对所述依次加入TCP/UDP+IP+MAC头的准备数据进行网卡发送,发送至所述应用对应的服务器。
这样,采用如图8所示的传统的数据处理方法,手机在不具备root权限的的情况下,通常无法实现对准备数据的实时抓取。
图9为本发明一应用示例数据处理方法的具体实现流程示意图,应用于手机终端,如图9所示,所述方法包括:
步骤S901:手机应用准备数据,即生成对应于自身应用的网络数据;
步骤S902:调用系统网络的收发函数将所述准备数据传送至系统内核;
步骤S903:系统内核在所述准备数据中加入TCP/UDP头;
步骤S904:系统内核在所述准备数据中再加入IP头;
步骤S905:判断所述手机终端是否存在注册VPN服务的第二应用,得到判断结果;
步骤S906:当所述判断结果为是时,将所述已加入TCP/UDP+IP头的准备数据通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器。
步骤S907:当所述判断结果为否时,在所述准备数据中再加入MAC头;
步骤S908:对所述依次加入TCP/UDP+IP+MAC头的准备数据进行网卡发送。
如此,通过如图9所示的数据处理方法,手机终端能够在不具备root权限的情况下实时抓取和修改终端应用数据,方便终端应用测试人员对应用数据的监控和修改,大大简化协议测试;同时,前后台开发人员也可以方便的进行协议联调和自测,大大提高联调效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种数据处理方法,应用于终端,其特征在于,所述方法包括:
生成对应于第一应用的N个第一数据,N为大于等于1的整数;
对所述N个第一数据进行封装处理,得到N个第一数据包;第一数据包的类型包括所述第一数据、及所述第一数据对应目的地址的数据报头;
检测到所述终端存在支持虚拟专用网络VPN功能的第二应用时,将所述N个第一数据包通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述第二应用对所述N个第一数据包进行修改处理,得到对应的N个第二数据包。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述N个第一数据包通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器,包括:
通过所述第二应用对所述N个第一数据包进行解封装处理,得到解封装后的N个第一数据和与所述N个第一数据对应的M个目的地址,M为大于等于1且小于等于N的整数;
按照预设创建策略为所述M个目的地址中的每一个目的地址创建一个套接字链接;
利用所述套接字链接发送所述解封装后的N个第一数据至所述第一应用对应的服务器。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述第二应用接收由所述服务器反馈的第三数据包,并通过所述第二应用自身支持的VPN功能传送至所述第一应用。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
通过所述第二应用对所述第三数据包进行修改处理,得到对应的第四数据包。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
对所述第三数据包进行封装处理,得到第五数据包,所述第五数据包包括所述第三数据包对应目的地址的数据报头;
相应的,通过所述第二应用自身支持的VPN功能传送至所述第一应用,包括:
通过所述第二应用自身支持的VPN功能传递所述第五数据包至所述第一应用。
7.一种终端,其特征在于,所述终端包括生成单元、封装单元和处理单元;
所述生成单元,用于生成对应于第一应用的N个第一数据,N为大于等于1的整数;
所述封装单元,用于对所述N个第一数据进行封装处理,得到N个第一数据包;第一数据包的类型包括所述第一数据、及所述第一数据对应目的地址的数据报头;
所述处理单元,用于检测到所述终端存在支持虚拟专用网络VPN功能的第二应用时,将所述N个第一数据包通过所述第二应用自身支持的VPN功能传送至所述第一应用对应的服务器。
8.根据权利要求7所述的终端,其特征在于,所述终端还包括修改单元;
所述修改单元,用于通过所述第二应用对所述N个第一数据包进行修改处理,得到对应的N个第二数据包。
9.根据权利要求7或8所述的终端,其特征在于,所述处理单元包括解封装子单元、创建子单元和发送子单元;
所述解封装子单元,用于通过所述第二应用对所述N个第一数据包进行解封装处理,得到解封装后的N个第一数据和与所述N个第一数据对应的M个目的地址,M为大于等于1且小于等于N的整数;
所述创建子单元,用于按照预设创建策略为所述M个目的地址中的每一个目的地址创建一个套接字链接;
所述发送子单元,用于利用所述套接字链接发送所述解封装后的N个第一数据至所述第一应用对应的服务器。
10.根据权利要求9所述的终端,其特征在于,
所述处理单元,还用于利用所述第二应用接收由所述服务器反馈的第三数据包,并通过所述第二应用自身支持的VPN功能传送至所述第一应用。
11.根据权利要求10所述的终端,其特征在于,
所述修改单元,还用于通过所述第二应用对所述第三数据包进行修改处理,得到对应的第四数据包。
12.根据权利要求10或11所述的终端,其特征在于,
所述封装单元,还用于对所述第三数据包进行封装处理,得到第五数据包,所述第五数据包包括所述第三数据包对应目的地址的数据报头;
所述处理单元,还用于通过所述第二应用自身支持的VPN功能传递所述第五数据包至所述第一应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510520817.6A CN106470137A (zh) | 2015-08-21 | 2015-08-21 | 一种数据处理方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510520817.6A CN106470137A (zh) | 2015-08-21 | 2015-08-21 | 一种数据处理方法及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106470137A true CN106470137A (zh) | 2017-03-01 |
Family
ID=58229740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510520817.6A Pending CN106470137A (zh) | 2015-08-21 | 2015-08-21 | 一种数据处理方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106470137A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150865A (zh) * | 2018-08-07 | 2019-01-04 | 厦门市美亚柏科信息股份有限公司 | 一种移动终端app通讯协议的保护、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060090008A1 (en) * | 2004-10-21 | 2006-04-27 | Jim Guichard | Pseudowire termination directly on a router |
CN103065098A (zh) * | 2011-10-24 | 2013-04-24 | 联想(北京)有限公司 | 访问方法和电子设备 |
US20140337962A1 (en) * | 2008-02-28 | 2014-11-13 | Hob Gmbh & Co. Kg | Computer communication system for communication via public networks |
CN104468269A (zh) * | 2014-12-01 | 2015-03-25 | 郭丹 | 一种基于Android终端设备的定向流量监管方法 |
CN104540180A (zh) * | 2014-12-12 | 2015-04-22 | 于卫波 | 一种无需根权限的安卓多跳路由实现方法 |
-
2015
- 2015-08-21 CN CN201510520817.6A patent/CN106470137A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060090008A1 (en) * | 2004-10-21 | 2006-04-27 | Jim Guichard | Pseudowire termination directly on a router |
US20140337962A1 (en) * | 2008-02-28 | 2014-11-13 | Hob Gmbh & Co. Kg | Computer communication system for communication via public networks |
CN103065098A (zh) * | 2011-10-24 | 2013-04-24 | 联想(北京)有限公司 | 访问方法和电子设备 |
CN104468269A (zh) * | 2014-12-01 | 2015-03-25 | 郭丹 | 一种基于Android终端设备的定向流量监管方法 |
CN104540180A (zh) * | 2014-12-12 | 2015-04-22 | 于卫波 | 一种无需根权限的安卓多跳路由实现方法 |
Non-Patent Citations (1)
Title |
---|
ROLAND_SUN: "如何使用Android系统自带的VPN服务框架", 《HTTPS://BLOG.CSDN.NET/ROLAND_SUN/ARTICLE/DETAILS/46337171》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150865A (zh) * | 2018-08-07 | 2019-01-04 | 厦门市美亚柏科信息股份有限公司 | 一种移动终端app通讯协议的保护、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103200190B (zh) | 一种面向QualNet网络半实物仿真的实物接入方法 | |
CN106464564B (zh) | 用于网络分组封装和路由的方法、系统和计算机可读介质 | |
CN101848235B (zh) | 一种支持nat穿越的实时多媒体数据p2p传输方案 | |
CN110838954B (zh) | 一种轻量级大规模自主网络协议功能测试方法 | |
US20200007445A1 (en) | Enhanced service function chain | |
CN106911778A (zh) | 一种流量引导方法和系统 | |
CN102334112A (zh) | 用于虚拟机网络的方法和系统 | |
CN108900384A (zh) | 网络流量监控方法、装置及系统、计算机可读存储介质 | |
CN106209557B (zh) | 报文转发方法及装置 | |
CN105162674A (zh) | 一种物理机访问虚拟网络的方法及网卡 | |
CN104539632B (zh) | 一种基于虚拟地址空间的可编程网络设备管理控制方法 | |
CN106385354B (zh) | 报文转发方法及装置 | |
CN112769794B (zh) | 一种数据转换方法及装置 | |
CN103078765A (zh) | 网元设备性能测试方法和装置 | |
CN106790221A (zh) | 一种英特网协议安全IPSec协议加密方法和网络设备 | |
Coker et al. | Software-defined Networking with OpenFlow: Deliver Innovative Business Solutions | |
CN107547665A (zh) | 一种dhcp地址分配的方法、设备及系统 | |
CN108141409A (zh) | 通信系统、地址通知装置、通信控制装置、终端、通信方法以及程序 | |
CN105190530A (zh) | 传输硬件渲染的图形数据 | |
CN104780090A (zh) | Vpn组播传输的方法、装置、pe设备 | |
CN108989248B (zh) | 传输报文的方法、网络边缘设备与报文传输系统 | |
CN110876155A (zh) | 无线网格网络的模拟系统和方法 | |
CN109379269A (zh) | 虚拟交换设备数据转发方法、装置和计算机设备 | |
CN105763347B (zh) | 用于获取参数的方法、网络设备及系统 | |
CN106470137A (zh) | 一种数据处理方法及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170301 |