ubuntuでFirefoxのTLS通信をキャプチャする。

ブラウザにFirefoxを使っている場合、TLS通信をキャプチャできる方法があるので書いてみます。試した環境は以下です。

OS:ubuntu 18.04 LTS
ブラウザ:Firefox Quantum
キャプチャツール:Wireshark(Version 2.6.3)

まず、TLSの通信で使う鍵をファイルに書き出すように環境変数を設定します。設定する環境変数は「SSLKEYLOGFILE」です。コンソール画面を立ち上げて、以下のようにします。

$ export SSLKEYLOGFILE=/home/user/sslkey.log
$ env | grep SSLKEYLOGFILE
SSLKEYLOGFILE=/home/user/sslkey.log

※「/home/user/sslkey.log」は任意の場所、ファイル名で構いません。

Firefoxをコンソールからコマンドで立ち上げます。

$ which firefox
/usr/bin/firefox
$ /usr/bin/firefox

Firefoxが立ち上がり、コンソールは待ち状態になります。別ウィンドウでコンソールを開いて、SSLKEYLOGFILE が書き出されていることを確認します。

$ ls -l /home/user/sslkey.log

[広告]

ここまででキャプチャする準備が整いました。ここからはWiresharkの設定をします。Wiresharkを起動して、上部の「編集」メニューから「設定..」を選択します。設定画面が表示されるので左ウィンドウから「Protocols」を選び、そのなかの「SSL」を選択します。

(Pre)-Master-Secret log filename に SSLKEYLOGFILE の場所を指定します。これでキャプチャを開始するとTLS通信の中身が解析できるようになります。

注意点です。
マウス操作でFirefoxを立ち上げてもSSLKEYLOGFILEで指定したファイルには書き込まれません。コンソールで環境変数を設定した上で、コマンドでFirefoxを立ち上げてください。

なお、Firefoxをマウスを使って閉じるとコンソール画面では「接続が相手からリセットされました」となりますが、気にしなくても良いでしょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です