2012-04-15 103 views
3

我使用SIP服務器偵聽端口5070的SIP/TLS請求。我試圖追蹤和分析爲什麼我的撥號程序不通過Wireshark在網絡上註冊。如何通過Wireshark解碼SIP/TLS(非默認SIPS端口)數據包?

我編輯了Wireshark的首選項中的所有必需字段,添加了服務器的私鑰,編輯了SIP TCP和TLS端口(它們是5070而不是5061),我現在明白的是TLS客戶端Hello和服務器響應,但沒有顯示SIP,只有TCP SYN和ACK。

我已經搜索並嘗試了一切可能,但無濟於事 - 任何幫助將不勝感激。

在此先感謝。

//中號

回答

2

是使用密碼套件與完全向前保密TLS會話?如果是這種情況,即使使用服務器私鑰,Wireshark也不能解密TLS。檢查服務器在ServerHello消息中選擇的密碼套件中的子字符串EDHEECDH,在這種情況下使用完美的前向保密。您將必須在客戶端或服務器上配置密碼套件,以便不使用任何EDHEECDH套件。使用OpenSSL,請使用ALL:-EDH:-EECDH或類似的密碼套件設置。

具有完美的前向保密性,客戶端和服務器將使用Diffie-Hellman(DH)達成共享會話密鑰;服務器私鑰僅用於簽名。沒有完美的前向保密,共享密鑰由客戶端用服務器的公鑰加密,因此可以由服務器(和Wireshark)使用服務器的私鑰(假定服務器使用RSA密鑰)進行解密。

+0

您好Daniel,我在ServerHello消息中根本找不到EDH或EECDH。我目前在Mac上運行Wireshark v2.0.1。 我嘗試了Wireshark中的所有組合來解密這些消息,但仍然無法破解它。 – 2016-06-02 15:49:38

+0

什麼密碼套件被服務器選中? – 2016-06-04 22:54:33