论文部分内容阅读
随着以智能手机和平板电脑为代表的移动终端设备的不断普及和更新,以及移动网络相关软件、硬件的飞速发展,互联网已经从传统的桌面互联网时代进入到了移动互联网时代。伴随着移动互联网时代的来临,人们许多相关行为或者使用的工具与桌面互联网时代相比都发生了巨大的变化。近几年,异常火爆的移动应用程序APP就是移动互联网时代的产物。在信息化爆炸的今天,每天都有大量的APP上线,同时有大量的APP被淘汰。对于APP投资方,一次错误的投资或决策都将会造成巨大的损失,所以就需要提前掌握APP的使用模式,其可以作为该APP的欢迎度等情况的一个重要维度。因此,在这个信息化时代需要善于从大数据中提取到想要的信息来方便做出正确的决策。但是,要想从海量的网络访问数据中提取出APP的使用模式,首先需要获得这些APP在下载或使用等情况下所具有的特征,即客户端与服务器端进行通信时产生的流量规则。本论文旨在研究如何自动化抓取APP下载的网络流量并自动化提取其流量规则。首先对移动APP的相关课题背景进行研究,提出了论文主要内容和研究目标。其次介绍一些Wireshark抓包的相关理论知识,并在理论知识的基础上介绍手动抓取APP下载和使用情况下的网络流量,以及流量规则文件的生成和后续使用。当APP数量不多时,可以人工抓取APP的网络流量。但是,当APP数量非常多时,就需要考虑自动化的方法,节约人力和时间成本。再次,介绍如何实现移动APP下载操作的自动化,即编写自动化测试框架Robotium程序模拟人的手势操作实现APP在安卓应用市场中的自动化下载,包括应用商店安装包重签名,Android控件定位方式等。接着利用Tcpdump命令行工具实现APP下载流量的抓包,然后编写Python多线程程序将两者结合实现移动APP下载流量抓取自动化。最后,通过编写Python程序自动化提取流量规则,缩小人为找寻流量规则的范围,减小工作量。通过提取APP在下载或使用等情况下产生的流量规则,进而生成规则文件,随后在海量的网络访问数据中利用这些规则文件,编写MapReduce程序挖掘出哪些用户曾经下载或者使用过该APP,从而分析得到该APP的欢迎度,最终实现APP的使用模式研究。