本地代理工具,通过 NTLM 进行身份验证,位于 Java VM 之上,可能透明地传递 HTTPS 请求

本地代理工具,通过 NTLM 进行身份验证,位于 Java VM 之上,可能透明地传递 HTTPS 请求

我正在寻找一个可以在我的机器上本地运行的本地 HTTP 代理。此代理接受 HTTP 和 HTTPS 请求并将它们向上传递到外部公司代理。本地代理需要满足以下要求:

  • 1:需要是一个可以在专用 JVM 上运行的 Java 程序。
  • 2:代理需要能够通过 NTLM 对上游进行身份验证。(凭据存储在本地代理的某个位置。)

奖金:

  • 3:透明地传递 HTTPS 请求,以便证书来自原始颁发者。

我努力了Zed 攻击代理,并且它可以满足 1 和 2 的要求,但是不能满足奖励要求 3 的要求。此外,使用 ZAP Proxy 时,我遇到了很大的可靠性问题。

有哪些其他可靠的 Java 代理可以完成此任务?

答案1

根本不可能。身份验证需要读取用户所说的内容。传递原始颁发机构的原始证书会使这变得不可能。这就是 HTTPS 的全部目的

答案2

我前段时间使用 Java AIO 创建了这个 Java 代理: http://apetrelli.github.io/scafa/

目前它可以使用 NTLM 代理、无身份验证代理和直接连接。

这是一项未完成的工作,它占用了大量的内存(Linux 中为 160 MB),并且文档需要更新。

相关内容