CN106331071A - Android应用程序网络流量的远程采集系统及方法 - Google Patents

Android应用程序网络流量的远程采集系统及方法 Download PDF

Info

Publication number
CN106331071A
CN106331071A CN201610679169.3A CN201610679169A CN106331071A CN 106331071 A CN106331071 A CN 106331071A CN 201610679169 A CN201610679169 A CN 201610679169A CN 106331071 A CN106331071 A CN 106331071A
Authority
CN
China
Prior art keywords
application program
user
android
network traffics
submodule
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.)
Granted
Application number
CN201610679169.3A
Other languages
English (en)
Other versions
CN106331071B (zh
Inventor
曹栋
陈贞翔
杨波
孙润元
彭立志
李群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Jinan
Original Assignee
University of Jinan
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Jinan filed Critical University of Jinan
Priority to CN201610679169.3A priority Critical patent/CN106331071B/zh
Publication of CN106331071A publication Critical patent/CN106331071A/zh
Application granted granted Critical
Publication of CN106331071B publication Critical patent/CN106331071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了Android应用程序网络流量的远程采集系统及方法;系统部署在远程服务器中,包括:Web服务器,部署Guacamole组件、Guacd组件和Web控制模块;所述Web服务器为Guacamole组件和Guacd组件提供运行环境;Guacamole组件,与数据库连接,Guacamole组件还通过Guacd组件与Android终端连接,所述Guacamole组件用于将Android终端上的VNC服务器发出的数据传给客户端的浏览器,客户端的浏览器支持HTML5,使用户能够直接在支持HTML5的浏览器中远程操控Android终端上的VNC服务器;它具有让用户无需用户搭建平台,仅需打开网页浏览器即可方便、快速获取Android应用程序流量的优点。

Description

Android应用程序网络流量的远程采集系统及方法
技术领域
本发明涉及Android应用程序网络流量的远程采集系统及方法。
背景技术
采集Android应用程序运行时产生的网络流量时,通常需要在计算机中部署一个网络流量采集平台,这种方式对于一般的用户或者仅需要少量网络流量的研究人员而且是费时费力的。特别是在采集一些安全性未知的Android应用程序时,盲目的采集通常会带来很大的安全隐患。
VNC(Virtual Network Computer)是虚拟网络计算机的缩写。借助该技术在远程计算机上搭建VNC服务器,从而使用户可以远程使用计算机。Android VNC Server是一款可以搭建在Android平台上的VNC服务器,使用户可以远程操控Android设备。
Guacamole是一个基于HTML 5和JavaScript的VNC查看器,服务端基于Java的VNC-to-XML代理开发。要求浏览器支持HTML5。使用户可以通过支持HTML5的浏览器访问远程的VNC服务器。
基于以上现状,为解决远程采集Android应用程序产生的网络流量这一问题,存在以下几点技术问题需要解决:
(1)如何远程运行用户操作指定的Android设备或者Android虚拟设备;
(2)如何满足用户上传Android应用程序安装包,并且将Android应用程序安装包安装到指定的受控Android设备或者Android虚拟设备;
(3)如何满足用户对应用程序远程操作结束后,下载该应用程序运行时产生的网络流量文件;
(4)如何满足用户远程对Android设备或者Android虚拟设备进行操作,而不需要下载客户端。
发明内容
本发明的目的就是为了解决上述问题,提供一种Android应用程序网络流量的远程采集系统及方法,它具有让用户无需用户搭建平台,仅需打开网页浏览器即可方便、快速获取Android应用程序流量的优点。
为了实现上述目的,本发明采用如下技术方案:
Android应用程序网络流量的远程采集系统,部署在远程服务器中,包括:
Web服务器,部署Guacamole组件、Guacd组件和Web控制模块;所述Web服务器为Guacamole组件和Guacd组件提供运行环境;
Guacamole组件,与数据库连接,Guacamole组件还通过Guacd组件与Android终端连接,所述Guacamole组件用于将Android终端上的VNC服务器发出的数据传给客户端的浏览器,客户端的浏览器支持HTML5,从而使用户能够直接在支持HTML5的浏览器中远程操控Android终端上的VNC服务器。
Web控制模块,分别与数据库、文件存储服务器和Android终端连接,Web控制模块用于完成用户注册登录、将Android应用程序安装包远程上传给Android终端和从Android终端下载网络流量文件。
Web控制模块包括:用户信息处理子模块、任务调配子模块、Android终端控制子模块和网络流量文件链接生成子模块;
用户信息处理子模块,与数据库连接,负责用户的注册申请和登录验证,当用户请求远程采集网络流量时,用户信息处理子模块会配合任务调配子模块创建采集任务,并将采集任务和用户进行绑定;
任务调配子模块,负责用户进行流量采集任务时的调配工作,当用户请求远程采集网络流量时,任务调配子模块创建采集任务,将创建的采集任务存储到数据库中,随后向Android终端控制子模块发送启动Android终端指令;
Android终端控制子模块,用于接收任务调配子模块的指令,控制Android终端安装Android应用程序,Android终端控制子模块对网络流量进行采集,网络流量采集结束时,Android终端控制子模块向网络流量文件链接生成子模块发出网络流量采集结束的指令,采集到的网络流量文件存储到文件存储服务器中;
网络流量文件链接生成子模块,对文件存储服务器中存储的网络流量文件进行处理,生成网络流量文件链接,并将生成的网络流量链接通过任务调配子模块发送给客户端,供用户通过浏览器远程查看。
优选的,所述Android终端包括Android设备或Android虚拟设备。
优选的,所述Android终端安装有Android VNC Server。
优选的,所述远程服务器与防火墙连接。
优选的,所述远程服务器依次通过防火墙和互联网与支持HTML5浏览器的客户端连接。
Android应用程序网络流量的远程采集方法,包括如下步骤:
步骤(1):接收选择服务类型的指令;若指令是通过批量Android应用程序自动操作来采集Android应用程序运行时产生的网络流量,则进入步骤(2);若指令是通过单个Android应用程序手动操作来采集Android应用程序运行时产生的网络流量,则进入步骤(3);
步骤(2):调用批量Android应用程序自动操作子流程进行网络流量采集;采集网络流量任务完成后,检测批量Android应用程序自动操作子流程返回的结果是否存在异常结束的标示,如果存在,则直接结束;如果不存在异常结束的标示,则向用户发送任务完成指令,通知用户进行下载;
步骤(3):调用单个Android应用程序手动操作子流程进行网络流量采集;采集网络流量任务完成后,检测单个Android应用程序手动操作子流程返回的结果是否存在异常结束的标示,如果存在,则直接结束;如果不存在异常结束的标示,向用户提供下载采集到的网络流量文件的链接。
所述步骤(2)中的批量Android应用程序自动操作子流程的步骤为:
步骤(2-1):接收用户批量上传的Android应用程序的安装包;
步骤(2-2):调用aapt dump badging命令检测Android应用程序的安装包是否完整有效;若Android应用程序的安装包完整有效,则提供不同的自动运行模式供用户选择;根据用户的选择记录任务执行的模式;若Android应用程序的安装包无效,则提示用户无效并结束;
步骤(2-3):选取一台空闲的Android终端,将Android终端与用户的信息在数据库中进行绑定,同时标记Android终端为非空闲;
步骤(2-4):在用户上传的Android应用程序的安装包中提取出一个Android应用程序安装包;启动被绑定的Android终端,将用户上传的Android应用程序安装到Android终端中,并启动tcpdump程序开始采集网络流量;
步骤(2-5):启动安装的Android应用程序,同时根据记录的任务执行模式,启动对应的任务执行模式对应的程序,开始产生网络流量;
步骤(2-6):自动化操作完成后,关闭Android终端,检测在用户上传的应用程序安装包的队列中是否还有未运行的安装程序,如果还有则返回步骤(2-4)开始新的一轮操作;如果用户上传的应用程序安装包的队列中的应用程序都运行完毕,则将本次任务采集的网络流量文件打包并生成下载链接,结束。
优选的,步骤(2-1)还接收用户的电子邮箱地址,所述电子邮箱地址用于接收消息。
优选的,步骤(2-2)还调用正则表达式检测电子邮箱地址的格式是否正确。
优选的,步骤(2-2)如果应用程序安装包和/或电子邮箱地址格式是无效的,则提醒用户无效,并带着异常标示退出本次操作;如果应用程序安装包和电子邮箱地址格式均检测有效,允许用户选择自动运行模式。
优选的,步骤(2-2)中所述自动运行模式包括Monkey运行模式、无干扰运行模式和模拟人工操作运行模式;
优选的,步骤(2-2)提供不同的自动运行模式供用户选择的步骤为:
步骤(2-2-1):当接收到Monkey运行模式的选择指令时,记录本次任务执行的模式,并在应用程序运行过程中启动Monkey程序,接收用户对Android终端发出随机的点击、滑动等屏幕触控事件,并在达到预设的触控次数之后结束,完成本次操作;进入步骤(2-3);
步骤(2-2-2):当接收到无干扰运行模式的选择指令时,记录本次任务执行的模式,并在应用程序运行过程中,不对运行过程做任何干涉,待达到规定的运行时间后结束,完成本次操作;进入步骤(2-3);
步骤(2-2-3):当接收到模拟人工操作运行模式的选择指令时,记录本次任务执行的模式,并在应用程序运行过程中调用模拟人工操作的程序,对应用程序界面中的可点击的组件进行逐层遍历式的点击,从而实现模拟人工使用应用程序时的操作流程;达到系统预设的点击次数后结束,完成本次操作;进入步骤(2-3)。
优选的,步骤(2-5)中所述可点击组件包括按钮或链接。
优选的,步骤(2-5)中所述逐层遍历式的点击是对当前应用程序首界面中的组件逐个点击完毕后,在对第二层界面中的组件逐个点击。
所述步骤(3)中的单个Android应用程序手动操作子流程的步骤为:
步骤(3-1):接收用户上传的单个Android应用程序的安装包;
步骤(3-2):调用aapt dump badging命令检测应用程序的安装包是否完整有效;如果无效,则提醒用户安装包无效,带着异常标示结束;如果有效,则选取一台空闲的Android终端;将Android终端与用户的信息在数据库中进行绑定,同时标记Android终端为非空闲;
步骤(3-3):启动被绑定的Android终端,并将用户上传的Android应用程序安装到Android终端中,同时启动tcpdump程序开始采集网络流量;接收用户远程对Android终端进行操作的指令;等待用户退出操作后,关闭Android终端,并将采集的网络流量文件生成下载链接供用户下载,结束。
本发明的有益效果:
(1)为需要采集Android应用程序网络流量的用户,提供了一个便捷的平台。让用户可以使用计算机中的浏览器通过简单的注册登录流程,就可以远程控制Android终端,运行指定的应用程序。运行结束后即可下载到运行时产生的网络流量。
(2)为用户提供了一个安全的远程运行Android应用程序的环境。本系统部署在带有防火墙和NAT服务的网络环境内。不仅可以让用户获取安全性未知的Android应用程序网络流量,也可以在一定程度上保护系统不会因为运行恶意应用程序而受到攻击。
(3)本发明还设计了批量的采集Android应用程序网络流量的功能。允许用户远程批量上传Android应用程序的安装包,并且选择多种应用程序自动化运行方法。并在运行结束时向用户提供的邮箱中发送下载链接。供用户下载应用程序运行时产生的网络流量。
附图说明
图1为可提供远程采集Android应用程序网络流量服务的系统框架图;
图2为Web控制模块内部功能子模块连接关系示意图;
图3为本发明的工作总体流程图;
图4为本发明实现单个Android应用程序手动操作的流程图;
图5为本发明实现批量Android应用程序自动操作的流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
一种可提供远程采集Android应用程序网络流量服务的系统具体工作过程为:
1)系统接收到用户远程的登录请求,通过验证后,等待用户选择所需要提供的服务。
2)当用户选择单个Android应用程序手动操作时,首先,系统接收用户上传的Android应用程序的安装包;其次,在当前空闲的Android终端中选取一台分配给该用户,并将该用户的信息和Android终端信息绑定存储在数据库中;然后,在将用户上传的应用程序安装在选中的Android终端中,并启动Android VNC Server(安卓虚拟网络计算机服务器)。最后,通知用户可以登录平台进行操作。
3)用户发出请求远程接入Android终端的命令,系统中的Guacamole组件在数据库中查找用户和该Android终端是否已经绑定,如果没有绑定,则说明用户没有权限接入该终端,对用户请求作出拒绝响应。如果用户和该Android终端已经绑定,则通过Guacd组件将远程显示、控制等操作使用的的VNC协议转换为Guacamole协议,Guacamole组件再将Guacamole协议封装成Http协议,供用户在支持HTML5的浏览器中远程的显示、操作Android终端。
4)服务器端的Android终端中运行的Tcpdump程序负责网络流量的采集工作,并将采集到的网络流量存储在文件存储服务器中。当用户停止采集网络流量后,Tcpdump程序也将停止运行,并将本次采集的网络流量文件生成下载链接,供用户进行下载。
5)当用户登陆系统后选择的是批量自动采集Android应用程序网络流量时。系统接收用户批量上传的Android应用程序安装包和用户电子邮箱地址。系统根据用户选择的自动采集模式,系统开始逐一的安装Android应用程序,并根据采集模式自动运行,自动采集运行时产生的网络流量。其中自动采集模式分为程序无干扰运行模式、外挂monkey组件运行模式、外挂模拟人工操作组件运行模式。程序无干扰运行模式即程序运行后,不对程序做任何操作,等待运行一段设定的时间后停止。外挂monkey组件运行模式即程序运行后,启动monkey组件,对运行中的程序发送随机的点击、滑动等触控事件,当完成预先设定的触控次数后,程序停止运行。外挂模拟人工操作组件运行模式即程序运行后,启动模拟人工操作组件,该组件是编写的Android应用程序界面自动化遍历程序,可以实现模拟人工操作应用程序的过程,实现对应用程序按钮等组件的逐一点击,当达到用户设定的点击次数或者应用程序退出时,程序停止运行。
6)当系统完成全部Android应用程序的网络流量采集工作后,系统会自动向用户提交的电子邮箱中发送一条采集完成信息,提醒用户进行网络流量文件的下载。
为了更好的理解本发明,以下给出了本发明更为详细的说明:
图1为一种可提供远程采集Android应用程序网络流量服务的系统框架图。用户可以从本地支持HTML5的浏览器中登录系统。系统部署在有防火墙保护的远程服务器中。系统整体分为三部分:
Web服务器,部署Guacamole组件、Guacd组件和Web控制模块;所述Web服务器用于运行Web应用程序完成用户注册登录、将Android应用程序安装包远程上传给Android终端和从Android终端下载网络流量文件,以及为Guacamole组件和Guacd组件提供运行环境;
数据库,同时连接guacamole组件和系统管理程序;
安装有Android VNC Server的Android终端,通过guacd组件和guacamole组件使用户可以实现远程操作终端的功能,同时系统管理程序控制Android终端进行终端的配置、启动、安装应用程序、采集网络流量等工作。
如图2所示,Web控制模块包括:用户信息处理子模块、任务调配子模块、Android终端控制子模块和网络流量文件链接生成子模块;
用户信息处理子模块,与数据库连接,负责用户的注册申请和登录验证,当用户请求远程采集网络流量时,用户信息处理子模块会配合任务调配子模块创建采集任务,并将采集任务和用户进行绑定;
任务调配子模块,负责用户进行流量采集任务时的调配工作,当用户请求远程采集网络流量时,任务调配子模块创建采集任务,将创建的采集任务存储到数据库中,随后向Android终端控制子模块发送启动Android终端指令;
Android终端控制子模块,用于接收任务调配子模块的指令,控制Android终端安装Android应用程序,Android终端控制子模块对网络流量进行采集,网络流量采集结束时,Android终端控制子模块向网络流量文件链接生成子模块发出网络流量采集结束的指令,采集到的网络流量文件存储到文件存储服务器中;
网络流量文件链接生成子模块,对文件存储服务器中存储的网络流量文件进行处理,生成网络流量文件链接,并将生成的网络流量链接通过任务调配子模块发送给客户端,供用户通过浏览器远程查看。
图3为本发明的工作总体流程图,如图3所示。该方法包括:
步骤110,系统等待用户选择服务类型。
步骤111,用户选择批量Android应用程序自动操作的方式采集Android应用程序运行时产生的网络流量,系统调用批量Android应用程序自动操作子流程。
步骤112,系统自动化的采集网络流量任务完成后,会检测子流程返回的结果是否存在异常结束的标示,如果存在,则直接结束。
步骤113,如果不存在异常结束的标示,则向用户填写的电子邮箱中发送一封采集任务完成的邮件,通知用户进行下载。
步骤114,用户登陆系统,下载采集的网络流量文件。
步骤115,用户选择单个Android应用程序手动操作的方式采集Android应用程序运行时产生的网络流量,系统调用单个Android应用程序手动操作子流程。
步骤116,用户手动采集网络流量任务完成后,会检测子流程返回的结果是否存在异常结束的标示,如果存在,则直接结束。
步骤117,如果不存在异常结束的标示,系统将采集到的网络流量文件向用户提供下载链接。
图4为本发明实现单个Android应用程序手动操作的流程图;如图4所示。该方法包括:
步骤120,系统接收用户上传的单个Android应用程序的安装包。
步骤121,系统调用aapt dump badging命令检测该应用程序的安装包是否完整有效。
步骤122,如果文件无效,则提醒用户文件无效,带着异常标示退出本次操作。
步骤123,如果文件检测有效,则系统在当前服务器中空闲的Android终端中选取一台。
步骤124,将该终端与该用户的信息在数据库中进行绑定,同时标记该终端为非空闲。
步骤125,启动被绑定的Android终端,并将用户上传的Android应用程序安装到该终端中,同时启动tcpdump程序开始采集网络流量。
步骤126,用户通过远程可视化的方式对Android终端进行操作。
步骤127,用户退出操作后,系统关闭Android终端,并将采集的网络流量文件生成下载链接显示到用户的浏览器中,供用户下载,随后正常退出。
图5为本发明实现批量Android应用程序自动操作的流程图;如图5所示。该方法包括:
步骤130,系统接收用户批量上传的Android应用程序的安装包以及用户接收消息的电子邮箱地址。
步骤131,系统调用aapt dump badging命令检测该应用程序的安装包是否完整有效,调用正则表达式检测电子邮箱地址的格式是否正确。
步骤132,如果应用程序安装包和电子邮箱地址格式出现一项是无效的,则提醒用户具体哪一项无效,并带着异常标示退出本次操作。
步骤133,如果应用程序安装包和电子邮箱地址格式均检测有效,允许用户选择一种程序自动运行时的模式。
步骤134,当用户选择Monkey运行模式时,系统记录本次任务执行的模式,并在之后的应用程序运行中会额外启动Monkey程序,对Android终端发出随机的点击、滑动等屏幕触控事件,并在达到系统预设的触控次数之后,退出程序,完成本次操作。
步骤135,当用户选择无干扰运行模式时,系统记录本次任务执行的模式,并在之后的应用程序运行时不对运行过程做任何干涉,只是静待达到规定的运行时间后,退出程序,完成本次操作。
步骤136,当用户选择模拟人工操作运行模式时,系统记录本次任务执行的模式,并在之后的应用程序运行时调用模拟人工操作的程序,实现对应用程序界面中的按钮,链接等可点击的组件进行点击,这种点击是逐层遍历式的点击,即对当前应用程序首界面中的组件逐个点击完毕后,在对第二层界面中的组件逐个点击。从而实现模拟人工使用应用程序时的操作流程。达到系统预设的点击次数后,退出程序,完成本次操作。
步骤137,系统在当前服务器中空闲的Android终端中选取一台。
步骤138,将该终端与该用户的信息在数据库中进行绑定,同时标记该终端为非空闲。
步骤139,系统在用户上传的Android应用程序安装包队列中提取出一个Android应用程序安装包。
步骤140,启动被绑定的Android终端,将用户上传的Android应用程序安装到该终端中,并启动tcpdump程序开始采集网络流量。
步骤141,启动安装的Android应用程序,同时根据系统记录的任务执行模式,启动相应模式对应的程序,开始产生网络流量。
步骤142,自动化操作完成后,系统关闭Android终端,系统检测在用户上传的应用程序队列中是否还有未运行的安装程序,如果还有则返回步骤139开始新的一轮操作。
步骤143,如果用户上传的应用程序队列中的应用程序都运行完毕,则将本次任务采集的网络流量文件打包并生成下载链接,随后正常退出。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (10)

