我正在尝试使用 mitmproxy 设置代理服务器,它可以处理 HTTP 端点并透明地将请求转发到另一个代理(代理 B)。
这就是我需要的:
我尝试过的:
常规模式:
我设法让它部分工作。但是HTTPS请求会因为证书问题而失败(因为模式不透明,需要安装证书)。
透明模式:
我尝试设置透明代理,但配置导致无限循环。 我在 mitmproxy 版本 11 和版本 10 上进行了测试,但遇到了同样的问题。我还提出了有关此问题的问题,但尚未找到解决方案。 https://github.com/mitmproxy/mitmproxy/issues/7369
问题
如何配置 mitmproxy 透明地处理 HTTPS 请求(客户端不需要证书验证)并记录响应详细信息,例如状态代码和请求大小?是否有特定的配置或替代方法来实现这一目标?
在某些网站上,我读到有关将代理保持在“常规”模式,删除主机标头,将其替换为代理的主机,然后在收到响应时恢复原始主机标头。然而,我无法让它发挥作用。您能更详细地解释一下这种方法吗?
- 我不需要解密或读取流量。但是,我想要一个请求日志,例如 HTTP 响应代码(例如 200)以及可能的请求大小。
这些要求相互矛盾:由于 HTTP 请求在 TLS 连接内完全加密(HTTP 请求和响应标头和正文),因此必须进行加密才能获取 HTTP 级别的详细信息(例如响应代码)。