介绍
话机在一些 PBX 的自动部署后会采用 TLS 加密,比如 Snom 之于 3CX。这个时候在话机和 PBX 的抓包都是加密的,没法排查问题。那么我们就需要对 TLS 进行解密。
进行 TLS 解密需要:
- PBX 管理员权限
- 服务器端的私钥
步骤
在开始之前需要声明,抓包中包含建立 TLS 握手部分非常重要。一个简单的方法可以保证:在开始抓包之前重启话机或者服务器。
- 将 TLS 私钥以文本文件的格式存放在 pc 中,私钥文件格式应该如下所示:
-----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQCxgPIDzB6Nft+B4g+9rv36WF9zhxr2WNgmn8KDw5ZSx1ejZFr3 084C5c+c6lUNqcVwRHkebDOrnqAM+DWm0TSVv0vcEm51gJY5bnu2KNQCCiWqduT8 FX4IJQz25P3CZXboWWO03g0oCtrIYZXdvor2LXnfilKLULhCgxT4rix8swIDAQAB AoGAYxKIgiwUxX8R+ymVBZc9dNSMeivnlaYjBvPWmrq5FXzj4nOp/nc+ngls5rU4 QccHR1FAlQVplZmU1YhYUcKk6R4DU8weaQ74EuucFx1cKp3ze4kPYMw+G6BCZflI J647lz4gV1fhN1Ho8mFL1In5z+bCYhPndmp2f0WDCB6juGkCQQDXBMAPb6dnCnDU U0X3T2XZDeRxv0C2vj+6+9NLWsZjZwx2f3H7EzuDxX62VUy6ZH6vY8lTE6zFNUQT CoqTMZnVAkEA01XCOy2hkoWliqnAnhzQlQR5oIs4CbeokX8iN3eSmaREUhZo2/W1 m/Gn9zodbfOvpuLGSIkESBv4V4QEvM04ZwJARdwQPrOrMypMQGAR8mlEkQIXf/GA qB8l+62IGAqVPISlovaDZOz5wDVxlvId7M1r77Y/GhPhZW2KAZnCLlLGRQJBALTU Y68ZW3AxVTWyDLP9+egYfS4HEfsWoHFmtFN7yAAZU7BdpnnX4/68pzlfC8GCSyFk V7/HJdfBvxy7RQZ8Hy8CQFYEo8DZkoJr0Mlnhh2qSM8UmXW7nYh+kD5UDXfcZ6BT xmwbDd3sF/OTtYhw06OxH10QGn3QaefeqCNeQYGhGlU= -----END RSA PRIVATE KEY-----
- 使用 Wireshark 打开网络抓包文件
- 选择编辑 – 首选项
- 展开 Protocols 并找到 SSL 协议
- 在 RSA key list 中按以下格式填入信息:
<ip>,<port>,<protocol>,<key_file_name>
- <ip> 是私钥文件所属的服务器 IP 地址
- <port> ,一般来说 TLS SIP 的端口是 5061
- <protocol> 是 tls
- <key_file_name> 是私钥在本地的位置和文件名(需要提前创建)
中间不能有空格
- 接着我们找到 SIP 协议,设置 TLS 端口。
- 点击 OK 保存
接下来就可以在 Wireshark 中看到 TLS + SRTP 的呼叫了。