CN109582585A - 一种检测应用流量泄漏的方法和装置 - Google Patents
一种检测应用流量泄漏的方法和装置 Download PDFInfo
- Publication number
- CN109582585A CN109582585A CN201811551116.9A CN201811551116A CN109582585A CN 109582585 A CN109582585 A CN 109582585A CN 201811551116 A CN201811551116 A CN 201811551116A CN 109582585 A CN109582585 A CN 109582585A
- Authority
- CN
- China
- Prior art keywords
- target application
- application
- test
- network access
- target
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
Abstract
本发明公开了一种检测应用流量泄漏的方法和装置,属于计算机技术领域。所述方法包括:测试进程接收针对目标应用的流量测试指令,启动所述目标应用;在对所述目标应用进行场景模拟时,所述测试进程通过预先安装的busybox工具执行shell命令,获取所述目标应用的每个进程的网络访问状态信息;所述测试进程根据所述网络访问状态信息和预设的所述目标应用的定向IP地址,判断所述目标应用的每个进程是否出现流量泄漏。采用本发明,可以降低检测应用流量泄漏的时间人力成本,提高了检测应用流量泄漏的效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种检测应用流量泄漏的方法和装置。
背景技术
定向流量计费是一种基于CDN集群和移动网络的,针对指定应用的数据流量的计费方式。对于具备定向流量计费功能的应用A,CDN服务方可以将该应用A所有请求的目的IP地址上的应用资源汇总到同一CDN节点上。这样,用户在使用应用A时,网络运营商可以通过统计该CDN节点上的应用A的数据流量(可称为定向流量),对应用A产生的数据流量实现定向流量计费。
应用A在运行时,可能会出现部分发往其它IP地址的请求,而这些IP地址(可称为非定向IP地址)未被汇总到上述CDN节点,因此,网络运营商将会按照通用的流量计费方式对该请求的数据流量(可称为非定向流量)进行计费,从而增加了用户的流量费用,影响应用和移动网络的用户体验。为此,在针对应用开发定向流量计费功能的过程中,需要对应用中的非定向流量进行测试核对,以确定应用在运行过程中是否会产生非定向流量,即是否存在流量泄露的问题。
针对安卓系统下的应用A,进行非定向流量进行测试核对时,技术人员可以先将运行有该应用A的终端设备连接至测试设备,然后在模拟应用A的用户使用场景时,在测试设备上通过网络抓包工具对终端设备产生的网络数据包进行过滤。之后,技术人员可以提取过滤出的网络数据包的信息,判断该网络数据包是否由应用A发出,且是否发往已汇总的IP地址(可称为定向IP地址),进而通过判断结果来确定应用A是否存在流量泄露的问题。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
其一,受限于软/硬件的性能,通常只能以一台测试设备对一台终端设备进行测试,效率低下;其二,由于安卓系统后台应用的网络通信无法完全关闭,核对结果将受到很大干扰;其三,由人工来测试核对非定向流量,时间人力成本较高,同时核对结果的准确性难以保证。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种检测应用流量泄漏的方法和装置。所述技术方案如下:
第一方面,提供了一种检测应用流量泄漏的方法,所述方法包括:
测试进程接收针对目标应用的流量测试指令,启动所述目标应用;
在对所述目标应用进行场景模拟时,所述测试进程通过预先安装的busybox工具执行shell命令,获取所述目标应用的每个进程的网络访问状态信息;
所述测试进程根据所述网络访问状态信息和预设的所述目标应用的定向IP地址,判断所述目标应用的每个进程是否出现流量泄漏。
可选的,所述方法还包括:
所述测试进程根据系统进程预先记录的已安装应用的安装包名,判断当前设备是否安装有busybox工具;
如果未安装,所述测试进程则输出所述busybox工具的安装提示。
可选的,所述测试进程启动所述目标应用之后,还包括:
所述测试进程执行shell命令,根据所述目标应用的应用标识获取所述目标应用的每个进程的进程标识信息。
可选的,所述测试进程通过预先安装的busybox工具执行shell命令,获取所述目标应用的每个进程的网络访问状态信息,包括:
对于所述目标应用的目标进程,所述测试进程调用busybox工具执行netstat命令,获取当前内核中所有进程的网络访问状态信息;
所述测试进程从所述所有进程的网络访问状态信息中,获取所述目标进程的进程标识信息对应的网络访问状态信息。
可选的,所述测试进程调用busybox工具执行netstat命令,获取当前内核中所有进程的网络访问状态信息,包括:
所述测试进程周期性调用预先安装的busybox工具执行netstat命令,生成当前内核中所有进程的状态信息对照表,其中,所述状态信息对照表包括所述所有进程的网络访问连接的连接状态、对端地址和进程的进程标识信息的对应项。
可选的,所述测试进程启动所述目标应用之后,还包括:
所述测试进程基于预设的所述目标应用对应的场景模拟操作,向所述目标应用的应用进程发送不同的应用操作指令。
可选的,所述方法还包括:
当检测到所述目标应用的目标进程出现流量泄漏时,所述测试进程确定最近向所述应用进程发送的目标应用操作指令;
所述测试进程向所述应用进程再次发送所述目标应用操作指令,并获取所述目标进程的网络访问状态信息。
第二方面,提供了一种检测应用流量泄漏的装置,所述装置运行有测试进程,所述测试进程用于:
接收针对目标应用的流量测试指令,启动所述目标应用;
在对所述目标应用进行场景模拟时,通过预先安装的busybox工具执行shell命令,获取所述目标应用的每个进程的网络访问状态信息;
根据所述网络访问状态信息和预设的所述目标应用的定向IP地址,判断所述目标应用的每个进程是否出现流量泄漏。
可选的,所述测试进程,还用于:
根据系统进程预先记录的已安装应用的安装包名,判断当前设备是否安装有busybox工具;
如果未安装,则输出所述busybox工具的安装提示。
可选的,所述测试进程,还用于:
在启动所述目标应用之后,执行shell命令,根据所述目标应用的应用标识获取所述目标应用的每个进程的进程标识信息。
可选的,所述测试进程,具体用于:
对于所述目标应用的目标进程,调用busybox工具执行netstat命令,获取当前内核中所有进程的网络访问状态信息;
从所述所有进程的网络访问状态信息中,获取所述目标进程的进程标识信息对应的网络访问状态信息。
可选的,所述测试进程,具体用于:
周期性调用预先安装的busybox工具执行netstat命令,生成当前内核中所有进程的状态信息对照表,其中,所述状态信息对照表包括所述所有进程的网络访问连接的连接状态、对端地址和进程的进程标识信息的对应项。
可选的,所述测试进程,还用于:
在启动所述目标应用之后,基于预设的所述目标应用对应的场景模拟操作,向所述目标应用的应用进程发送不同的应用操作指令。
可选的,所述测试进程,还用于:
当检测到所述目标应用的目标进程出现流量泄漏时,确定最近向所述应用进程发送的目标应用操作指令;
向所述应用进程再次发送所述目标应用操作指令,并获取所述目标进程的网络访问状态信息。
第三方面,提供了一种测试终端,所述测试终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的检测应用流量泄漏的方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的检测应用流量泄漏的方法。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,测试进程接收针对目标应用的流量测试指令,启动目标应用;在对目标应用进行场景模拟时,测试进程通过预先安装的busybox工具执行shell命令,获取目标应用的每个进程的网络访问状态信息;测试进程根据网络访问状态信息和预设的目标应用的定向IP地址,判断目标应用的每个进程是否出现流量泄漏。这样,由测试进程通过busybox工具自动执行shell命令,获得包含有进程标识信息的网络访问状态信息,可以支持多台测试设备同时进行流量泄漏检测,并可以准确直观地确定发生流量泄漏的进程,且无需人工参与,降低了检测的时间人力成本,提高了检测的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种检测应用流量泄漏的方法流程图;
图2是本发明实施例提供的一种测试终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种检测应用流量泄漏的方法,该方法可以运用在应用的测试终端上,并具体由运行在测试终端上的测试进程来实现。其中,测试终端可以是应用处于测试阶段中,CDN服务方用来对应用的流量泄露情况进行检测的、配置有android操作系统的任意网络设备,在每台测试终端上,CDN服务方可以安装用于进行具体测试的测试工具。当需要检测应用是否存在流量泄漏问题时,CDN服务方可以在测试终端上启动上述测试工具运行测试进程,并通过测试进程来进行相关的检测处理。可以理解,如果在多台测试终端上均部署测试工具,则可以通过多台测试终端同时对一个或多个应用进行流量泄漏测试。上述测试终端可以包括处理器、存储器、收发器,处理器可以用于进行下述流程中的测试进程所执行的处理,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送下述处理过程中的相关数据。可以理解,本申请中测试进程所实现的所有处理,均可以理解为由运行测试进程的测试终端通过测试进程具体实现的。
下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:
步骤101,测试进程接收针对目标应用的流量测试指令,启动目标应用。
其中,应用为可运行在终端上的应用程序,目标应用则可为一个或者一类应用程序。
在实施中,在应用的定向流量计费功能的开发和测试阶段,CDN服务方可以通过测试终端对应用进行流量泄漏测试。以目标应用为例,CDN服务方的技术人员在检测目标应用是否存在流量泄漏问题时,可以先在测试终端上安装该目标应用,然后启动测试终端上预先部署的测试工具,运行测试进程。之后,技术人员可以在测试终端上输入针对目标应用的流量测试指令,从而触发测试进程接收该流量测试指令,确定待测试的目标应用,并调用系统Intent API(Application Programming Interface,应用程序编程接口)来启动目标应用。
可选的,在启动目标应用之后,测试进程可以通过shell命令获取相关的PID(Process Identification,进程标识)信息,相应的,步骤101后可以存在以下处理:测试进程执行shell命令,根据目标应用的应用标识获取目标应用的每个进程的进程标识信息。
其中,进程标识信息可以是用于唯一标记进程的信息,具体可以是PID信息,也可以是其它形式的信息,本实施例中统一以PID信息为例进行说明,其它形式的信息与之类似,不再一一介绍。
在实施中,目标应用启动后,测试进程可以执行shell命令,然后根据目标应用的应用标识来获取目标应用的每个进程的PID信息。具体的shell命令可以是“ps|grep”命令,用于获取当前测试终端上所有进程的PID信息,然后将目标应用的应用标识“packagename”作为“ps|grep”命令的参数,即构成“ps|grep packagename”,以过滤出目标应用的每个进程的PID信息。
步骤102,在对目标应用进行场景模拟时,测试进程通过预先安装的busybox工具执行shell命令,获取目标应用的每个进程的网络访问状态信息。
其中,网络访问状态信息可以是包括进程的网络访问连接的连接状态(如连接状态或断开状态),和网络访问连接的五元组信息,以及进程标识信息等。
在实施中,测试终端上可以预先安装有busybox工具,busybox工具可以是一个集成了三百多个常用Linux命令和工具的软件,通过busybox工具可以辅助获取android系统自带的完整的Linux命令行。故而,在启动目标应用后,可以先对目标应用进行场景模拟,以复现用户使用目标应用时所可能出现的所有场景。在对目标应用进行场景模拟时,测试进程可以通过预先安装的busybox工具执行shell命令,该shell命令则会切换成busybox工具的扩展命令。进而,测试进程可以获取到目标应用的每个进程的包含有进程标识信息的网络访问状态信息。需要说明的是,由于android系统自带的Linux命令行存在不完整的情况,通过busybox工具可以补全上述Linux命令行,从而可以获取到带有进程标识信息的网络访问状态信息。
可选的,基于上述测试进程获取进程标识信息的处理,测试进程可以通过进程标识信息获取进程对应的网络访问状态信息,相应的,步骤102中获取网络访问状态信息的处理可以如下:对于目标应用的目标进程,测试进程调用busybox工具执行netstat命令,获取当前内核中所有进程的网络访问状态信息;测试进程从所有进程的网络访问状态信息中,获取目标进程的进程标识信息对应的网络访问状态信息。
在实施中,测试进程在获取到目标应用的每个进程的PID信息之后,可以调用busybox工具执行“netstat”命令,具体即为调用execCommand("busybox netstat-anptu"),从而获取当前测试终端的内核中所有进程的网络访问状态信息。之后,对于目标应用的目标进程(该目标进程可以为目标应用的任一进程),测试进程可以根据已获取的目标进程的PID信息,在上述所有进程的网络访问状态信息中查找目标进程的PID信息对应的网络访问状态信息。
可选的,可以由统一的对照表的形式来记录进程的网络访问状态信息,相应的,获取所有进程网络访问状态信息的处理具体可以如下:测试进程周期性调用预先安装的busybox工具执行netstat命令,生成当前内核中所有进程的状态信息对照表。
其中,状态信息对照表包括所有进程的网络访问连接的连接状态、对端地址和进程的PID信息的对应项。
在实施中,在对目标应用进行场景模拟时,测试进程可以周期性地调用预先安装的busybox工具,并通过busybox工具执行“netsta”命令,从而可以生成测试终端上当前内核中所有进程的状态信息对照表。该状态信息对照表中可以记录有每个进程的网络访问连接的连接状态、对端地址和进程的PID信息的对应项,具体可参考表1所示。
表1
这样,通过状态信息对照表的形式可以清楚直观地反映当前内核中每个进程的网络访问状态信息,便于后续人工对进程的网络访问状态信息查看和确认。
步骤103,测试进程根据网络访问状态信息和预设的目标应用的定向IP地址,判断目标应用的每个进程是否出现流量泄漏。
在实施中,测试进程获取到目标应用的每个进程的网络访问状态信息之后,可以获取预设的目标应用的定向IP地址,该定向IP地址可以是CDN服务方基于目标应用的定向流量计费业务预先确定并配置在每个测试终端上的,具体可以以IP地址表的形式存在,该IP地址表可以以目标应用的应用标识为表名,并记录有已知的目标应用对应的所有定向IP地址。这样,测试进程可以将获取到的网络访问状态信息与上述预设的定向IP地址进行对比,从而判断目标应用的每个进程是否出现流量泄漏。具体的,当目标应用的某个进程的网络访问状态信息包含的对端地址中的IP地址不属于预设的目标应用的定向IP地址时,可以判定该进程出现流量泄漏,相反,如果上述对端地址中的IP地址与上述定向IP地址中的一项地址相同,则可以认为该进程未出现流量泄漏。例如,目标应用的进程A对应的对端地址的IP地址IPa为125.77.130.208,进程B对应的对端地址的IP地址IPb为125.77.120.208,而预设的目标应用的定向IP地址为125.77.130.0—125.77.130.255,则IPa属于定向IP地址,IPb不属于定向IP地址,故而,进程A未出现流量泄漏,进程B出现流量泄漏。进一步的,如果某个进程出现了流量泄漏,则可以将该进程的网络访问状态信息添加到目标应用的测试日志中。
可选的,测试进程在启动后,可以对测试终端上busybox工具的安装情况进行检测,相应的处理可以如下:测试进程根据系统进程预先记录的已安装应用的安装包名,判断当前设备是否安装有busybox工具;如果未安装,测试进程则输出busybox工具的安装提示。
在实施中,测试进程在运行后,可以获取测试终端的系统进程预先记录的,该测试终端上所有已安装应用的安装包名,具体可以调用execCommand("pm list package")来检索上述安装包名。之后,测试进程可以基于获取到的安装包名,判断测试终端中是否安装有busybox工具。如果未发现busybox工具的安装包名,则可以认为测试终端未安装busybox工具,测试进程可以输出busybox工具的安装提示,该安装提示的形式可以是文字显示、语音播报或者灯光闪烁等。当然,测试进程的配置文件中也可以预先存储有busybox工具的安装包,当检测到测试终端未安装有busybox工具时,测试进程可以调取该busybox工具的安装包,触发测试终端自动安装busybox工具。
可选的,测试工具中可以配置有对应用进行场景模拟的功能,相应的,测试进程在启动目标应用之后,可以存在如下处理:测试进程基于预设的目标应用对应的场景模拟操作,向目标应用的应用进程发送不同的应用操作指令。
在实施中,CDN服务方的技术人员在开发测试工具时,可以在测试工具中添加对应用进行场景模拟的功能,进一步的,考虑到同一类型的应用的使用场景基本相同,故而可以针对同一类型的应用,配置相同的场景模拟的功能代码,例如,对于视频播放类应用,可以提供视频播放、视频下载、视频分享等场景的模拟功能,对于即时通信类应用,可以提供文字会话、语音会话、视频会话等场景的模拟功能。这样,在测试进程启动目标应用后,可以确定目标应用所属的类别,然后基于预设的目标应用对应的场景模拟操作,即该类别下的场景模拟操作,向目标应用的应用进程发送不同的应用操作指令,从而实现对目标应用的场景模拟。值得一提的是,不同的应用操作指令的发送间隔可以根据应用场景的需要由人工自行调节。当然,对于目标应用的场景模拟,还可以由技术人员人工手动触发实现,或者由测试进程与人工结合的方式实现。
可选的,基于上述测试进程发送应用操作指令,实现应用场景模拟的处理,当检测到流量泄漏时,测试进程可以对当前场景进行重复模拟,以确认流量泄漏是否为偶然,相应的,测试进程的处理可以如下:当检测到目标应用的目标进程出现流量泄漏时,测试进程确定最近向应用进程发送的目标应用操作指令;测试进程向应用进程再次发送目标应用操作指令,并获取目标进程的网络访问状态信息。
在实施中,测试进程在对目标应用的所有进程的网络访问状态信息进行分析时,如果发现目标应用的某个进程(如目标进程)出现了流量泄漏,则可以确定出现该流量泄漏的应用使用场景,并对该应用使用场景再次复现。具体的,测试进程可以先确定最近向应用进程发送的目标应用操作指令,然后向目标应用的应用进程再次发送该目标应用操作指令。之后,测试进程可以获取目标进程的网络访问状态信息,然后根据网络访问状态信息进一步确定目标进程是否存在流量泄漏问题。不难理解,可以设定在首次检测到某个进程存在流量泄漏问题时,需通过N次场景复现,并判断每次场景复现时,该进程是否都存在流量泄漏问题,这样,可以降低检测结果受偶然事件的影响,一定程度上保证了检测结果的准确性。
本发明实施例中,测试进程接收针对目标应用的流量测试指令,启动目标应用;在对目标应用进行场景模拟时,测试进程通过预先安装的busybox工具执行shell命令,获取目标应用的每个进程的网络访问状态信息;测试进程根据网络访问状态信息和预设的目标应用的定向IP地址,判断目标应用的每个进程是否出现流量泄漏。这样,由测试进程通过busybox工具自动执行shell命令,获得包含有进程标识信息的网络访问状态信息,可以支持多台测试设备同时进行流量泄漏检测,并可以准确直观地确定发生流量泄漏的进程,且无需人工参与,降低了检测的时间人力成本,提高了检测的效率。
基于相同的技术构思,本发明实施例还提供了一种检测应用流量泄漏的装置,所述装置运行有测试进程,所述测试进程用于:
接收针对目标应用的流量测试指令,启动所述目标应用;
在对所述目标应用进行场景模拟时,通过预先安装的busybox工具执行shell命令,获取所述目标应用的每个进程的网络访问状态信息;
根据所述网络访问状态信息和预设的所述目标应用的定向IP地址,判断所述目标应用的每个进程是否出现流量泄漏。
可选的,所述测试进程,还用于:
根据系统进程预先记录的已安装应用的安装包名,判断当前设备是否安装有busybox工具;
如果未安装,则输出所述busybox工具的安装提示。
可选的,所述测试进程,还用于:
在启动所述目标应用之后,执行shell命令,根据所述目标应用的应用标识获取所述目标应用的每个进程的进程标识信息。
可选的,所述测试进程,具体用于:
对于所述目标应用的目标进程,调用busybox工具执行netstat命令,获取当前内核中所有进程的网络访问状态信息;
从所述所有进程的网络访问状态信息中,获取所述目标进程的进程标识信息对应的网络访问状态信息。
可选的,所述测试进程,具体用于:
周期性调用预先安装的busybox工具执行netstat命令,生成当前内核中所有进程的状态信息对照表,其中,所述状态信息对照表包括所述所有进程的网络访问连接的连接状态、对端地址和进程的进程标识信息的对应项。
可选的,所述测试进程,还用于:
在启动所述目标应用之后,基于预设的所述目标应用对应的场景模拟操作,向所述目标应用的应用进程发送不同的应用操作指令。
可选的,所述测试进程,还用于:
当检测到所述目标应用的目标进程出现流量泄漏时,确定最近向所述应用进程发送的目标应用操作指令;
向所述应用进程再次发送所述目标应用操作指令,并获取所述目标进程的网络访问状态信息。
本发明实施例中,测试进程接收针对目标应用的流量测试指令,启动目标应用;在对目标应用进行场景模拟时,测试进程通过预先安装的busybox工具执行shell命令,获取目标应用的每个进程的网络访问状态信息;测试进程根据网络访问状态信息和预设的目标应用的定向IP地址,判断目标应用的每个进程是否出现流量泄漏。这样,由测试进程通过busybox工具自动执行shell命令,获得包含有进程标识信息的网络访问状态信息,可以支持多台测试设备同时进行流量泄漏检测,并可以准确直观地确定发生流量泄漏的进程,且无需人工参与,降低了检测的时间人力成本,提高了检测的效率。
需要说明的是:上述实施例提供的检测应用流量泄漏的装置在检测应用流量泄漏时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的检测应用流量泄漏的装置与检测应用流量泄漏的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图2是本发明实施例提供的测试终端的结构示意图。该测试终端200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器222(例如,一个或一个以上处理器)和存储器232,一个或一个以上存储应用程序242或数据244的存储介质230(例如一个或一个以上海量存储设备)。其中,存储器232和存储介质230可以是短暂存储或持久存储。存储在存储介质230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对测试终端200中的一系列指令操作。更进一步地,中央处理器222可以设置为与存储介质230通信,在测试终端200上执行存储介质230中的一系列指令操作。
测试终端200还可以包括一个或一个以上电源229,一个或一个以上有线或无线网络接口250,一个或一个以上输入输出接口258,一个或一个以上键盘256,和/或,一个或一个以上操作系统241,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等等。
测试终端200可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行上述检测应用流量泄漏的指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种检测应用流量泄漏的方法,其特征在于,所述方法包括:
测试进程接收针对目标应用的流量测试指令,启动所述目标应用;
在对所述目标应用进行场景模拟时,所述测试进程通过预先安装的busybox工具执行shell命令,获取所述目标应用的每个进程的网络访问状态信息;
所述测试进程根据所述网络访问状态信息和预设的所述目标应用的定向IP地址,判断所述目标应用的每个进程是否出现流量泄漏。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述测试进程根据系统进程预先记录的已安装应用的安装包名,判断当前设备是否安装有busybox工具;
如果未安装,所述测试进程则输出所述busybox工具的安装提示。
3.根据权利要求1所述的方法,其特征在于,所述测试进程启动所述目标应用之后,还包括:
所述测试进程执行shell命令,根据所述目标应用的应用标识获取所述目标应用的每个进程的进程标识信息。
4.根据权利要求3所述的方法,其特征在于,所述测试进程通过预先安装的busybox工具执行shell命令,获取所述目标应用的每个进程的网络访问状态信息,包括:
对于所述目标应用的目标进程,所述测试进程调用busybox工具执行netstat命令,获取当前内核中所有进程的网络访问状态信息;
所述测试进程从所述所有进程的网络访问状态信息中,获取所述目标进程的进程标识信息对应的网络访问状态信息。
5.根据权利要求4所述的方法,其特征在于,所述测试进程调用busybox工具执行netstat命令,获取当前内核中所有进程的网络访问状态信息,包括:
所述测试进程周期性调用预先安装的busybox工具执行netstat命令,生成当前内核中所有进程的状态信息对照表,其中,所述状态信息对照表包括所述所有进程的网络访问连接的连接状态、对端地址和进程的进程标识信息的对应项。
6.根据权利要求1所述的方法,其特征在于,所述测试进程启动所述目标应用之后,还包括:
所述测试进程基于预设的所述目标应用对应的场景模拟操作,向所述目标应用的应用进程发送不同的应用操作指令。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当检测到所述目标应用的目标进程出现流量泄漏时,所述测试进程确定最近向所述应用进程发送的目标应用操作指令;
所述测试进程向所述应用进程再次发送所述目标应用操作指令,并获取所述目标进程的网络访问状态信息。
8.一种检测应用流量泄漏的装置,其特征在于,所述装置运行有测试进程,所述测试进程用于:
接收针对目标应用的流量测试指令,启动所述目标应用;
在对所述目标应用进行场景模拟时,通过预先安装的busybox工具执行shell命令,获取所述目标应用的每个进程的网络访问状态信息;
根据所述网络访问状态信息和预设的所述目标应用的定向IP地址,判断所述目标应用的每个进程是否出现流量泄漏。
9.根据权利要求8所述的装置,其特征在于,所述测试进程,还用于:
根据系统进程预先记录的已安装应用的安装包名,判断当前设备是否安装有busybox工具;
如果未安装,则输出所述busybox工具的安装提示。
10.根据权利要求8所述的装置,其特征在于,所述测试进程,还用于:
在启动所述目标应用之后,执行shell命令,根据所述目标应用的应用标识获取所述目标应用的每个进程的进程标识信息。
11.根据权利要求10所述的装置,其特征在于,所述测试进程,具体用于:
对于所述目标应用的目标进程,调用busybox工具执行netstat命令,获取当前内核中所有进程的网络访问状态信息;
从所述所有进程的网络访问状态信息中,获取所述目标进程的进程标识信息对应的网络访问状态信息。
12.根据权利要求11所述的装置,其特征在于,所述测试进程,具体用于:
周期性调用预先安装的busybox工具执行netstat命令,生成当前内核中所有进程的状态信息对照表,其中,所述状态信息对照表包括所述所有进程的网络访问连接的连接状态、对端地址和进程的进程标识信息的对应项。
13.根据权利要求8所述的装置,其特征在于,所述测试进程,还用于:
在启动所述目标应用之后,基于预设的所述目标应用对应的场景模拟操作,向所述目标应用的应用进程发送不同的应用操作指令。
14.根据权利要求13所述的装置,其特征在于,所述测试进程,还用于:
当检测到所述目标应用的目标进程出现流量泄漏时,确定最近向所述应用进程发送的目标应用操作指令;
向所述应用进程再次发送所述目标应用操作指令,并获取所述目标进程的网络访问状态信息。
15.一种测试终端,其特征在于,所述测试终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一所述的检测应用流量泄漏的方法。
16.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一所述的检测应用流量泄漏的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811551116.9A CN109582585A (zh) | 2018-12-18 | 2018-12-18 | 一种检测应用流量泄漏的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811551116.9A CN109582585A (zh) | 2018-12-18 | 2018-12-18 | 一种检测应用流量泄漏的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109582585A true CN109582585A (zh) | 2019-04-05 |
Family
ID=65930917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811551116.9A Pending CN109582585A (zh) | 2018-12-18 | 2018-12-18 | 一种检测应用流量泄漏的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109582585A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277502A (zh) * | 2022-06-17 | 2022-11-01 | 广州根链国际网络研究院有限公司 | 一种针对APP应用的自动化测量IPv6流量的方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2693715A1 (en) * | 2012-08-02 | 2014-02-05 | Alcatel Lucent | A system and a method for detecting cheating applications |
CN103684803A (zh) * | 2013-12-11 | 2014-03-26 | 中国联合网络通信集团有限公司 | 流量采集装置和定向流量计费系统和方法 |
CN104468269A (zh) * | 2014-12-01 | 2015-03-25 | 郭丹 | 一种基于Android终端设备的定向流量监管方法 |
CN104484259A (zh) * | 2014-11-25 | 2015-04-01 | 北京奇虎科技有限公司 | 应用程序的流量监控方法、装置和移动终端 |
CN104699598A (zh) * | 2013-12-09 | 2015-06-10 | 腾讯科技(深圳)有限公司 | 自动化测试方法、装置、设备及系统 |
CN105208605A (zh) * | 2014-06-20 | 2015-12-30 | 中兴通讯股份有限公司 | 链路信息的发送方法、装置和流量的控制方法、装置 |
CN105814837A (zh) * | 2014-11-19 | 2016-07-27 | 华为技术有限公司 | 一种定向统计流量的方法、设备及系统 |
CN106535240A (zh) * | 2015-09-11 | 2017-03-22 | 飞思达技术(北京)有限公司 | 基于云平台的移动app集中性能分析方法 |
CN107135085A (zh) * | 2017-05-03 | 2017-09-05 | 网宿科技股份有限公司 | 定向流量的统计控制方法、系统 |
-
2018
- 2018-12-18 CN CN201811551116.9A patent/CN109582585A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2693715A1 (en) * | 2012-08-02 | 2014-02-05 | Alcatel Lucent | A system and a method for detecting cheating applications |
CN104699598A (zh) * | 2013-12-09 | 2015-06-10 | 腾讯科技(深圳)有限公司 | 自动化测试方法、装置、设备及系统 |
CN103684803A (zh) * | 2013-12-11 | 2014-03-26 | 中国联合网络通信集团有限公司 | 流量采集装置和定向流量计费系统和方法 |
CN105208605A (zh) * | 2014-06-20 | 2015-12-30 | 中兴通讯股份有限公司 | 链路信息的发送方法、装置和流量的控制方法、装置 |
CN105814837A (zh) * | 2014-11-19 | 2016-07-27 | 华为技术有限公司 | 一种定向统计流量的方法、设备及系统 |
CN104484259A (zh) * | 2014-11-25 | 2015-04-01 | 北京奇虎科技有限公司 | 应用程序的流量监控方法、装置和移动终端 |
CN104468269A (zh) * | 2014-12-01 | 2015-03-25 | 郭丹 | 一种基于Android终端设备的定向流量监管方法 |
CN106535240A (zh) * | 2015-09-11 | 2017-03-22 | 飞思达技术(北京)有限公司 | 基于云平台的移动app集中性能分析方法 |
CN107135085A (zh) * | 2017-05-03 | 2017-09-05 | 网宿科技股份有限公司 | 定向流量的统计控制方法、系统 |
Non-Patent Citations (2)
Title |
---|
AYUVZ: "什么软件可以监控定向流量", 《HTTPS://WENDA.SO.COM/Q/1453391797724261》 * |
雷震甲: "《计算机网络》", 30 April 2017, 西安电子科技大学出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277502A (zh) * | 2022-06-17 | 2022-11-01 | 广州根链国际网络研究院有限公司 | 一种针对APP应用的自动化测量IPv6流量的方法 |
CN115277502B (zh) * | 2022-06-17 | 2023-10-10 | 广州根链国际网络研究院有限公司 | 一种针对APP应用的自动化测量IPv6流量的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8874736B2 (en) | Event extractor | |
CN105808399B (zh) | 一种远程调试的方法和装置 | |
CN104581785B (zh) | 无线网络测试方法、测试装置和移动终端 | |
CN109379247A (zh) | 一种对应用程序的网络延时进行检测的方法及装置 | |
CN105187394A (zh) | 具有移动终端恶意软件行为检测能力的代理服务器及方法 | |
CN109582517A (zh) | 系统应用自动化测试方法、装置、系统及工具存储端 | |
CN112671860A (zh) | 用于kubernetes集群的服务访问方法、系统、电子设备及介质 | |
CN105187390B (zh) | 主动式移动终端恶意软件网络流量数据集获取方法及系统 | |
US9232420B1 (en) | Automated network testing using in-progress call detail records | |
CN109582585A (zh) | 一种检测应用流量泄漏的方法和装置 | |
CN109587643A (zh) | 一种检测应用流量泄漏的方法和装置 | |
CN109815121B (zh) | 接口自动化测试用例生成方法及相关设备 | |
CN110532193A (zh) | 一种性能分析方法、装置、计算设备及存储介质 | |
CN114885365B (zh) | 业务规则检测方法、装置、电子设备及存储介质 | |
CN111198806A (zh) | 一种基于服务开放平台的服务调用数据统计分析方法及系统 | |
CN103326892B (zh) | Web接口的操作方法及装置 | |
CN102395141B (zh) | 一种基于一致性测试的重现方法和设备 | |
CN115617668A (zh) | 一种兼容性测试方法、装置及设备 | |
CN111666097B (zh) | 基于业务场景的能力显性化方法和装置 | |
CN108737387A (zh) | 网络请求的记录方法、服务器及计算机可读存储介质 | |
CN104486512B (zh) | 呼叫检测方法及装置 | |
US9253652B1 (en) | Ad hoc formation of a swarm for information collection and distribution | |
CN107634851B (zh) | 一种移动终端动态配置服务器的方法 | |
CN113905105B (zh) | 一种建立应用依赖关系的方法及装置 | |
CN112468355B (zh) | 一种iot设备管理应用测试方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
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: 20190405 |