如何使用 wireshark 解密 TLS 呼叫

介绍

话机在一些 PBX 的自动部署后会采用 TLS 加密,比如 Snom 之于 3CX。这个时候在话机和 PBX 的抓包都是加密的,没法排查问题。那么我们就需要对 TLS 进行解密。

进行 TLS 解密需要:

  • PBX 管理员权限
  • 服务器端的私钥

步骤

在开始之前需要声明,抓包中包含建立 TLS 握手部分非常重要。一个简单的方法可以保证:在开始抓包之前重启话机或者服务器。

  1. 将 TLS 私钥以文本文件的格式存放在 pc 中,私钥文件格式应该如下所示:
  2. 使用 Wireshark 打开网络抓包文件
  3. 选择编辑 – 首选项
  4. 展开 Protocols 并找到 SSL 协议
  5. 在 RSA key list 中按以下格式填入信息:
    • <ip> 是私钥文件所属的服务器 IP 地址
    • <port> ,一般来说 TLS SIP 的端口是 5061
    • <protocol> 是 tls
    • <key_file_name> 是私钥在本地的位置和文件名(需要提前创建)

    中间不能有空格

  6. 接着我们找到 SIP 协议,设置 TLS 端口。
  7. 点击 OK 保存

接下来就可以在 Wireshark 中看到 TLS + SRTP 的呼叫了。