【从零开始学技术】Fiddler 抓取 https 请求大全

1.Fiddler代理浏览器设置

注意浏览器代理区别 Chrome/IE浏览器使用的都是系统代理设置

在chrome浏览器的设置中搜索代理,可以看到

打开IE浏览器,选择设置->Internet选项

Firefox浏览器使用的是单独的一套代理系统

在Firefox的代理设置中,我们也可以选择使用系统代理

02打开Fiddler

Fiddler打开之后默认是可以抓取到Chrome/IE浏览器的请求的。

这是因为Fiddler默认会勾选"Act as system proxy on startup",此选项会在Fiddler启动的时候作为系统代理:

我们会发现系统代理设置已经被Fiddler篡改,端口和Fiddler中保持一致:

这也就是为什么Fiddler启动之后默认可以抓取到Chrome/IE的请求,如果Firefox也想默认抓取到,按照之前的设置,选择使用系统代理即可。

此时我们只能抓取到http的请求,如果我们需要抓取https请求,还需要做如下配置。

3勾选解密https流量选项

选择Tools->Options->HTTPS,勾选"Decrypt HTTPS traffic"和"Ignore server certificate errors (unsafe)"选项:

04安装证书到系统根证书中

点击右上角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!!!

相关推荐
卸任3 小时前
Vibe coding工具使用心得
前端·ai编程
brien94 小时前
为什么模型标称 1M,Google Antigravity 聊到 256K 却突然失忆?我们给它做了个原生行内监控圆环
前端
修炼的dance4 小时前
录屏关键帧间隔多少合适?六档实测,2秒到10秒小了75.6%
前端
Lank_M4 小时前
关键帧从1秒拉到10秒,录屏小87.3%,摄像头小10.8%
前端
补码缩写4 小时前
用 ffprobe 拆录屏,八成字节在 29 个关键帧上
前端
百思不得小李4 小时前
一个复杂的动态表单是如何实现的
前端·设计模式
陈随易5 小时前
Cmder 停更 17 个月,2.0 支持 Windows Terminal
前端·后端·程序员
风骏时光牛马5 小时前
前沿视界
前端
kyriewen5 小时前
我扫了 814 个依赖,97 个还敢要 Node 10
前端·javascript·程序员
陈随易5 小时前
3000 万人在用的翻译插件,重写一遍就是一门生意
前端·后端·程序员