Fiddler 抓取 HTTPS 请求大全
Posted 软件测试呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fiddler 抓取 HTTPS 请求大全相关的知识,希望对你有一定的参考价值。
Fiddler抓取PC端浏览器请求
第一步 Fiddler代理浏览器设置
注意浏览器代理区别 Chrome/IE浏览器使用的都是系统代理设置
在chrome浏览器的设置中搜索代理,可以看到
打开IE浏览器,选择设置->Internet选项
Firefox浏览器使用的是单独的一套代理系统
在Firefox的代理设置中,我们也可以选择使用系统代理
第二步 打开Fiddler
Fiddler打开之后默认是可以抓取到Chrome/IE浏览器的请求的。
这是因为Fiddler默认会勾选“Act as system proxy on startup”,此选项会在Fiddler启动的时候作为系统代理:
我们会发现系统代理设置已经被Fiddler篡改,端口和Fiddler中保持一致:
这也就是为什么Fiddler启动之后默认可以抓取到Chrome/IE的请求,如果Firefox也想默认抓取到,按照之前的设置,选择使用系统代理即可。
此时我们只能抓取到http的请求,如果我们需要抓取https请求,还需要做如下配置。
第三步 勾选解密https流量选项
选择Tools->Options->HTTPS,勾选"Decrypt HTTPS traffic"和“Ignore server certificate errors (unsafe)”选项:
第四步 安装证书到系统根证书中
点击右上角Actions,选择Trust Root Certificate选项,跳出来的对话框全部选择是或者yes即可
最后会出现如下提示,表示证书已经成功安装到了系统根证书区域
我们可以打开cmd,输入cert.msc,打开证书管理器,即可看到安装的Fiddler伪装证书
重启浏览器,重启Fiddler,特别重要!!!
打开Chrome/IE,可以愉快的抓取https请求了
Fiddler可以通过安装证书解决https请求的抓取问题,此时在浏览器面前Fiddler伪装成一个https服务器,用户可以将Fiddler的伪装证书导入到系统的根证书中。
而浏览器是默认信任系统的根证书的,此时Fiddler作为中间人在真正的服务器面前伪装成浏览器的角色。
Firefox的额外设置:
Firefox浏览器和Chrome/IE证书管理有区别,Chrome/IE使用的是系统根证书,而Firefox有自己的一套证书管理系统
所以针对Firefox,我们还需要做另外的配置:
01 导出Fiddler证书到桌面
选择Tools->Options->HTTPS,点击右上角Actions,选择Export Root Certificate to Desktop,此时在桌面可以找到导出来的证书
02 安装证书到Firefox的内置根证书中
进入到Firefox的设置->搜索证书选->打开证书管理器,选择桌面的证书文件导入进来,勾选如下三个选项
重启浏览器,重启Fiddler,特别重要!!!
打开Firefox,抓取Https请求也没问题了。
Fiddler抓取App端请求
准备工作:
将手机和电脑连接到同一路由器(保证两者能够ping通)
如果使用的模拟器则不需要上面的步骤,因为模拟器是共享PC端的网络,两者网络默认就是连通的状态
查询PC端的IP地址
01 配置fiddler可以抓取远程端设备请求
打开Tools->Options->Connections,勾选Allow remote computers to connect选项
为了防止PC端的浏览器的请求和App端的请求信息混乱,可以把Fiddler的监听端改下,比如改成:7777(当然,不改也是可以的)。
02 手机端配置代理
进入到手机/模拟器设置,选择WLAN->连接上的WiFi热点名->手指长按,选择修改网络->勾选高级选项,代理选择手动(注意:不同手机的界面和进入的路径存在一些差异)
代理服务器主机名:PC端查询的IP地址
代理服务器端口号:Fiddler中配置的监听端口
此时我们只能抓取到http的请求,如果我们需要抓取https请求,还需要做如下配置。
03 手机端安装Fiddler伪装证书
在手机端浏览器中输入
http://192.168.1.222:7777 其中192.168.1.222为PC端的IP地址
点击最下方链接即可下载Fiddler证书
下载完打开,会提示为证书命名(随便给一个名字即可)
如果是第一次安装证书,系统会提示设置PIN码(为了安全),按照提示一步一步操作即可
最后安装结束,我们可以在设置->安全->信任的凭据->用户 中找到我们安装的证书(注意:不同手机的界面和进入的路径存在一些差异)
打开App(注意:如果之前有启动,需要从后台清理掉再重新启动),以"贝壳找房"为例,https请求抓取成功
会遇到的问题:
证书导出失败,出现如下提示:The root certificate could not be located
解决方案:
在开始->运行输入:certmgr.msc打开证书管理
点击操作->查找证书
输入fiddler,进行查找,将查找出来的所有证书进行删除:
再重启Fiddler,重新导出证书
会遇到的问题:
证书导出失败,出现如下提示:Unable to configure Windows to Trust the Fiddler Root…
解决方案:
找到fiddler->工具栏tools->options,再选择HTTPS,点击CertEnroll engine,选择MakeCert即可点击OK保存,最后切记重启fiddler!!!
最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!
这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……
如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。
敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。
自学推荐B站视频:
零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!
自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享
以上是关于Fiddler 抓取 HTTPS 请求大全的主要内容,如果未能解决你的问题,请参考以下文章