1.Android应用程序网络流量的远程采集系统,其特征是,部署在远程服务器中,包括:
Web服务器,部署Guacamole组件、Guacd组件和Web控制模块;所述Web服务器为Guacamole组件和Guacd组件提供运行环境;
Guacamole组件,与数据库连接,Guacamole组件还通过Guacd组件与Android终端连接,所述Guacamole组件用于将Android终端上的VNC服务器发出的数据传给客户端的浏览器,客户端的浏览器支持HTML5,使用户能够直接在支持HTML5的浏览器中远程操控Android终端上的VNC服务器;
Web控制模块,分别与数据库、文件存储服务器和Android终端连接,Web控制模块用于完成用户注册登录,将Android应用程序安装包远程上传给Android终端,从Android终端下载网络流量文件,生成网络流量文件链接,并将链接远程发送给客户端的浏览器。
2.如权利要求1所述的Android应用程序网络流量的远程采集系统,其特征是,
Web控制模块包括:用户信息处理子模块、任务调配子模块、Android终端控制子模块和网络流量文件链接生成子模块;
用户信息处理子模块,与数据库连接,负责用户的注册申请和登录验证,当用户请求远程采集网络流量时,用户信息处理子模块会配合任务调配子模块创建采集任务,并将采集任务和用户进行绑定;
任务调配子模块,负责用户进行流量采集任务时的调配工作,当用户请求远程采集网络流量时,任务调配子模块创建采集任务,将创建的采集任务存储到数据库中,随后向Android终端控制子模块发送启动Android终端指令;
Android终端控制子模块,用于接收任务调配子模块的指令,控制Android终端安装Android应用程序,Android终端控制子模块对网络流量进行采集,网络流量采集结束时,Android终端控制子模块向网络流量文件链接生成子模块发出网络流量采集结束的指令,采集到的网络流量文件存储到文件存储服务器中;
网络流量文件链接生成子模块,对文件存储服务器中存储的网络流量文件进行处理,生成网络流量文件链接,并将生成的网络流量链接通过任务调配子模块发送给客户端,供用户通过浏览器远程查看。
3.如权利要求1所述的Android应用程序网络流量的远程采集系统,其特征是,
所述远程服务器依次通过防火墙和互联网与支持HTML5浏览器的客户端连接。
4.Android应用程序网络流量的远程采集方法,其特征是,包括如下步骤:
步骤(1):接收选择服务类型的指令;若指令是通过批量Android应用程序自动操作来采集Android应用程序运行时产生的网络流量,则进入步骤(2);若指令是通过单个Android应用程序手动操作来采集Android应用程序运行时产生的网络流量,则进入步骤(3);
步骤(2):调用批量Android应用程序自动操作子流程进行网络流量采集;采集网络流量任务完成后,检测批量Android应用程序自动操作子流程返回的结果是否存在异常结束的标示,如果存在,则直接结束;如果不存在异常结束的标示,则向用户发送任务完成指令,通知用户进行下载;
步骤(3):调用单个Android应用程序手动操作子流程进行网络流量采集;采集网络流量任务完成后,检测单个Android应用程序手动操作子流程返回的结果是否存在异常结束的标示,如果存在,则直接结束;如果不存在异常结束的标示,向用户提供下载采集到的网络流量文件的链接。
5.如权利要求4所述的方法,其特征是,所述步骤(2)中的批量Android应用程序自动操作子流程的步骤为:
步骤(2-1):接收用户批量上传的Android应用程序的安装包;
步骤(2-2):调用aapt dump badging命令检测Android应用程序的安装包是否完整有效;若Android应用程序的安装包完整有效,则提供不同的自动运行模式供用户选择;根据用户的选择记录任务执行的模式;若Android应用程序的安装包无效,则提示用户无效并结束;
步骤(2-3):选取一台空闲的Android终端,将Android终端与用户的信息在数据库中进行绑定,同时标记Android终端为非空闲;
步骤(2-4):在用户上传的Android应用程序的安装包中提取出一个Android应用程序安装包;启动被绑定的Android终端,将用户上传的Android应用程序安装到Android终端中,并启动tcpdump程序开始采集网络流量;
步骤(2-5):启动安装的Android应用程序,同时根据记录的任务执行模式,启动对应的任务执行模式对应的程序,开始产生网络流量;
步骤(2-6):自动化操作完成后,关闭Android终端,检测在用户上传的应用程序安装包的队列中是否还有未运行的安装程序,如果还有则返回步骤(2-4)开始新的一轮操作;如果用户上传的应用程序安装包的队列中的应用程序都运行完毕,则将本次任务采集的网络流量文件打包并生成下载链接,结束。
6.如权利要求5所述的方法,其特征是,步骤(2-2)提供不同的自动运行模式供用户选择的步骤为:
步骤(2-2-1):当接收到Monkey运行模式的选择指令时,记录本次任务执行的模式,并在应用程序运行过程中启动Monkey程序,接收用户对Android终端发出随机的点击、滑动等屏幕触控事件,并在达到预设的触控次数之后结束,完成本次操作;进入步骤(2-3);
步骤(2-2-2):当接收到无干扰运行模式的选择指令时,记录本次任务执行的模式,并在应用程序运行过程中,不对运行过程做任何干涉,待达到规定的运行时间后结束,完成本次操作;进入步骤(2-3);
步骤(2-2-3):当接收到模拟人工操作运行模式的选择指令时,记录本次任务执行的模式,并在应用程序运行过程中调用模拟人工操作的程序,对应用程序界面中的可点击的组件进行逐层遍历式的点击,从而实现模拟人工使用应用程序时的操作流程;达到系统预设的点击次数后结束,完成本次操作;进入步骤(2-3)。
7.如权利要求4所述的方法,其特征是,所述步骤(3)中的单个Android应用程序手动操作子流程的步骤为:
步骤(3-1):接收用户上传的单个Android应用程序的安装包;
步骤(3-2):调用aapt dump badging命令检测应用程序的安装包是否完整有效;如果无效,则提醒用户安装包无效,带着异常标示结束;如果有效,则选取一台空闲的Android终端;将Android终端与用户的信息在数据库中进行绑定,同时标记Android终端为非空闲;
步骤(3-3):启动被绑定的Android终端,并将用户上传的Android应用程序安装到Android终端中,同时启动tcpdump程序开始采集网络流量;接收用户远程对Android终端进行操作的指令;等待用户退出操作后,关闭Android终端,并将采集的网络流量文件生成下载链接供用户下载,结束。
8.如权利要求5所述的方法,其特征是,
步骤(2-1)还接收用户的电子邮箱地址,所述电子邮箱地址用于接收消息;
步骤(2-2)还调用正则表达式检测电子邮箱地址的格式是否正确。
9.如权利要求8所述的方法,其特征是,
步骤(2-2)如果应用程序安装包和/或电子邮箱地址格式是无效的,则提醒用户无效,并带着异常标示退出本次操作;如果应用程序安装包和电子邮箱地址格式均检测有效,允许用户选择自动运行模式。
10.如权利要求5所述的方法,其特征是,步骤(2-2)中所述自动运行模式包括Monkey运行模式、无干扰运行模式和模拟人工操作运行模式。
CN201610679169.3A 2016-08-16 2016-08-16 Android应用程序网络流量的远程采集系统及方法 Active CN106331071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610679169.3A CN106331071B (zh) 2016-08-16 2016-08-16 Android应用程序网络流量的远程采集系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610679169.3A CN106331071B (zh) 2016-08-16 2016-08-16 Android应用程序网络流量的远程采集系统及方法

