基于安卓系统的免权限抓包的方法、装置及电子设备与流程

文档序号:33550952发布日期:2023-03-22 10:39阅读:76来源:国知局
基于安卓系统的免权限抓包的方法、装置及电子设备与流程

1.本技术涉及通信技术领域,具体而言,涉及一种基于安卓系统的免权限抓包的方法、装置及电子设备。


背景技术:

2.随着通信技术迭代升级,移动端(例如,手机)系统的版本越来越高。
3.目前,传统的抓包方法均是在有root的移动端系统在进行抓包分析处理数据的。由于高版本系统的手机没有root,因此常规的抓包方法不能使用。现有技术中为了解决这一问题,通过在移动端自身创建虚拟通信通道进行抓取数据包,之后将数据包添加在固定格式文件中存储在指定的目录下,进而对固定格式文件进行分析处理。但是由于移动端内存资源有限,在对固定格式文件进行分析处理时,容易造成移动端卡死,降低分析处理效率。
4.因此,如何提供一种高效的基于安卓系统的免权限抓包的方法的技术方案成为亟需解决的技术问题。


技术实现要素:

5.本技术的一些实施例的目的在于提供一种基于安卓系统的免权限抓包的方法、装置及电子设备,通过本技术的实施例的技术方案可以实现基于安卓系统的免权限(例如,免root,root为根用户)抓包和解析通信数据包,安全性和效率较高。而且还降低了移动端的资源占用率,使得移动端可以安全稳定的运行。
6.第一方面,本技术的一些实施例提供了一种基于安卓系统的免权限抓包的方法,包括:获取目标应用程序的通信数据包,其中,所述通信数据包为安全超文本传输协议https流量包或超文本传输协议http流量包;将所述通信数据包通过网络隧道发送至电脑端,以便于所述电脑端抓取所述通信数据包并进行解析。
7.本技术的一些实施例通过将安卓系统的移动端的通信数据包发送至电脑端,通信数据包可以是不同类型的流量,可以实现基于安卓系统的免root抓包和解析通信数据包,实用性较高,且安全性和效率较高。而且还降低了移动端的资源占用率,使得移动端可以安全稳定的运行。
8.在一些实施例,在所述获取目标应用程序的通信数据包之前,所述方法还包括:确定所述电脑端所处的网络环境为目标局域网;响应于用户的操作指令,建立与所述电脑端之间的所述网络隧道。
9.本技术的一些实施例通过确保移动端和电脑端同处于目标局域网并建立网络隧道,可以实现数据的准确无误的安全传输,效率较高。
10.在一些实施例,在所述获取目标应用程序的通信数据包之前,所述方法还包括:将所述目标应用程序对应的数字证书发送至所述电脑端,以便于所述电脑端具有显示所述通信数据包内容的权限。
11.本技术的一些实施例通过将数字证书发送至电脑端,可以使得电脑端具有处理数据的权限,确保数据在保证安全的情况下进行处理。
12.在一些实施例,所述网络隧道为虚拟专用网络vpn隧道。
13.本技术的一些实施例通过vpn隧道,确保数据的安全传输。
14.在一些实施例,所述获取目标应用程序的通信数据包,包括:通过所述目标应用程序产生待发送数据包并发送至协议栈;通过所述协议栈检测所述待发送数据包的源地址和目的设备地址,按照路由规则将所述待发送数据包发送至虚拟网络设备,其中,所述路由规则设置有所述源地址和所述目的设备地址的映射关系;通过所述虚拟网络设备将所述待发送数据包转发至vpn应用程序;通过所述vpn应用程序将所述待发送数据包嵌入到生成的加密数据包中,得到所述通信数据包。
15.本技术的一些实施例通过对待发送数据包发送至vpn应用程序进行加密,得到通信数据包,可以保证数据是真实和完整性,而且可以保证数据的安全传输。
16.在一些实施例,在所述将所述通信数据包通过网络隧道发送至电脑端之前,所述方法还包括:通过所述协议栈接收所述vpn应用程序发送的所述通信数据包,并检测所述通信数据包的目的地址;通过物理网络设备接收所述协议栈发送的通信数据包,并按照所述目的地址,将所述通信数据包通过网络隧道发送至电脑端。
17.本技术的一些实施例通过检测到的通信数据包的目的地址发送至对应的电脑端,可以确保数据的精准传输。
18.第二方面,本技术的一些实施例提供了一种基于安卓系统的免权限抓包的装置,包括:获取模块,被配置为获取目标应用程序的通信数据包,其中,所述通信数据包为安全超文本传输协议https流量包或超文本传输协议http流量包;发送模块,被配置为将所述通信数据包通过网络隧道发送至电脑端,以便于所述电脑端抓取所述通信数据包并进行解析。
19.在一些实施例,获取模块,被配置为:确定所述电脑端所处的网络环境为目标局域网;响应于用户的操作指令,建立与所述电脑端之间的所述网络隧道。
20.在一些实施例,获取模块,被配置为:将所述目标应用程序对应的数字证书发送至所述电脑端,以便于所述电脑端具有显示所述通信数据包内容的权限。
21.在一些实施例,所述网络隧道为虚拟专用网络vpn隧道。
22.在一些实施例,获取模块,被配置为:通过所述目标应用程序产生待发送数据包并发送至协议栈;通过所述协议栈检测所述待发送数据包的源地址和目的设备地址,按照路由规则将所述待发送数据包发送至虚拟网络设备,其中,所述路由规则设置有所述源地址和所述目的设备地址的映射关系;通过所述虚拟网络设备将所述待发送数据包转发至vpn应用程序;通过所述vpn应用程序将所述待发送数据包嵌入到生成的加密数据包中,得到所述通信数据包。
23.在一些实施例,发送模块,被配置为:通过所述协议栈接收所述vpn应用程序发送的所述通信数据包,并检测所述通信数据包的目的地址;通过物理网络设备接收所述协议栈发送的通信数据包,并按照所述目的地址,将所述通信数据包通过网络隧道发送至电脑端。
24.第三方面,本技术的一些实施例提供一种计算机可读存储介质,其上存储有计算
机程序,所述程序被处理器执行时可实现如第一方面任一实施例所述的方法。
25.第四方面,本技术的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如第一方面任一实施例所述的方法。
26.第五方面,本技术的一些实施例提供一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如第一方面任一实施例所述的方法。
附图说明
27.为了更清楚地说明本技术的一些实施例的技术方案,下面将对本技术的一些实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
28.图1为本技术的一些实施例提供的基于安卓系统的免权限抓包的系统图;
29.图2为本技术的一些实施例提供的基于安卓系统的免权限抓包的方法流程图之一;
30.图3为本技术的一些实施例提供的基于安卓系统的免root抓包的架构图;
31.图4为本技术的一些实施例提供的基于安卓系统的免权限抓包的方法流程图之二;
32.图5为本技术的一些实施例提供的基于安卓系统的免权限抓包的装置组成框图;
33.图6为本技术的一些实施例提供的一种电子设备示意图。
具体实施方式
34.下面将结合本技术的一些实施例中的附图,对本技术的一些实施例中的技术方案进行描述。
35.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
36.首先对本技术实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
37.root:也称为具有最高权限的根用户,是unix和类unix系统,及android和ios移动设备系统中的唯一的超级用户,其可对根目录执行读写和执行操作。
38.vpn:virtual private network,虚拟专用网络,在公用网络上建立专用网络,进行加密通讯。
39.http:hyper text transfer protocol超文本传输协议,是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。
40.https:hypertext transfer protocol secure,是以安全为目标的http通道,在http的基础上通过传输加密和身份认证保证了传输过程的安全性。
41.协议栈:指网络中各层协议的总和。
42.相关技术中,为了实现在安卓android系统下的免root抓包,现有技术采用的方案是:在手机端(作为移动端的一个具体示例)创建虚拟通信通道,然后在虚拟通信通道上抓取通信数据包,并将这些通信数据包写入pcap文件中,将pcap文件保存到手机端指定目录下。最后,对pcap格式文件进行解析,并分析文件内容。不难看出,获取通信数据、将通信数据保存为pcap格式文件、解析pcap格式文件以及分析pcap文件内容等步骤都是在手机端内部完成的。但是,现有技术中仍然存在如下技术缺陷:
43.(1)将通信数据保存为pcap文件。当通信数据量很小时,上述技术方案是可行的,但当通信数据量过大时,pcap文件也会很大,此时对手机端的存储空间要求高,也会导致过度占用手机端资源。另外,pcap文件过大很可能会导致处理pcap文件的程序卡死,甚至崩溃。
44.(2)若pcap文件过大,则业务需求对处理性能和效率要求较高,而手机端的处理性能是很有限的,因此手机端处理文件的效率较低。
45.(3)在手机端处理pcap文件时,必然需要将处理程序存放到手机上,在存放处理程序过程中可能会破坏手机端的系统环境,而且如果处理程序发生异常,也可能会破坏手机端文件和系统功能。
46.由上述相关技术可知,现有技术中android系统的免toot抓包的方法效率无法保证,且会对手机端的正常运行造成不利影响。
47.鉴于此,本技术的一些实施例提供了基于安卓系统的免权限抓包的方法,该方法通过获取目标应用程序的通信数据包,然后将通信数据包通过网络隧道发送至电脑端。其中,通信数据包可以是不同类型的流量。本技术的一些实施例通过电脑端对通信数据包进行抓包和解析,可以确保移动端的正常运行的同时,实现android系统下的免root抓包处理,效率较高,适用的流量类型较广,实用性较高。
48.下面结合附图1示例性阐述本技术的一些实施例提供的基于安卓系统的免权限抓包的系统组成结构。
49.如图1所示,本技术的一些实施例提供了基于安卓系统的免权限抓包的系统图。基于安卓系统的免权限抓包的系统包括:手机端100(作为移动端的一个具体示例)和pc端200(也就是电脑端)。其中,手机端100可以和pc端200进行通信数据传输。手机端100可以内部获取目标应用程序的通信数据包。之后手机端100可以通过手机端100和pc端200建立的网络隧道,将通信数据包发送给pc端200。pc端200可以利用本地的抓包工具对通信数据包进行抓包和解析处理。
50.通过图1的系统可知,在本技术的一些实施例中,通信数据包的存储和处理均不在手机端100,可以有效保障手机端100的系统环境不会被破坏,使得通信数据包可以真实、准确且完整的传输至pc端200,即便通信数据包较大也能正常实现对其抓包分析,提升了抓包分析的处理性能,节约了时间成本。
51.下面结合附图2示例性阐述本技术的一些实施例提供的由手机端100执行的基于安卓系统的免root抓包的实现过程。
52.请参见附图2,图2为本技术的一些实施例提供的基于安卓系统的免权限抓包的方法流程图,基于安卓系统的免权限抓包的方法包括:s210,获取目标应用程序的通信数据包,其中,所述通信数据包为安全超文本传输协议https流量包或超文本传输协议http流量
包。s220将所述通信数据包通过网络隧道发送至电脑端,以便于所述电脑端抓取所述通信数据包并进行解析。
53.为了实现在免root情况下的抓包操作,且避免对手机端100产生不利影响,例如,在本技术的一些实施例中,首先确认好需要进行抓包分析的目标应用程序。之后手机端100可以获取目标应用程序与其他终端交互后产生的通信数据包。最后将通信数据包通过专用的网络隧道发送给pc端200,以使得pc端可以抓取通信数据包并进行解析。而且,通信数据包的流量类型可以是http流量或者https流量。本技术实施例并不局限于此。
54.需要说明的是,在常规的技术中,由于https流量是在进行加密和身份认证后进行传输的,因此,对https流量进行抓包和解析难以实现。现有技术中针对这种流量需要在手机端100安装抓包工具证书,否则抓包工具就无法显示https流量的内容。但是抓包工具证书在安装到手机端100时需要有root权限才可以实现,但是对于手机端100中没有root的情况下,也就无法对https流量进行分析。
55.为了解决上述问题,在本技术的一些实施例中,在执行s210之前,基于安卓系统的免权限抓包的方法还包括:将所述目标应用程序对应的数字证书发送至所述电脑端,以便于所述电脑端具有显示所述通信数据包内容的权限。
56.例如,在本技术的一些实施例中,目标应用程序均对应有自己的数字证书,为了保证业务的正常处理,移动端100可以将需要进行抓包分析的目标应用程序的数字证书提前发送到pc端200,或者相关管理人员可以将数字证书拷贝到pc端200。以使得pc端200获取显示https流量的内容的权限,进而实现对https流量的抓包分析处理。
57.为了确保数据的有效且完整是传输,在本技术的一些实施例中,在执行s210之前,基于安卓系统的免权限抓包的方法还包括:确定所述电脑端所处的网络环境为目标局域网;响应于用户的操作指令,建立与所述电脑端之间的所述网络隧道。
58.在本技术的一些实施例中,所述网络隧道为虚拟专用网络vpn隧道。
59.例如,在本技术的一些实施例中,需要对环境进行配置,确保手机端100和pc端200连接在同一个局域网(作为目标局域网的一个具体示例)下。之后相关管理人员可以在手机端100开启vpn功能,建立手机端100和pc端200之间的vpn隧道。
60.在本技术的一些实施例中,s210可以包括:通过所述目标应用程序产生待发送数据包,并发送至协议栈;通过所述协议栈检测所述待发送数据包的源地址和目的设备地址,按照路由规则将所述待发送数据包发送至虚拟网络设备,其中,所述路由规则设置有所述源地址和所述目的设备地址的映射关系;通过所述虚拟网络设备将所述待发送数据包转发至vpn应用程序;通过所述vpn应用程序将所述待发送数据包嵌入到生成的加密数据包中,得到所述通信数据包。
61.在本技术的一些实施例中,s220可以包括:通过所述协议栈接收所述vpn应用程序发送的所述通信数据包,并检测所述通信数据包的目的地址;通过物理网络设备接收所述协议栈发送的通信数据包,并按照所述目的地址,将所述通信数据包通过网络隧道发送至电脑端。
62.下面结合附图3提供的基于安卓系统的免root抓包的架构图,示例性阐s210和s220的具体实现过程。
63.请参见附图3,图3包括手机端100和pc端200。其中,手机端100内部还包括:目标应
用程序310、协议栈320、虚拟网络设备330、vpn应用程序340以及物理网络设备350。pc端200内部包括抓包工具和分析工具360。
64.例如,在本技术的一些实施例中,目标应用程序310提前准备好待发送数据包,该待发送数据包是目标应用程序与其他终端或软件进行交互产生的通信数据。之后,目标应用程序310将待发送数据包发送给协议栈320。协议栈320对待发送数据包进行检测,得到待发送数据包的源ip地址和目的设备ip地址,之后协议栈320基于路由匹配规则,将待发送数据包由源ip地址发送到目的设备ip地址对应的虚拟网络设备330。虚拟网络设备330(例如,虚拟网络设备330为tun0)将待发送数据包转发至vpn应用程序340。vpn应用程序340接收到待发送数据包后,对待发送数据包进行封装并添加加密认证内容,构造成一个新数据包(作为加密数据包的一个具体示例)并将待发送数据包的全部数据内容嵌入到新数据包中,得到通信数据包。vpn应用程序340将通信数据包发送给协议栈320,协议栈320再次检测通信数据包的源ip地址和目的ip地址,然后根据本地路由规则,将通信数据包发送给物理网络设备350(例如,物理网络设备350为eth0)。eth0将通信数据包通过vpn隧道发送给与目的ip地址相匹配的pc端200。pc端200利用抓包工具和分析工具360抓取通信数据包并进行处理和分析。其中,抓包工具可以的fiddler、charles或burpsuite等等。
65.下面结合附图4示例性阐述本技术的一些实施例提供的基于安卓系统的免root抓包的具体过程。
66.请参见附图4,图4为本技术的一些实施例提供的基于安卓系统的免权限抓包的方法流程图。下面以未root的手机端100上的指定目标应用程序的https流量特征进行抓包分析,例如,目标应用程序为testapp。
67.下面示例性阐述上述过程。
68.s410,确定移动端和电脑端所处的网络环境为目标局域网。
69.例如,作为本技术的一个具体示例,配置抓包分析环境,在手机端100上安装testapp,在pc端200上安装抓包工具和分析工具。之后将手机端100和pc端200连接到同一个目标局域网下。
70.s420,移动端响应于用户的操作指令,建立与电脑端之间的vpn隧道。
71.例如,作为本技术的一个具体示例,相关管理人员在手机端100的vpn应用程序申请vpn权限,开通vpn功能,建立vpn隧道。
72.s430,将移动端的目标应用程序对应的数字证书发送至电脑端。
73.例如,作为本技术的一个具体示例,手机端100可以将数字证书发送至pc端200,以使得pc端200具有查看https流量的内容。
74.s440,移动端内部获取目标应用程序的通信数据包。
75.例如,作为本技术的一个具体示例,手机端100在启动testapp后,通过图3提供的基于安卓系统的免root抓包的架构图对testapp的待发送数据包进行传输和vpn加密处理,得到通信数据包。具体实现过程可参照上述图3提供的实施例,为避免重复,在此不作赘述。
76.s450,移动端将通信数据包通过vpn隧道发送至电脑端。
77.例如,作为本技术的一个具体示例,手机端100将通信数据包通过vpn隧道发送到pc端200。
78.s460,电脑端对通信数据包进行抓包和解析。
79.例如,作为本技术的一个具体示例,pc端200的抓包工具持续监听接收通信数据包,并捕获通信数据包。最后,分析工具解析通信数据包,提取通信数据包中相应的特征进行分析。
80.在本技术的一些实施例中,在手机端100,采用vpn应用程序通过物理网络设备转发通信数据包到pc端200这项技术,不将通信数据包保存为手机本地文件,而是直接发送到pc端200,这样可以简化手机端100功能,使其运行安全稳定,也可以降低对手机存储空间的要求,使本方案在应用过程中适应性更强。另外,本技术采用数据产生模块与数据处理模块分离的技术,充分发挥功能模块各自的优势,促使整个系统安全,稳定,高效的运行。例如,手机端100是数据产生模块,就可以使手机端专注于产生数据,从而保证数据真实,完整,准确无误。pc端200是数据处理模块,就可以使其高效的分析处理数据。
81.通过上述本技术的一些实施例可知,本发明对手机端100的配置性能要求低,占用手机端100的资源少,不需要root手机,具有广泛的适用性。而且,不破坏手机端100系统环境与功能,使手机端100产生的通信数据真实,准确,完整。整个手机端100系统可以安全、稳定的运行,不会发生系统卡顿,崩溃等现象。另外,在pc端200处理通信数据包,可以大幅度提高处理效率,时效性更强,更好地节省时间成本。
82.请参考图5,图5示出了本技术的一些实施例提供的基于安卓系统的免权限抓包的装置的组成框图。应理解,该基于安卓系统的免权限抓包的装置与上述方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该基于安卓系统的免权限抓包的装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
83.图5的基于安卓系统的免权限抓包的装置包括至少一个能以软件或固件的形式存储于存储器中或固化在基于安卓系统的免权限抓包的装置中的软件功能模块,该基于安卓系统的免权限抓包的装置包括:获取模块510,被配置为获取目标应用程序的通信数据包,其中,所述通信数据包为安全超文本传输协议https流量包或超文本传输协议http流量包;发送模块520,被配置为将所述通信数据包通过网络隧道发送至电脑端,以便于所述电脑端抓取所述通信数据包并进行解析。
84.在本技术的一些实施例中,获取模块510,被配置为:确定所述电脑端所处的网络环境为目标局域网;响应于用户的操作指令,建立与所述电脑端之间的所述网络隧道。
85.在本技术的一些实施例中,获取模块510,被配置为:将所述目标应用程序对应的数字证书发送至所述电脑端,以便于所述电脑端具有显示所述通信数据包内容的权限。
86.在本技术的一些实施例中,所述网络隧道为虚拟专用网络vpn隧道。
87.在本技术的一些实施例中,获取模块510,被配置为:通过所述目标应用程序产生待发送数据包,并发送至协议栈;通过所述协议栈检测所述待发送数据包的源地址和目的设备地址,按照路由规则将所述待发送数据包发送至虚拟网络设备,其中,所述路由规则设置有所述源地址和所述目的设备地址的映射关系;通过所述虚拟网络设备将所述待发送数据包转发至vpn应用程序;通过所述vpn应用程序将所述待发送数据包嵌入到生成的加密数据包中,得到所述通信数据包。
88.在本技术的一些实施例中,发送模块520,被配置为:通过所述协议栈接收所述vpn应用程序发送的所述通信数据包,并检测所述通信数据包的目的地址;通过物理网络设备接收所述协议栈发送的通信数据包,并按照所述目的地址,将所述通信数据包通过网络隧
道发送至电脑端。
89.本技术的一些实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如上述实施例提供的上述方法中的任意实施例所对应方法的操作。
90.本技术的一些实施例还提供了一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如上述实施例提供的上述方法中的任意实施例所对应方法的操作。
91.如图6所示,本技术的一些实施例提供一种电子设备600,该电子设备600包括:存储器610、处理器620以及存储在存储器610上并可在处理器620上运行的计算机程序,其中,处理器620通过总线630从存储器610读取程序并执行所述程序时可实现如上述任意实施例的方法。
92.处理器620可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器620可以是微处理器。
93.存储器610可以用于存储由处理器620执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本技术实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器620可以用于执行存储器610中的指令以实现上述所示的方法。存储器610包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
94.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
95.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
96.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1