ストリーミング寺子屋

音声・動画のストリーミング機能を
開発するエンジニアのための
実践的なナレッジベース

【開発環境ほか1-4】暗号化されたデータをWiresharkで確認する方法はありますか?

プロトコルに対応した復号が必要

httpsサイトをブラウザで閲覧する際のトラフィックなど、暗号化されたデータをWiresharkでそのまま確認することはできません。暗号化されたデータを表示するには、そのプロトコルに対応した復号の設定を行う必要があります。
ここでは、httpsサイトをブラウザで閲覧する際の暗号化データの参照を例にご説明します。

httpsサイトをブラウザで閲覧する際の暗号化データを参照したい場合は、プロトコル(TLS)に対する復号設定(セッションキーの入手と設定)を行うことでWireshark上で復号した結果を確認することができます。

  1. 復号キーの入手
    コマンドプロンプトで以下を実行し、C:\work\tls.keysへセッションキーを保存する環境変数を設定します。
    C:> setx SSLKEYLOGFILE C:\work\tls.keys

    これにより、ブラウザでhttps通信を行ったときに設定したパスへセッションキーを保存するようになります。

  2. 対象プロトコルに復号の設定を行う
    Wiresharkで、 
    編集>設定…>Protocols>TLS
    を選択し、(Pre)-Master-Secret log filename に、セッションキーのファイルパス(C:\work\tls.keys)を設定します。

    この設定を行うと、暗号化されたデータ(Encrypted Appliocation Dataと表示される部分)が復号されて見ることができるようになります。

設定前の例を図1、設定後の例を図2,3に示します。
図のNo.1893では、図1ではApplication Dataと表示されている部分が、図2,3では内容が表示されるようになっています。
右下のパケットバイト表示フレーム内には「Decrypted TLS」タブが表示され、こちらでバイト列を確認することができます。
https以外でも、
編集>設定…>Protocolsの各プロトコルの設定画面に復号化の設定があるものは、復号するための情報が用意できれば同じようにWireshark上で復号できます。

図1:暗号化されたデータ(セッションキー設定未実施)
図2:復号されたデータ(セッションキー設定実施後:その1)
図3:復号されたデータ(セッションキー設定実施後:その2)

Q&A

製品情報