阅读本文之前,如果您对fiddler不熟悉,请先阅读本文 https://blog.csdn.net/robinhunan/article/details/106135311
目前使用https的网站越来越多了,https抓包比http复杂多了,本文详细介绍了https抓包遇到问题的解决办法。以及手机移动端开发如何抓取https包。
打开Fiddler Tool->Fiddler Options->HTTPS 。 (配置完后记得要重启Fiddler).
选中"Decrpt HTTPS traffic", Fiddler就可以截获HTTPS请求,第一次会弹出证书安装提示,若没有弹出提示,勾选Actions-> Trust Root Certificate
另外,如果你要监听的程序访问的 HTTPS 站点使用的是不可信的证书,则请接着把下面的 “Ignore servercertificate errors” 勾选上。
证书安装提示:按照提示安装即可完成.
点击确定,这样Fiddler证书就已经添加成功了。
查看一下证书,Actions—>open windows certificate Manager
可以证书已经添加进去了,证书名称就是之前提醒大家留意的,【DO_NOT_TRUST_FiddlerRoot】
测试https抓包
使用浏览器访问 https://httpbin.org/ip ,切换到fiddler可以查看https包内容了。
如果证书导出报错:The root certificate could not be located 解决办法。可以采用下面的方法,然后重新安装证书。
有两种解决办法(一) 彻底删除fiddler然后重新安装
(二) 下载并安装Fiddler证书生成器。
下载地址:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe
手机抓https包
手机上安装Fiddler根证书
PC上安装好了根证书之后,还需要在手机上安装根证书,才能保证Fiddller能够正确解析出HTTPS包。(原理是,手机通过Fiddler做了代理后,HTTPS请求进行握手时候获取的证书就是Fiddler自己生成的证书,这个证书在手机上默认不受信任,这样会导致手机端认为服务端非法从而断开HTTPS握手,导致请求失败。所以,我们需要让手机信任Fiddler的根证书。)
手机在配置好HTTP代理后,打开浏览器,输入:http://ipv4.fiddler:8888/。手机会通过fiddler代理上网到Fiddler所在PC的IP地址上。所以,你输入http://<pc ip>:<port>也是可以的。(题外话,ipv4.fiddler这个域名不是外网通用域名)
然后后点击下载Fiddler的根证书,下载成功后进行安装。安装成功后,你在手机的证书管理器中是可以看到自己安装的证书的。
通常位于: 设置--》安全和隐私->更多安全设置->受信任凭证--》用户凭据中。
OK,以上是所有的配置。
配置成功后,观察Fiddler,手机打开浏览器 访问 https://httpbin.org/ip ,就可以查看HTTPS的请求。
苹果(iphone)设置跟Android一样,需要先安装https证书,访问fiddler地址 http://192.168.31.109:8888 或者 输入 http://ipv4.fiddler:8888