zoukankan      html  css  js  c++  java
  • Fiddler 抓取 https 设置详解(图文)

    现在window 系统很多使用 fiddler 抓包,对于 http 来说不需太多纠结,随便设置下就能用,但是抓取 https 就死活抓不了,出现诸如以下问题:

    creation of the root certificate was not successful;

    Failed to find the root certificate in User Root List;

    The Root certificate could not be found;

    The root certificate could not be located;

    Fiddler 抓取https 显示 Tunnel to ... 443;

    等等...

    主要原因就是 https 有一个安全证书问题。

    第一次安装:

    1.下载最新版fiddler ,强烈建议在官网下载:https://www.telerik.com/download/fiddler

    2. 正常傻瓜式安装,下一步,下一步,安装完毕后,先不用急于打开软件。

    3.下载并安装Fiddler证书生成器:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2

    4.打开Fiddler,点击工具栏中的Tools—>Options

    5.点击https设置选项,勾选选择项

    6.点击Actions,点击第二项:Export Root Certificate to Desktop,这时候桌面上会出现证书FiddlerRoot.cer文件,点击OK设置成功,关闭fiddler

    7.PC端,在浏览器中导入证书FiddlerRoot.cer,以谷歌浏览器为例说明,在浏览器上输入: chrome://settings/,然后进入高级设置,点击管理证书

    8.在受信任的根证书颁发机构,对证书进行导入

    9.重新打开fiddler,就可以在电脑上进行https抓包了。

    如果不是第一次安装,那么需要重新设置,步骤如下:

    1.清除C:UsersAdministratorAppDataRoamingMicrosoftCryptoRSA 目录下所有文件

    2.清除电脑上的根证书,WIN+R快捷键,输入:certmgr.msc, 然后回车,查找所有fiddler证书,然后删除。

    3.清除浏览器上的证书文件,此处需要仔细查找带有FiddlerRoot的字样,并删除,一般在设置中。以谷歌浏览器为例说明,在浏览器上输入: chrome://settings/

    4.打开fiddler,点击工具栏中的Tools—>Options,点击Actions,选择最后一项,Reset All certificates,然后关闭

    5.点击 Options 对话框的 Connections 选项,设置端口号以及箭头标记选项。默认是8899,可以自行修改设置

    设置手机(ios)

    1. 配置代理

    步骤: 设置 >> 无线局域网 >> 选择和PC端一样的网络连接,点击进入 

               >> 翻到最下面,找到HTTP代理(默认:关闭) >>点击“手动”选项  

               >> 服务器:pc机的 ip(cmd 进入命令行窗口,ipconfig或ipconfig/all可获取)  端口:8888(你在fiddler 中如何设置的,这里就填什么)

               >>点击存储

    比如 ip:127.0.0.1,port:8080。也可以使用指令 ipconfig 查看电脑 ip,或者在 fiddler 右上角 online 如图直接查看

    2.下载&安装证书

    步骤:

        1)在默认浏览器"Safari"的地址栏中输入 ip:port  (ip是pc机的ip,port是fiddler设置的端口)如:192.168.0.10:8888

        2)点击“FiddlerRoot certificate”  >> 选择【允许】  >> 点击【安装】即可

        3)安装后检查证书是否打开

     步骤: 设置  >> 通用   >> 关于本机  >>证书信任设置  >> 启用你安装的证书的信任 >>  选择继续

        如下图所示,到此完成了fiddler配置手机代理

    设置手机(安卓)

    1. 配置代理

    步骤如 ios 一样

    2.下载证书

    1)手机浏览器(最好使用自带浏览器 不容易出问题)进入 http://主机名IP:8888,

    2)点击“FiddlerRoot certificate”进行下载(通过更改目录,可以查看一下下载到那个目录了)

    一般在下载目录:内部存储设置 > download

    3.安装证书

    步骤:

        1)设置 >> 更多设置  >> 系统安全  >> 从存储设置安装  >> 进入下载证书的目录(如下图是下载目录:内部存储设置 > download)即可看到你下载的证书

    注意:有的手机是通过usb设备安装的

        2)选中证书,点击【确定】,即可开始安装

        说明:

        证书名称:可以随便起;

        凭据用途:默认选择"VPN和应用”,建议选择“WLAN”选项,部分手机需要选择"VPN和应用”,否则https请求好像抓不到。大家可以自己测试下,我的模拟机选择的“WLAN”。

        3)点击上图的【确定】按钮,即可完成安装。

    这时候理论上就可以抓到手机app的数据包了。

    抓包问题:

    抓包过程中,发现 Fiddler 抓取的所有的请求数据都是关于 image 的,找了半天才发现是设置了过滤器。。。.

    如果手机设置代理后,还无法访问,则进行如下操作:
    ①关闭防火墙
    ②打开注册表(window+R,然后输入regedit),在HKEY_CURRENT_USERSoftwareMicrosoftFiddler2下创建一个DWORD,值置为80(十进制)
    在这里插入图片描述
    记得选十进制
    在这里插入图片描述
    ③打开fiddler,点击Rules—Customize Rules,用Ctrl+F查找OnBeforeRequest方法添加一行代码
    if (oSession.host.toLowerCase() == “webserver:8888”)
    {
    oSession.host = “webserver:80”;

    }
    在这里插入图片描述

    重启fiddler,在手机重新安装证书

    FIDD

  • 相关阅读:
    系统开机自动运行程序和自动启动服务
    Show/hide mouse cursor
    Trap mouse events outside of my application
    Delphi防止同时出现多个应用程序实例CreateMutex
    用Delphi实现抓屏
    .NET四种注释规范
    再谈C#里4个访问权限修饰符
    什么是组件以及为什么使用组件
    做项目的时候千万不能懒!
    范式篇之一范式理论
  • 原文地址:https://www.cnblogs.com/joe235/p/14393412.html
Copyright © 2011-2022 走看看