WiresharkでHTTPS通信を復号

curlを使ってhttps通信

Wiresharkでその通信の様子を見ると、パケットは暗号化されており、ApplicationDataとなっているだけで様子が確認できない。

そこで、Wiresharkで復号された通信のパケットキャプチャができるようにする。

<環境>

MacOS Monterey

Wireshark v3.6.5

<処理内容>

HTTPS通信をする際に使う鍵情報がpre-master-secretというもので、このファイルをWiresharkと共有しておくことで復号した通信が表示される。

Wiresharkにpre-master-secretのパスを設定する。

Wiresharkを開いて、上部メニューバーのWireshark->Preferences->Protocol->TLSを選択する。

(Pre)-Master-Secret log filename内に、ログのファイルを入力する。

(例)/tmp/pre-master-secret.log

環境変数SSLKEYLOGFILEにpre-master-secretのパスを指定した状態で、curl通信を行う。

$ SSLKEYLOGFILE=/tmp/pre-master-secret.log curl https://example.com/

 

Wiresharkを見てみると復号された通信を確認できる。ちなみに、この通信内容をファイルに保存しても、復号された通信が保存されるわけではなく、暗号化されたものが保存される。