質問: 自分のPCにインストールしたプロプライエタリなアプリケーションの通信内容を見るにはどうすればいいのでしょうか? Wiresharkを使ってこの通信を見てみたところサーバとの通信がSSLで暗号化されており、実際の内容はわかりませんでした。 SSLでの公開鍵で暗号化される共通鍵を入手できれば内容を復号できると思うのですが何か方法はありますか? プロプライエタリなアプリケーションのためサーバの秘密鍵は不明です。 アプリケーションが動いているOS: Windows10 Home
回答: WiresharkでSSL通信をデコードするには * 秘密鍵を入手する * セッション鍵を入手する のどちらかが必要ですが、今回の要件では難しそうです。 HTTP Proxyをサポートしているアプリケーションなのであれば、Fiddlerのようなデバッグ用のプロキシを使う方法があります。証明書の偽装が行えるので、SSLの通信も拾えます。ただし、アプリケーション側で証明書の偽装対策が行われているとだめです。 proxyのような明示的な形ではなくSSLの通信に割り込んで同様に証明書の偽装を行うことも技術的には可能なのですが、これを簡単にできるアプリケーションがあったかどうか思い浮かびません。