【问题标题】:Chrome not Firefox are not dumping to SSLKEYLOGFILE variableChrome 不是 Firefox 没有转储到 SSLKEYLOGFILE 变量
【发布时间】:2017-07-09 00:54:07
【问题描述】:

我正在尝试使用 Wireshark 解密 SSL 包,如 here 所述。我已经创建了一个 SSLKEYLOGFILE 系统和用户变量以及日志文件。我已重新启动计算机(运行 Windows 10),并使用 Chrome 和 Firefox 打开 https url,但没有写入 ssl 日志文件。我的 Chrome 版本是 56.0.2924.87(64 位),我的 Firefox 版本是 51.0.1(32 位)。知道如何让两个浏览器中的任何一个写入该文件吗?或者有什么方法可以让 SSL 密钥能够在 Wireshark 中解密 SSL 包?

【问题讨论】:

    标签: google-chrome firefox ssl encryption wireshark


    【解决方案1】:

    你做错了什么。在版本 58 上测试,您无需重新启动。要激活任一:

    1. 设置环境变量,例如SSLKEYLOGFILE%USERPROFILE%\sslkeysENV.pms
    2. 使用参数运行 chrome,例如: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --ssl-key-log-file=%USERPROFILE%\sslkeysARG.pms

    【讨论】:

    • 此答案的语法最初不正确,但我已提交修复它的编辑(您的路径略有偏离,您需要双破折号 - 用于标志)。话虽如此,我在 vpn 上取得了一些成功,但在公司内部的 VPN 上取得了一些成功。网络,它似乎有时可以工作,而其他人则不能。不知道有什么区别。
    • 自 2019 年 9 月 27 日起,Chrome 稳定版(标准,macOS)不适用于选项 1。我没有测试选项 2。但是,Chrome Canary 可与选项 1 和2.
    • 选项 2 适用于 Mac OS:"open /Applications/Google\ Chrome.app --args --ssl-key-log-file="
    【解决方案2】:

    对于 Firefox,这些功能似乎默认被禁用,并且是 only available in debug builds。在 Chrome 中,这可能已经通过将底层 SSL 引擎从 NSS(实现了此功能并在 Firefox 中使用)切换到 BoringSSL(可能没有此功能)而消失。

    更新:根据@Lekensteyn(见评论),该功能在当前的 Firefox 和 Chrome 版本中再次可用。

    【讨论】:

    • Firefox 仅在一个版本中禁用了密钥记录功能,他们恢复了该功能,并且当前版本确实支持该功能。 Chrome 也通过 BoringSSL 支持此功能。
    • @Lekensteyn:感谢您提供最新信息。我已经更新了答案。
    【解决方案3】:

    试试火狐开发者版,上面提到的功能默认是开启的。我昨天才测试过。

    【讨论】:

      【解决方案4】:

      一些防病毒软件(如 Avast)将 SSLKEYLOGFILE 环境变量注入到众所周知的进程中,如 firefox.exe 和 chrome.exe。如果您重命名浏览器可执行文件并启动它,则不会覆盖环境变量。

      【讨论】:

        【解决方案5】:

        尝试关闭您当前的浏览会话,它的行为就像您只是向 PATH 添加了一个新路径,只在新会话中工作等等。

        【讨论】:

        • 怎么做?
        【解决方案6】:

        我已经解决了!

        必须确保 chrome 完全关闭。然后重新打开一个全新的 chrome 实例。

        Chrome 有一个默认选项让 chrome 在后台运行已启用。

        仔细检查窗口或进程列表的任务栏,确保不存在 chrome 实例。

        这就是为什么--ssl-key-log-file 不工作,点击退出按钮后 chrome 仍然活着。

        【讨论】:

          【解决方案7】:

          除了他们已经指出的,我想展示三点可能会有所帮助。这些是 Linux (CentOS) 的提示

          1. 确保与SSLKEYLOGFILE相关的文件可以读写,确保可以使用:

            chmod -R 777 sslkey.txt
            
          2. 确保您的 Firefox 或 Chrome 在与上述文件相同的用户下打开,例如在 root 下。

          3. 找到一些有用的 cmets here

          【讨论】:

          • 1. chmod 640 sslkey.txt 会更好。其他/任何人都不应该拥有 SSLKEYLOGFILE 的权限;如果文件系统支持访问控制列表,您可以改为 chgrp 到普通用户组或 setfacl。 2. 您不应该以 root 身份运行浏览器。 3. setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/sbin/dumpcap; chmod o-rx /usr/sbin/dumpcap 避免向数据包捕获实用程序授予 root 权限(TBH 可能应该以没有读取当前用户文件权限的用户身份运行)。
          猜你喜欢
          • 2019-10-28
          • 2018-06-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-19
          • 1970-01-01
          • 2016-10-13
          • 1970-01-01
          相关资源
          最近更新 更多