Fiddler抓包https

Fiddler 抓取 PC 端浏览器请求

step1:Fiddler 代理浏览器设置

注意浏览器代理区别
Chrome/IE 浏览器使用的都是系统代理设置
在 Chrome 浏览器的设置中搜索代理,可以看到


image.png

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


image.png

Firefox 浏览器使用的是单独的一套代理系统
在 Firefox 的代理设置中,我们也可以选择使用系统代理


image.png

step2:打开 Fiddler

Fiddler 打开之后默认是可以抓取到 Chrome/IE 浏览器的请求的,这是因为 Fiddler 默认会勾选“Act as system proxy on startup”,此选项会在 Fiddler 启动的时候作为系统代理:


image.png

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


image.png

这也就是为什么 Fiddler 启动之后默认可以抓取到 Chrome/IE 的请求,如果 Firefox 也想默认抓取到,按照之前的设置,选择使用系统代理即可。
此时我们只能抓取到 http 的请求,如果我们需要抓取 https 请求,还需要做如下配置。

step3:勾选解密 https 流量选项

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


image.png

step4:安装证书到系统根证书中

点击右上角 Actions,选择 Trust Root Certificate 选项,跳出来的对话框全部选择是或者 yes 即可


image.png

最后会出现如下提示,表示证书已经成功安装到了系统根证书区域


image.png

我们可以打开 cmd,输入 certmgr.msc,打开证书管理器,即可看到安装的 Fiddler 伪装证书


image.png

重启浏览器,重启 Fiddler,特别重要!!!
打开 Chrome/IE,可以愉快的抓取 https 请求了

image.png

Fiddler 可以通过安装证书解决 https 请求的抓取问题,此时在浏览器面前 Fiddler 伪装成一个 https 服务器,用户可以将 Fiddler 的伪装证书导入到系统的根证书中。而浏览器是默认信任系统的根证书的,此时 Fiddler 作为中间人在真正的服务器面前伪装成浏览器的角色。

Firefox 额外设置

Firefox 浏览器和 Chrome/IE 证书管理有区别,Chrome/IE 使用的是系统根证书,而 Firefox 有自己的一套证书管理系统,所以针对 Firefox,我们还需要做另外的配置:

step1:导出 Fiddler 证书到桌面

选择 Tools->Options->HTTPS,点击右上角 Actions,选择 Export Root Certificate to Desktop,此时在桌面可以找到导出来的证书


image.png

step2:安装证书到 Firefox 的内置根证书中

进入到 Firefox 的设置-> 搜索证书选-> 打开证书管理器,选择桌面的证书文件导入进来,勾选如下三个选项


image.png

重启浏览器,重启 Fiddler,特别重要!!!
打开 Firefox,抓取 Https 请求也没问题了。

Fiddler 抓取 App 端请求

准备工作:

  • 将手机和电脑连接到同一路由器(保证两者能够 ping 通)
  • 如果使用的模拟器则不需要上面的步骤,因为模拟器是共享 PC 端的网络,两者网络默认就是连通的状态
  • 查询 PC 端的 IP 地址

step1:配置 fiddler 可以抓取远程端设备请求

打开 Tools->Options->Connections,勾选 Allow remote computers to connect 选项,为了防止 PC 端的浏览器的请求和 App 端的请求信息混乱,可以把 Fiddler 的监听端改下,比如改成:7777(当然,不改也是可以的)。


image.png

step2:手机端配置代理

进入到手机/模拟器设置,选择 WLAN-> 连接上的 WiFi 热点名-> 手指长按,选择修改网络-> 勾选高级选项,代理选择手动(注意:不同手机的界面和进入的路径存在一些差异)

  • 代理服务器主机名:PC 端查询的 IP 地址

  • 代理服务器端口号:Fiddler 中配置的监听端口
    [图片上传失败...(image-2f6d18-1599467673219)]

    480 x 673

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

step3:手机端安装 Fiddler 伪装证书

在手机端如QQ浏览器中输入http://192.168.1.222:7777 其中 192.168.1.222 为 PC 端的 IP 地址
点击最下方链接即可下载 Fiddler 证书

image.png

夜神模拟器安装fiddler证书

  • 选择系统应用点击设置


    image.png
  • 找到个人--安全---从SD卡安装--QQBrowser

image.png

安装证书,会提示为证书命名(随便给一个名字即可)


image.png

如果是第一次安装证书,系统会提示设置 PIN 码(为了安全),按照提示一步一步操作即可

image.png

最后安装结束,我们可以在设置-> 安全-> 信任的凭据-> 用户 中找到我们安装的证书(注意:不同手机的界面和进入的路径存在一些差异)


image.png

打开 App(注意:如果之前有启动,需要从后台清理掉再重新启动),以"贝壳找房"为例,https 请求抓取成功


image.png

IOS fiddler证书安装完成之后,需要在手机:通用---关于本机---证书信任设置--- 针对根证书启动完全信任--点击灰色按钮变成绿色

android手机fiddler证书下载好, 打开设置--更多设置--系统安全--- 加密与凭据---从存储设备安装

image.png

会遇到的问题

证书导出失败,出现如下提示:The root certificate could not be located

image.png

解决方案:

  • 在开始-> 运行输入:certmgr.msc 打开证书管理

  • 点击操作-> 查找证书


    image.png
  • 输入 fiddler,进行查找,将查找出来的所有证书进行删除:


    image.png

再重启 Fiddler,重新导出证书

证书导出失败,出现如下提示:Unable to configure Windows to Trust the Fiddler Root....

image.png

解决方案:
找到 fiddler-> 工具栏 tools->options,再选择 HTTPS,点击 CertEnroll engine,选择 MakeCert 即可点击 OK 保存,最后切记重启 fiddler!!!


image.png

你可能感兴趣的:(Fiddler抓包https)