手元に (Pre)-Master-Secret があるんだけど TLS (SSL) 通信を復号化したいと思うことはありませんか?しかもコマンドラインで。
ありますよね、そんな時は tls.keylog_file にファイルを指定してあげるだけ。以下の例では該当のオプションで (Pre)-Master-Secret のファイルを指定すると http の通信が見えるのがわかります。
$ tshark -2r ./test_http11.pcap -R "http"
$ tshark -2r ./test_http11.pcap -o tls.keylog_file:./pre_master_secret.txt -R "http"
1 6.404119 10.0.11.20 → 10.0.11.115 HTTP 213 GET / HTTP/1.1
2 6.405361 10.0.11.115 → 10.0.11.20 HTTP 514 HTTP/1.1 200 OK (text/html)
ちなみに --export-files というオプションもあって暗号化されたファイルの復元ができたりもします。tshark 有能。
$ mkdir obj
$ tshark -Qr ./test.pcap -o tls.keylog_file:./sessionsecrets.pms --export-objects http,./obj
$ ls ./obj/
%2f
$ file ./obj/%2f
./obj/%2f: HTML document, ASCII text
$ cat ./obj/%2f
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>