我注意到当我使用 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 能够绕过这个包装。这怎么可能?