在 Windows 10 中安装 Fiddler Everywhere 后对 Shopify CLI 3.x 的抓包流程

1、参考:在 Windows 10 中安装 Fiddler Classic 后对 Shopify CLI 3.x 的抓包流程 。 最终未实现。

2、参考:创建统一的 Telerik 帐户进行注册并成为试用用户。开始你的10天免费试用。如图1

图1

3、默认情况下,您只能使用 Fiddler Everywhere 跟踪非安全 HTTP 系统流量。 因此,要启用 HTTPS 系统流量的捕获,您必须安装并信任 Fiddler 根证书。设置 – HTTPS – Trust Root Certificate。防止 Fiddler Classic 证书的影响。如图2

图2

4、HTTPS capture is disabled.Enable HTTPS now.,点击 Enable HTTPS now。如图3

图3

5、启用 Live Traffic 。没有流量被捕获。如图4

图4

6、点击 Open Browser ,打开默认的 Google Chrome 浏览器,流量可以自动捕获。如图5

图5

7、参考:从 Node.js 库环境捕获流量

8、全局设置代理,此方案对于重用环境变量中的代理设置的请求之类的库很有用。使用 Node.js,您可以直接在终端中设置代理。没有流量被捕获。

9、全局代理设置不适用于需要将每个 HTTP 请求代理到 Fiddler Everywhere 的 HTTP 模块等模块。 解决该问题的一种方法是通过代码显式设置代理。新建文件:fiddler-everywhere-test.js

"use strict";

const url = require("url");
const http = require("http");

const fiddlerEverywhereProxy = {
    protocol: "http:",
    hostname: "127.0.0.1",
    port: 8866,
};

// Use this only for debugging purposes as it introduces a security issue.
process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0;

const setFiddlerProxy = (options) => {
    if (typeof options === "string") { // Options can be URL string.
        options = url.parse(options);
    }
    if (!options.host && !options.hostname) {
        throw new Error("host or hostname must have value.");
    }
    options.path = url.format(options);
    options.headers = options.headers || {};
    options.headers.Host = options.host || url.format({
        hostname: options.hostname,
        port: options.port
    });
    options.protocol = fiddlerEverywhereProxy.protocol;
    options.hostname = fiddlerEverywhereProxy.hostname;
    options.port = fiddlerEverywhereProxy.port;
    options.href = null;
    options.host = null;
    return options;
};

const exampleUrl = "https://www.example.com";
http.request(setFiddlerProxy(exampleUrl), (res) => {
    console.log(res);
}).end(); // Through Fiddler.

10、在终端中运行:node fiddler-everywhere-test.js ,来自 Node 的流量被捕获。最终确认,在 Windows 10 中安装 Fiddler Everywhere 后对 Shopify CLI 3.x 的抓包失败。如图6

图6

11、卸载 Fiddler Everywhere 后,打开控制面板,搜索证书。如图7

图7

12、点击 管理用户证书,操作 – 查找证书,搜索:Fiddler,全部选择,然后删除。如图8

图8

永夜

View Comments