• 接口测试之Fiddler抓取HTTPS请求


    装Fiddler

    这里不特别说明了,网上搜索一大把,根据安装引导一步步安装即可。(这里采用的是fiddlerv4.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里面添加以下代码:

    if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) {
                oSession.oResponse.headers["Connection"] = "Keep-Alive";
    }

    添加代码后为:

    static function OnBeforeResponse(oSession: Session) {
            if (m_Hide304s && oSession.responseCode == 304) {
                oSession["ui-hide"] = "true";
            }
            if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) {
                oSession.oResponse.headers["Connection"] = "Keep-Alive";
            }
        }

    5、通过链接:fiddlercertmaker-其它工具类资源-CSDN下载 下载fiddler证书生成器,下载后运行“fiddlercertmaker.exe”进行安装。
    6、在“Telerik Fiddler Options”中“HTTPS”中,点击“CertEnroll engine”,在弹出的“Certificate Creation Preferences”中,选择Engine“MakeCert”,然后点击“OK”,生成对应证书。

    wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== 编辑

    导出的证书

     

    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安全的前提就是可信的根证书。 
    而,之前的操作无疑是在我们系统里面安装了不可信的根证书。

    Jmeter高级性能测试实战icon-default.png?t=M666https://download.csdn.net/course/detail/35834

    软件测试全栈系列课程icon-default.png?t=M666https://download.csdn.net/course/detail/30898 

  • 相关阅读:
    ThinkPHP 集成 jwt 技术 token 验证
    项目(模块1:用户登陆流程分析)
    【 java 面向对象】java 设计模式之单例模式
    CAS:295348-87-7_AF594 NHS 活化酯_ Alexa Fluor 594 NHS ester
    【oncmdmsg 鼠标】2023/8/19 上午9:50:14
    数字签名 及 数字证书 原理笔记
    linux的常用命令
    值类型和引用类型的区别 I 数据结构中的堆和栈和内存中的堆和栈的区别
    手动实现BERT
    Ribbon负载均衡
  • 原文地址:https://blog.csdn.net/m0_37449634/article/details/126150588