如何链接两个代理,或者:如何将网络流量从一个进程重定向到本地代理

如何链接两个代理,或者:如何将网络流量从一个进程重定向到本地代理

场景如下:我有一个代理,当 Chrome 设置为将请求映射到时,记录来自 Chrome 的请求 + 来自真实服务器的响应。它将所有这一切记录在一个特殊格式,因此用其他服务替换此服务是不可能的。该代理侦听127.0.0.1:80127.0.0.443,并通过 Python 将请求直接发送到网络(源代码可以在上面的链接中找到)。

问题是,我不想通过 Chrome 访问任何正常的旧站点来记录响应...我需要通过服务器以几种方式修改响应。中间人代理非常适合此目的,并且我使用根证书对其进行了设置,以修改使用此代理的客户端所需的特定内容。

我的问题是我似乎只能使用一个或者另一个。任何一个:

  • Chrome可以转发请求==>记录代理,发送请求==>网络(绕过mitm代理),或者
  • Chrome 可以转发请求 ==> mitm 代理,它发送请求 ==> 网络,并以我想要的方式操纵 Chrome 看到的响应(但绕过记录代理)

我很难将这两者链接在一起,以便记录代理记录来自中间人代理的更改响应。我认为一种方法是让 Chrome 地图请求 ==> 记录代理(通过 cli 标志),并设置我的系统级代理设置以将所有内容映射到 mitm 代理,但这只是覆盖了 Chrome 的设置并绕过了记录代理人。似乎很难让一个代理人站在另一个代理人面前,而不是两个并排,如果这有意义的话。

所以我真正需要知道的是:有没有一种方法可以制作记录代理,它将请求直接发送到网络,而不是将其流量转发到mitm代理,以便它可以操纵记录的响应。

我希望这可以在无需对记录代理进行太多修改(如果有的话)的情况下完成,而只需重定向其进程或其他内容中的所有流量即可。提前致谢 :)

相关内容