使用Fiddler对手机APP抓包详细教程
在实现用Fiddler对手机APP抓包过程中遇到了两个很棘手的问题,一个是设置代理后手机就上不了网,在手机上下载证书一直提示下载失败,第二个就是在fiddler上抓包信息全都显示为Tunnel To. 捣鼓了很久才解决好,现在分享出来也让一些新手小白少走点弯路,可能我的方法能解决你的问题,也可能解决不了,但也提供一个尝试方法。
先设置fiddler
1.在官网下载Fiddler,并安装。https://www.telerik.com/download/fiddler
2.先配置fiddler,打开fiddler,依次点击Tools—>Options…—>HTTPS,安装图中所示勾选,安装证书。
3.再点击Connections,配置如图,端口号可以不更改,默认的是8888,我这里设置的是8866
4.点击OK按钮,关闭fiddler,再重新打开。按照常规方法,此时fiddler部分设置完成,接下来在手机上进行一些设置。
5.我这里用了小米随身WiFi,手机连接上小米随身WiFi,这样手机跟电脑连的就是同一个网段了。
设置手机
6.在手机上进入WiFi设置页面,将代理改为“手动”,主机名是电脑连接无线网后的ip地址
7.打开手机浏览器,输入该地址打开http://ipv4.fiddler:8866,(因为我设置的端口号是8866),在该页面中点击FiddlerRoot certificate,下载证书。我在此处就遇到了一个问题,就是证书下载不下来,一直提示下载失败
8.到此为止遇到了两个难以解决的问题,一个是在网页下载证书下载失败,第二个是在手机上打开APP后,在fiddler上抓的包全部显示为TunnelTo.接下来说一说我如何解决这两个问题
问题解决方法:
1.在fiddler官网下载CerMaker,下载下来后并运行一下该插件。
下载地址:https://www.telerik.com/fiddler/add-ons
2.安装完后,发现TunnelTo问题还是没有得到解决,并且又出现了新的问题,在手机上打开http://ipv4.fiddler:8866反而出现提示No root certificate was found.Have you enabled HTTPS traffic decryption in fiddler yet?
3.于是尝试如下解决方法,在Fiddler跟目录下运行如下命令
makecert.exe -r -ss my -n “CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com” -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012
运行后提示Succeeded,重新运行fiddler
4.然后在手机上浏览器中打开http://ipv4.fiddler:8866,下载证书,下载并安装成功,在打开测试的APP,发现抓包成功,HTTPS可以正常抓包,但HTTP还是显示Tunnel to,但已经不影响使用。