Publications (2)

Publication Number Publication Date
CN106331071A true CN106331071A (zh) 2017-01-11
CN106331071B CN106331071B (zh) 2019-08-02

Family

ID=57742902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610679169.3A Active CN106331071B (zh) 2016-08-16 2016-08-16 Android应用程序网络流量的远程采集系统及方法

Country Status (1)

Country Link
CN (1) CN106331071B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107302588A (zh) * 2017-07-25 2017-10-27 贵州眯果创意科技有限公司 一种基于Web的智能网络化电能监测控制系统
CN111488547A (zh) * 2020-04-16 2020-08-04 广州锦行网络科技有限公司 基于web技术扁平化管理蜜罐、蜜网的实现装置
CN112783777A (zh) * 2021-01-27 2021-05-11 济南大学 一种安卓环境内采集实时信息与网络流量的方法与系统
CN113110895A (zh) * 2021-03-19 2021-07-13 深圳震有科技股份有限公司 基于ipc置顶单例应用程序的方法、终端及存储介质
CN113422794A (zh) * 2021-02-09 2021-09-21 阿里巴巴集团控股有限公司 流量录制、回放处理方法、装置及电子设备
CN115242763A (zh) * 2021-04-16 2022-10-25 京东科技控股股份有限公司 一种终端应用的网络流量采集方法、系统及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104113570A (zh) * 2013-04-17 2014-10-22 崔伯磊 一种通过浏览器或软件程序直接访问Android终端桌面的方法及系统
CN105743997A (zh) * 2016-04-06 2016-07-06 杭州沃趣网络科技有限公司 一种用于实现Web Console带外管理系统的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104113570A (zh) * 2013-04-17 2014-10-22 崔伯磊 一种通过浏览器或软件程序直接访问Android终端桌面的方法及系统
CN105743997A (zh) * 2016-04-06 2016-07-06 杭州沃趣网络科技有限公司 一种用于实现Web Console带外管理系统的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王晓峰: "基于XEN的桌面虚拟化系统实现及应用研究", 《万方学位论文》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107302588A (zh) * 2017-07-25 2017-10-27 贵州眯果创意科技有限公司 一种基于Web的智能网络化电能监测控制系统
CN111488547A (zh) * 2020-04-16 2020-08-04 广州锦行网络科技有限公司 基于web技术扁平化管理蜜罐、蜜网的实现装置
CN111488547B (zh) * 2020-04-16 2020-12-25 广州锦行网络科技有限公司 基于web技术扁平化管理蜜罐、蜜网的实现装置
CN112783777A (zh) * 2021-01-27 2021-05-11 济南大学 一种安卓环境内采集实时信息与网络流量的方法与系统
CN112783777B (zh) * 2021-01-27 2023-08-04 济南大学 一种安卓环境内采集实时信息与网络流量的方法与系统
CN113422794A (zh) * 2021-02-09 2021-09-21 阿里巴巴集团控股有限公司 流量录制、回放处理方法、装置及电子设备
CN113110895A (zh) * 2021-03-19 2021-07-13 深圳震有科技股份有限公司 基于ipc置顶单例应用程序的方法、终端及存储介质
CN115242763A (zh) * 2021-04-16 2022-10-25 京东科技控股股份有限公司 一种终端应用的网络流量采集方法、系统及相关装置

