1

我正在我的 Macbook Pro 上运行mitmdump(从mitmproxy),我正在通过我的 Windows 台式电脑连接到代理。

但是,由于 mitmproxy 提供的证书无效,Chrome(在 PC 上运行)拒绝连接到如此多的站点。

您的连接不是私密的/攻击者可能试图窃取您的信息。 NET::ERR_CERT_AUTHORITY_INVALID

Chrome 抛出错误:ERR::NET_CERT_AUTHORITY_INVALID

这是 mitmdump 显示的内容:

客户端握手失败

但为什么?mitmproxy 的证书有什么问题,为什么不能像什么都没发生一样直接发回 google 的证书?

我想知道如何解决这个问题并让(强制)我的台式电脑通过我的 Macbook 的 mitmproxy 连接到任何网站。

4

3 回答 3

3

根据文档的入门页面,您可以通过在 mitmproxy 运行时访问http://mitm.it并选择您正在使用的操作系统来添加 CA。这应该可以解决您的问题,并将允许 https 站点与 mitmproxy 一起使用。

于 2016-04-15T08:40:21.907 回答
3

为现在可能觉得这很重要的人回答这个问题。要使代理正常工作,您必须在浏览器中添加受信任的证书。

对于 Windows,请遵循以下步骤:https ://www.nullalo.com/en/chrome-how-to-install-self-signed-ssl-certificates/2/

对于 linux,请遵循:https ://dev.to/suntong/using-squid-to-proxy-ssl-sites-nj3

对于 Mac-os,请遵循:https ://www.andrewconnell.com/blog/updated-creating-and-trusting-self-signed-certs-on-macos-and-chrome/#add-certificate-to-trusted-根权限

上面的链接中有一些额外的细节;tldr; 在您的 url 中导入证书chrome://settings并将证书添加为受信任的。就可以了。

这将使您的浏览器信任您的自签名证书(mitm 也自动生成证书。)

mitmproxy 的默认证书在~/.mitmproxy/目录中。

于 2020-03-03T07:39:51.810 回答
1

这是预期的行为。

mitmproxy 通过向客户端提供即时生成的虚假证书,同时使用真实证书通过完全加密的连接与服务器通信,对 https 连接执行中间人攻击。

这样可以解密客户端和代理之间的通信。但是客户必须积极批准使用这些假证书。

如果不是这种情况,那么 SSL 就会被破坏——事实并非如此。

整个故事在这里得到了很好的解释:

http://docs.mitmproxy.org/en/stable/howmitmproxy.html

于 2016-02-11T16:53:34.957 回答