WireSharkを利用して Let's packet capture

パケットキャプチャをしたくて、よく利用されているWireSharkを利用して
TLS/SSLのパケットの中身を確認するまでをやっていきたいです。


WireSharkのインストールは省きます。
OSはWindowsServer2019を利用します。


設定は

Edit -> Preference -> Protocols -> TLS -> RSA keys list を [edit]
IP address, Port, Protocol, KeyFile, Passowrdを入力して、
f:id:onrenkai:20200813170521p:plain

必要であれば、TLS debug fileのパスも入力し、OK。

これで改めてキャプチャを取ってみると、、、
うまく復号化してくれません。


ここでうまく復号ができなくなった原因を探りました。
下記が参考になりました。
blog.goediy.com

cipepser.hatenablog.com



どうやら

ssl_decrypt_pre_master_secret: session uses Diffie-Hellman key exchange (cipher suite 0xC030 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) and cannot be decrypted using a RSA private key file.
<||

が原因でRSA固定長の鍵だとうまく復号できないようです。

ブラウザのパケットキャプチャを取る場合は、
export SSLKEYLOGFILE=~/sslkey.log
で上記の画面内の (Pre)-Master-Secret log filenameの箇所にパスをしてあげれば
RSAの固定長関係なくキャプチャが取れました。