Android客户端HTTP抓包分析的一般步骤

抓包分析Andorid APP可以做许多事情,跟PC上的应用相比,移动应用一般逻辑简单安全性不高。比如说,某些APP上的摇0元商品、刷抽奖、刷红包,都是非常容易编码实现的。

一种不好的思路,可以是自己安装Android SDK,创建虚拟设备来抓包。

另一种不理想的思路,还可以是通过在PC创建共享WIFI,然后在PC上抓包。

总之,相同点是,抓包在PC上进行,而不是直接在手机上。

本文余下部分介绍利用fiddler代理抓包,以及在chrome上修改User-Agent、模拟触屏事件(淘宝刮刮卡?)等。

要求: 手机必须能够访问PC,最好能连接到同一个无线路由器。

1. 安装fiddler

首先是下载安装fiddler:  http://fiddler2.com/get-fiddler

运行fiddler,修改设置:  Tools => Fiddler Options,在 HTTPS选项卡中,勾选Capture和Decrypt  HTTPS。如下图:

fiddler-https

在Connections选项卡中,可以看到fiddler的代理端口为8888,勾选上允许远程访问,如下图:

fiddler-proxy

2. 关闭windows防火墙

在控制面板中,临时关闭windows防火墙。允许连接入代理。

3.  在手机上设置代理

在PC上通过ipconfig获取IP地址。

我的IP地址是192.168.1.4。 那么,在手机上需要将代理设置为192.168.1.4: 8888,如下图:

wifi-proxy-settings

完成以上设置,打开某个APP,fiddler就可以抓到HTTP traffic了。

4. Chrome修改User-Agent和模拟触屏事件

某些页面检测到User-Agent不是指定值,会自动转到APP下载页面。 比如淘宝双12的刮刮卡页面:

http://h5.m.taobao.com/1212/scratchcard/home.html

根据抓包信息,修改User-Agent为: null WindVane/2.6.0 TBANDROID/600000@taobao_android_3.9.5

方法是在Chrome浏览器Ctrl + Shift + J打开控制台,点击右下角的齿轮进行设置。

在settings =>  override选项卡中,勾选Enable,修改User-Agent。

勾选Emulate touch events,模拟触屏事件。

chrome-useragent