Chrome 如何绕过 proxychains 代理?

ans*_*ant 5 networking google-chrome proxy

我注意到当我使用 proxychains 启动 Chrome 时:

$ proxychains google-chrome
Run Code Online (Sandbox Code Playgroud)

每个请求都会被正确代理,除了那些发送到 Google 网站的请求!例如,当我停止 proxychains conf 中配置的代理时,使用代理 Chrome,我无法访问除 Google 之外的任何网站 (err_connection_refused)。

我在 Firefox 上尝试了相同的测试:每个请求都由代理链代理,包括发送到 Google 的请求

我知道还有其他方法可以代理请求,这些方法也适用于 Google,但我更感兴趣的是为什么当您在 Chrome 上访问 Google 时 proxychains 方法不起作用。

在内部,proxychains 使用 LD_PRELOAD 环境变量来包装必要的系统调用并透明地代理所有请求。我没想到 Chrome 能够绕过这个包装。这怎么可能?

int*_*ika 1

代理链错误/不兼容性:

chrome 有一个 bug,显然是由沙箱功能引起的;检查 第 45 期

代理链限制:

代理链在很多情况下都可能存在泄漏,以下是其中的一些示例

  • 子进程没有被代理(例如 Chrome 可以使用除主进程之外的许多进程...解决方案:解决方法可以是修改二进制位置)
  • Socks v4 代理无法通过隧道传输 DNS 请求(解决方案:改用 Socks v5)
  • 与某些沙箱功能/应用程序不兼容,因为它们使用内核用户空间功能与主系统分离,proxychains 不会看到/拦截它们的连接(解决方案:将 proxychains 与 iptables 结合起来)

选择 :

您可以尝试使用tsocks作为替代方案,它通常可以在发行版存储库apt-get install tsocks等中找到dnf install tsocks