【问题标题】:Intercept TLS/HTTP/2 from browsers从浏览器拦截 TLS/HTTP/2
【发布时间】:2019-07-25 18:21:09
【问题描述】:

我可以通过导出 SSL 密钥日志并在 Wireshark 中引用它来拦截进出 Chrome 的流量。

不过,我想将 Chrome 的行为与其他主要浏览器的行为进行比较。如何以 Wireshark 可以理解的格式从这些浏览器获取密钥?

具体

  • 边缘
  • IE11
  • 歌剧
  • 野生动物园

【问题讨论】:

    标签: ssl internet-explorer microsoft-edge wireshark http2


    【解决方案1】:

    我不相信那些浏览器允许您像 Chrome 和 Firefox 那样导出 SSL 密钥,也许 Opera 除外(因为它是基于 Chromium 的浏览器)。还应该注意的是,Edge 正在过渡到 Chromium,因此它可能很快也会拥有这个功能。

    根据您想要这样做的原因,拦截流量的另一种方法是设置网络服务器并记录响应。例如,Nghttpd 允许您查看接收(和发送)的每个帧。我用它来调查浏览器as discussed in my book 使用的不同优先级方案(注册一个免费帐户,每天免费阅读本节几分钟)。基本上,我创建了一个包含几种资源类型的虚拟页面,并在目录中启动了一个 nghttpd 服务器,该页面处于详细模式,并搜索了我正在寻找的框架信息:

    nghttpd -v 443 server.key server.crt | grep -E "PRIORITY|path|weight"
    

    然后从我感兴趣的每个浏览器请求http://localhost,并查看每个浏览器发送的帧详细信息。

    【讨论】:

    • 这是个好主意,是否会注销与 Wireshark 跟踪相同的详细信息(关于 HTTP/2,而不是较低的协议)。
    • 是的,如果您在运行 nghttpd 时使用 -v 标志,它会注销完整的 HTTP/2 帧详细信息。
    • 最好是在 Windows 上运行它以使用 Docker 容器吗?我看不到任何看起来很简单的东西。
    • 抱歉帮不上忙。我使用了我可以访问的 Linux 服务器,它与 mac 类似,但 Windows 是一个完全不同的鱼锅。文档中的 Cygwin 看起来确实有可能:github.com/nghttp2/nghttp2/blob/master/README.rst 但是,正如你所说,远非大惊小怪。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    • 2016-03-08
    • 2023-03-13
    相关资源
    最近更新 更多