Also Published As

Publication number Publication date
CN106331071B (zh) 2019-08-02

Similar Documents

Publication Publication Date Title
CN106331071A (zh) Android应用程序网络流量的远程采集系统及方法
CN104767649B (zh) 部署裸金属服务器的方法及装置
CN109270850A (zh) 一种基于物联网的智能家居管理系统及方法
CN101502067B (zh) 一种家庭网关网络存储系统及其网络访问方法
CN105450654B (zh) 基于中间件技术的智能家居开发平台及其业务开发方法
EP1340357B1 (en) Remote communications with a vending machine using call back
CN106487922A (zh) 一种物联网的跨平台移动访问系统
CN103201689B (zh) 具有嵌入式网络服务器的现场面板及其访问方法
WO2011099874A1 (en) Remote monitoring and control system
CN107181779A (zh) 访问请求的处理方法、装置和系统
CN106357751A (zh) 一种客户浏览器电费支付系统
CN104040538B (zh) 一种互联网应用交互方法、装置及系统
CN107707391A (zh) 一种宽带接入管理模式
GB2367709A (en) Communications with remote embedded applications
CN102710559B (zh) 一种反向代理技术实现数字文献资源网关的方法
CN108632361A (zh) 一种网页上线方法、服务器、系统和存储介质
CN107426064A (zh) 物联网控制情景的配置方法及装置
CN106936930A (zh) 一种网页游戏的防断线方法及装置
CN103533505B (zh) 一种短信发送方法、服务器、系统和移动终端
CN105787084B (zh) 一种wap页面应用跳转方法
CN107645597A (zh) 应用程序的同步方法与终端
CN105471963A (zh) 一种基于云平台的移动设备管理方法及系统
CN109547536A (zh) 智能网关设备类型自动识别及软件版本升级方法及系统
CN105095070B (zh) 基于浏览器测试组件的qq群数据获取方法与系统
GB2367727A (en) Communications with remote embedded applications using separate control and data channels

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Chen Zhenxiang

Inventor after: Cao Dong

Inventor after: Yang Bo

Inventor after: Sun Runyuan

Inventor after: Peng Lizhi

Inventor after: Li Qun

Inventor before: Cao Dong

Inventor before: Chen Zhenxiang

Inventor before: Yang Bo

Inventor before: Sun Runyuan

Inventor before: Peng Lizhi

Inventor before: Li Qun

GR01 Patent grant
GR01 Patent grant