抓包工具 - Fiddler(如何捕获Android数据包)

如何捕获Android数据包                                    

一、移动设备访问网络原理

  先看看移动设备是怎么去访问网络,如图1所示,可以看到,移动端的数据包是从wifi出去的。

图1(移动设备访问网络)

  所以我们可以把自己的电脑开启热点,将手机连上电脑,本机的Fiddler开启代理后,让这些数据通过Fiddler,那Fiddler就可以抓到这些包,然后发给路由器,如图2所示

图2(设置)

二、Fiddler抓取android数据包所需条件

  1、电脑需要安装Fiddler

  2、测试手机需要支持Wifi

  3、测试手机与电脑需要同一网络

  4、所测APP需支持代理

  注:Iphone、Ipad、WinPhone等支持代理手机均适用

三、下面介绍一下Fiddler和Android需要怎么设置

1、首先电脑开启wifi热点

  电脑可下载一个wifi软件,我这里用的是猎豹wifi,如图3所示,电脑已经开启了wifi热点后

图3(手机连接电脑的wifi)

2、设置Fiddler的代理端口

  Tools –>  Options-> Connections,设置代理端口:8888, 勾选 Allow remote computers to connect,即允许远程计算机连接Fiddler,如图4所示

注:8888为默认端口号,可修改,但需注意两点,一是本机空闲端口,二是手机代理设置时要与fiddler的端口一致。

图4(设置fiddler的代理端口)

3、设置解密HTTPS的网络数据

  Tools –>  Options-> Https,勾选"Decrypt HTTPS traffic"、"Ignore server certificate errors",如图5所示

 图5(设置解密https的网络数据)

4、查看本机的无线网卡IP

  设置了上面的步骤后,就可以在 Fiddler看到自己本机无线网卡的IP了(要是没有的话,重启Fiddler,或者可以在cmd中ipconfig找到自己的网卡IP,注:一定要开启本机的wifi热点),如图6所示

图6(在fiddler查看本机的无线网卡IP)

   也可以在CMD中查看本机网卡的IP,输入命令:ipconfig,如图7所示

图7(ipconfig查看本机无线网卡IP)

5、手机连接本机的Wifi,并设置代理

  每个品牌的手机设置wifi的方式可能不一样,这里以华为手机为例,如图8所示,将手机连接至PC的wifi

图8(手机连接电脑的wifi)

  勾选“显示高级选项”-> 代理 选择“手动” ->输入服务器主机名和服务器端口 ->IP选择“DHCP”->连接,即完成手机端设置代理操作,如图9所示

注:服务器主机名:Fiddler所在电脑IP(即开启wifi后,在fiddler或cmd中看到的无线网卡IP地址)

  服务器端口: Fiddler使用的端口(即Options-> Connections中设置的端口号)

 图9(手机设置代理)

6、手机下载安装Fiddler证书

  连接上wifi后,手机打开浏览器输入代理IP+端口号(即是本机无线网卡IP,也是手机连接wifi时所设置的服务器主机名,这里的ip+端口号为192.168.191.1:8888),进入fiddler echo service页面,下载Fiddler的证书,如图10所示,点击FiddlerRoot certificate

图10(下载fiddler证书)

  下载完成后,进行安装证书,如图11所示

 图11(安装证书)

【注意】:如果打开浏览器碰到类似下面的报错,请打开Fiddler的证书解密模式(如上面的步骤3所示):No root certificate was found. Have you enabled HTTPS traffic decryption in Fiddler yet?

四、运行手机应用

  设置完上面6个步骤后,即表明已设置完毕,此时用手机访问应用,就可以看到fiddler抓取到的数据包了,如图12、13所示

图12(这是运行百度网盘与喜马拉雅FM应用时所抓取的数据包)

 图13(这是运行微信应用中的游戏时所抓取的数据包)

以上就是fiddler捕获android数据包时所要做的操作

posted @ 2017-06-22 20:48  一加一  阅读(11167)  评论(5编辑  收藏  举报