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