如何利用Wireshark解密SSL和TLS流量

2022-06-19 19:21:13 字數 2696 閱讀 7522

** 

概要

本文介紹在wireshark網路協議分析儀中如果解密ssl和tls流量

要求

• 網路追蹤

• 網路,tcp/ip和ssl/tls協議

• 證書和公私鑰的使用

• wireshark網路協議分析儀

背景

在wireshark中,ssl解析器功能完整,且支援高階特性,如提供加密私鑰時的ssl解密。這對於使用ssl或tls加密的思傑產品的排錯有很大的幫助。

步驟

wireshark 設定

私鑰格式

wireshark只要有私鑰就可以解密ssl流量。私鑰需要時decrypted pkcs#8 pem format (rsa)格式。你可以開啟私鑰看它的內容。如果是二進位制,則是der格式,不能用於wireshark解密。

你可以使用openssl轉換金鑰格式。例如,可以將pkcs#8 der格式的金鑰轉化成decrypted pkcs#8 pem format (rsa)格式。在$提示符後輸入如下指令:

openssl pkcs8 -nocrypt -in der.key -informat der -out pem.key -outformat pem

其中:der.key是der金鑰檔案的檔名和路徑

pem.key是pem檔案的檔名和路徑

解密後的decrypted pkcs#8 pem format (rsa)格式如下:

注意金鑰開頭為:

-----begin rsa private key-----

如果開頭為:

-----begin encrypted private key-----

則這個金鑰需要用適當的方法解密。openssl可以實現。

你可以在openssl rsa後加上引數,假如你知道私鑰和解密的pem的檔名。例如,私鑰的檔名是myprivkey.pvk和解密的檔名問keyout.pem,命令如下:

openssl rsa –in myprivkeypvk -out keyout.pem

附加資訊

docs/dfref/s/ssl.html

使用 wireshark 解密 ssl 流量,支援兩種方式:

使用證書解密,需要配置對端伺服器私鑰

不使用證書解密,需要設定 wsslkeylogfile

如何利用 wireshark 解密 ssl 和 tls 流量

edit -> preferences -> protocols -> ssl: rsa keys list

wsslkeylogfile 是 nss 底層密碼庫提出的一種技術,所有基於 nss 的應用程式在執行期間可以將通訊過程中的會話金鑰匯出到乙個檔案中,一旦有了這個密碼檔案,wireshark 就能夠解密所有的 tls 流量了。

現在 openssl 等其他的 tls 實現也能支援這種方式,通過 chrome 和 firefox 瀏覽器捕獲 tls 流量,wireshark 就能夠解密

關於一些 tls 的 debug 技巧和工具集介紹

ubuntu 下使用命令列啟動瀏覽器為了保證能讀到環境變數

$export sslkeylogfile=/tmp/keylog.txt

$/opt/google/chrome/chrome

$/usr/bin/firefox

在wireshark中設定key log路徑

edit -> preferences -> protocols -> ssl: (pre)-master-secret log filename: /tmp/keylog.txt

設定之後可以解密 ssl 流量,可以看到 ssl 互動過程,可以follow ssl stream檢視完整 https 資料

using wireshark to determine which rsa private key ssl conversation?

wireshark 對 https 資料的解密

使用 wireshark 解密 tls 1.3 流量

wireshark 解密 tls 資料報

*****=== end

利用WireShark進行DNS協議分析

一.準備工作 系統是windows 8.1pro 分析工具是wireshark1.10.8 stable version 使用系統ping命令傳送icmp報文.二.開始工作 開啟cmd.exe鍵入 ping www.oschina.net 將自動進行網域名稱解析,預設傳送4個icmp報文.啟動wir...

wireshark如何抓取WebSocket資料報

websocket目前在web端使用廣泛,可以使用websocket來傳輸資料,解決了web端無法跟伺服器維持高效的長鏈結的問題。什麼是websocket呢?websocket是一種瀏覽器與伺服器進行全雙工通訊的應用層協議。它基於 tcp 傳輸協議,並復用 http 的握手通道,可以在瀏覽器裡使用,...

利用John the Ripper破解密碼

john the ripper是乙個快速的密碼破解工具,用於在已知密文的情況下嘗試破解出明文,支援目前大多數的加密演算法,如des md4 md5等。它支援多種不同型別的系統架構,包括unix linux windows dos模式 beos和openvms,主要目的是破解不夠牢固的unix lin...