fiddler 证书问题
在项目中,大精品和大助手都需要进行抓包,但是大精品在抓包之前就需要安装证
书,而大助手抓包就不需要进行安装证书,为什么安装证书?下面就具体的了解一下:
Fiddler目前默认安装对http请求协议进行抓取,但是现在很多带有比较重要的信息
的接口都是使用了安全性更高的https,所以可以分析出大精品的请求是https请求而大助
手是http请求。
所以如果想要查看https类型接口就需要安装fiddler证书。
下面是fiddler抓取手机http和https请求的办法:
1、fiddler抓取http请求
fiddler默认只抓取电脑的http请求,如果要支持抓取手机的http,需要进行设置,具
体为:
(1)fiddler客户端进行设置
Tools->Options->Connections->Allow remote computers to connect
(2)查看本机ip地址
在控制台输入ipconfig
(3)手机WiFi设置
高级设置->手动代理->ip地址(填上面查到的地址)->端口号(8888)->IP(DHCP)
(4)重启fiddler,这样就可以抓取手机的http请求了。
2、fiddler抓取手机https请求
(1)首先打开fiddler客户端,点击菜单栏Tools -> Options,打开“Options”对话
框,进入HTTPS选项卡:
勾选对应的选项。
(2)继续在Connections选项卡进行勾选:
(3)下面就是安装证书了,fiddler本质上是一个HTTPS代理服务器,其自带的证书
显然不会在Android设备的信任表中。
由于有些有些应用程序会查看服务器端的证书是否由受信任的根证书签名的,如果
不是就直接跳出。
所以,为了保险起见,只需将fiddler代理服务器的证书导到Android设备上。导入的
过程为:
打开安卓设备自带的浏览器,在地址栏中输入代理服务器的IP和端口,如下图,接
下来点击红框内下载证书,然后进入手机安全——安装证书,找到下载证书的位置,安
装证书就完成了。这样就可以抓取https请求了。
同时https设置页面有个select,其四种值的意义如下:
from all processes : 抓取所有的 https 程序, 包括 本机 和 手机
from browsers only : 只抓取浏览器中的 https 请求
from non-browsers only : 只抓取除了浏览器之外的所有 https 请求
from remote clients only : 抓取远程的客户端的 https ,可以代表手机