如何在 Tor 上运行 Charles Proxy?

Posted

技术标签:

【中文标题】如何在 Tor 上运行 Charles Proxy?【英文标题】:How to run Charles Proxy over Tor? 【发布时间】:2019-02-07 01:11:23 【问题描述】:

以下情况:

如果我将浏览器 http/https 代理设置为 Charles 配置的端口 (127.0.0.1:8888),则使用 Charles 代理拦截 Web 流量可以正常工作 如果我将浏览器的 socks 代理设置为 Tor 配置的代理 (127.0.0.1:9150),则通过 Tor 匿名浏览也可以正常工作

现在我想以一种方式链接两个代理,这样我就可以在通过 Tor 网络匿名的同时拦截我的浏览器与 Charles 的网络流量。所以我将我的浏览器 http/https 代理设置为 Charles,在 Charles 中我将“外部代理”设置为 Tor。

但不知何故,这不起作用。我有一些误解吗?感谢您的帮助!

【问题讨论】:

【参考方案1】:

TL;DR:

    打开命令行 (C:\Windows\System32\cmd.exe) 并在控制台窗口中键入以下命令: "C:\TorBrowserBundle\Browser\TorBrowser\Tor\tor.exe" --HTTPTunnelPort 8118。根据 Tor Browser Bundle 所在的位置调整路径。 在查尔斯转到菜单Proxy→External Proxy Settings 选中顶部的Use external proxy servers复选框 清除左侧的Web Proxy (HTTP)SOCKS Proxy 复选框 选择左侧的Secure Web Proxy (HTTPS) 在右侧Secure Web Proxy Server 下输入127.0.0.18118 在底部选择Always bypass external proxies for localhost复选框 点击OK保存更改 尝试在配置为使用 Charles 的网络浏览器中打开 https://google.com/(最好在隐身窗口中打开,以确保您的 Google 帐户设置不会干扰通过地理位置检测 Google 语言)。您应该会看到一些随机语言的本地化 Google 页面。

说明

Tor 提供开箱即用的 SOCKS 代理。默认情况下,Tor 使用端口 9050。您提到了端口 9150。这是 Tor Browser Bundle 使用的默认端口。所以我假设你使用 Tor Browser Bundle。但是在 Charles 的 External Proxy Settings 中指定 SOCKS Proxy 设置将不允许您通过 https:// 链接打开网站。如果您查看Charles documentation,您可能会注意到只有非 HTTPS 流量通过 SOCKS 代理发送。引用(强调我的):

如果您有 SOCKS 代理,Charles 会将其用于所有非 HTTP(S) 流量,例如端口转发。

所以为了通过 Tor 链接 Charles,你必须使用非 SOCKS 代理。

顺便说一句,当将 Tor 指定为 SOCKS 代理并禁用 Secure Web Proxy (HTTPS) 时,我无法通过 Charles 打开 http:// 链接。不知道为什么。

【讨论】:

以上是关于如何在 Tor 上运行 Charles Proxy?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android SDK Manager上使用tor

Charles Proxy 捕获 tvOS 10.2?

如何在 Windows 上使用 Charles Web Proxy 和最新的 Android Emulator 配置 SSL 证书?

如何在 Xcode 6 (iOS 8) 模拟器上使用 Charles Proxy?

在 Mac 上通过导出 http_proxy 将 Ruby 与 Charles Proxy 一起使用

如何使用 Charles Proxy 配置 Appium Android?