HTTPSを生でパケットキャプチャ

HTTPSのパケットキャプチャがしたい!

HTTPS化が進み、生データのキャプチャがわりとしんどく、お手軽デバッグがつらい今日この頃。

そんな現場の救世主、 Charles というProxyツールをつかうことで、
せこせこ変なHttpProxy環境を構築せずにProxy構築ができる!
ということで、そのセットアップ&利用メモ。

Proxyセットアップ

基本的なセットアップはこちらの記事を参照に

-【Charles】アプリの通信をキャプチャする

注意点としては、ProxyをするMac側のNetwork設定がFIXした状態でアプリを起動させないとダメということ。(起動時にInterface情報パースしてるっぽい)

iOS Clientセットアップ

大きく3つ設定する必要がある

  • HTTP Proxyの設定(有線LANアダプタを使う場合Proxy設定不可なので、無線で繋ぐしかない)
  • 証明書のインストール
    • 上記のProxy設定をした上で、 http://www.charlesproxy.com/getssl にアクセス
  • インストールした証明書の有効化

特に3つめが忘れがちで、証明書のValidateが通らずに途方にくれるので注意
(アプリ内だと問答無用でHTTPClientエラー吐くしね...)

レッツ、キャプチャ!

あとは本体側のキャプチャ画面で色々みれる。

HTTPS以外の通信を判別するために、Wiresharkを同時に開いて、HTTP除外で監視すると、なお完璧。

ただ、OSの証明書ストアをみないような設定にされてると、HTTPSを騙しきれないので、そういう挙動をみたら、他の手を考えよう 。

Previous Post Next Post