教你用Fiddler捕获HTTPS请求

安装Fiddler

这里不特别说明了,网上搜索一大把,根据安装引导一步步安装即可。(这里采用的是fiddler v4.6)

配置Fiddler

1、打开fiddler配置Tools –>Telerik Fiddler Options。

2、打开HTTPS配置项,勾选“CaptureHTTPS CONNECTs”,同时勾选“Decrypt HTTPS traffic”,弹出的对话框选择“是”(即安装fiddler自己的证书)。如果手机与电脑用wifi进行连接,那还需要选择“…fromremote clients only”。如果需要监听不可信证书的HTTPS请求,需要勾选“Ignore servercertificate errors”。

3、打开Conections配置项, 这里可以修改Fiddler代理端口号。勾选“Allow remote computersto connect”。

4、为了可以抓客户端使用httpURLConnection的包。需要通过Rules–>Customize Rules ,默认用“Fiddler ScriptEditor”打开“CustomRules.js”,在函数OnBeforeResponse里面添加以下代码:


  
  1. if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) {

  2. oSession.oResponse.headers["Connection"] = "Keep-Alive";

  3. }

添加代码后为:


  
  1. static function OnBeforeResponse(oSession: Session) {

  2. if (m_Hide304s && oSession.responseCode == 304) {

  3. oSession["ui-hide"] = "true";

  4. }

  5. if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) {

  6. oSession.oResponse.headers["Connection"] = "Keep-Alive";

  7. }

  8. }

5、通过链接:http://download.csdn.net/detail/huiyuznk/9837991 下载fiddler证书生成器,下载后运行“fiddlercertmaker.exe”进行安装。
6、在“Telerik Fiddler Options”中“HTTPS”中,点击“CertEnroll engine”,在弹出的“Certificate Creation Preferences”中,选择Engine“MakeCert”,然后点击“OK”,生成对应证书。

7、点击“Actions”,在弹出的列表中选择“Export Root Certificate to Desktop”,把证书导出到桌面。

导出的证书

8、最后,不要忘记重启Fiddler。

配置手机
1、保证手机与PC在同一网段下。
2、配置手机连接的wifi,可能每个手机wifi配置的方式都不太一样,多研究下,选择已经连接的网络,打开修改网络窗口。显示高级属性,配置网络代理->手动 代理服务器主机名:填写pc机的IP地址,例如:192.168.0.33,代理服务器端口号:fiddler的代理端口号,这里如8899。
3、安装证书
Android机安装证书

1)Android连接到电脑上,从电脑上打开手机的内存卡,直接把证书复制到SD卡中。
2)点击设置—>安全—>设备管理与凭证—>从存储盘安装 (每款手机有一定差异,多研究下就好),在存储空间中找到证书,点击安装即可。

iOS机安装证书
将证书发送到邮箱中,在手机浏览器上登录邮箱,查看邮件并点击附件进行证书的安装即可。(方式一,目前新版本不可用)

直接访问安装fiddler的 电脑局域网IP 和 fiddler设置代理端口 (如 http://192.168.0.33:8899),这样就能对证书进行下载安装。(推荐使用该种方式)

最后,我们就可以对HTTPS请求接口进行捕获了。如图:

安全思考?
通过fiddler可以对https抓包,是不是就不安全的了呢,毕竟所有请求对我们来说都是透明的。其实刚才的过程很重要的一点就是我们下载并且安装了fiddler的根证书,对于pc端来说就是配置fiddler https选项时弹出的对话框,对于手机来说就是我们去“pcip地址:fiddler代理端口”这个地址下载证书的过程。
对https的安全来说,https安全的前提就是可信的根证书。
而,之前的操作无疑是在我们系统里面安装了不可信的根证书。使得fiddler对通信造成了中间人攻击!简单的说就是我们与服务器进行通信,会先获取服务器的证书,进行校验校验过程是用本地的可信根证书进行校验,而装入fiddler的根证书后,fiddler可以伪造证书,获取我们与服务器通信的秘钥,进而破解我们的通信。所以对我们系统来说安装证书是一个非常危险的操作!

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

相关推荐

  1. HTTP 协议格式与 Fiddler 工具的

    2024-04-02 04:42:01       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 04:42:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 04:42:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 04:42:01       87 阅读
  4. Python语言-面向对象

    2024-04-02 04:42:01       96 阅读

热门阅读

  1. 利用DNDC模型分析温室气体排放的建模方法与实践

    2024-04-02 04:42:01       32 阅读
  2. Docker 安装PostgreSQL容器

    2024-04-02 04:42:01       33 阅读
  3. 如何在VSCode中高效使用Git:完全指南

    2024-04-02 04:42:01       39 阅读
  4. 关于比尔·盖茨 Bill·Gates 的那些事儿

    2024-04-02 04:42:01       31 阅读
  5. 洛谷 马的遍历(BFS广度优先搜索,队列)

    2024-04-02 04:42:01       31 阅读
  6. 121.联合体学习

    2024-04-02 04:42:01       30 阅读
  7. fpga_hdmi

    2024-04-02 04:42:01       32 阅读
  8. MySql判断表是否被锁定、如何解锁

    2024-04-02 04:42:01       40 阅读
  9. 6.游戏。

    2024-04-02 04:42:01       37 阅读