Help us understand the problem. What is going on with this article?

AndroidのSSL通信をCharlesで確認する方法

More than 1 year has passed since last update.

はじめに

Charlesというアプリケーションで、通信のリクエストやレスポンスを確認することができるが、SSLの通信は暗号化されており少し設定をしないとのぞくことができない。その方法を紹介する。なお、このアプリケーションは無料でも使用可能だが、無料版は一度の起動に制限時間がありそれをすぎると自動で閉じてしまうなど制限がある。

設定

Mac(Charles)

まずは Proxy > Proxy Settings でHTTPのポートを8888となっていることを確認する。この番号は後にAndroidの方で使用する。

次に Proxy > SSL Proxying Settings でキャプチャしたいドメインを指定する。e.g.: *.sample.com

最後に Help > Local IP Addressで自分のIPを確認する。この番号も後にAndroidの方で使用する。

Android

ここからAndroidの設定だが、まずはAndroidのChromeブラウザで、http://charlesproxy.com/getssl へアクセスして証明書をダウンロード、インストールする。しかし新しいバージョンのAndroidではインストールが失敗する場合がある。その場合は下記で対処する。

MacのCharlesのメニューのHelp > SSL Proxying > Save Charles Root Certificate
から証明書ファイルをダウンロードしファイルの拡張子を.pemから.cer変更、GoogleDriveなどのクラウドを使ってそこからAndroidへダウンロードを行う(方法はなんでも可)。Androidのダウンロードフォルダから証明書ファイル開くと、証明書をインストールするダイアログが表示される。ダイアログで証明書の名前を入力し、PINもしくはパターンを入力しインストールを完了させる。

最後に、AndroidのWifiへの設定を行う。Androidの設定アプリ> Wi-FiでSSID一覧を開き、使用したいSSDを長押し、Modify network を選択。Advanced Optionを開き下記のように設定する。

パラメータ
Proxy Manual
Proxy hostname 上記で確認したLoacal IP
Proxy Port 上記で確認したPort
Bypass proxy for 空欄でOK
IP settings DHCP

ここまでの設定を行えば、Charlesを起動し、Androidのデバック実行することで、希望するSSL通信をキャプチャすることができるはずだ。

参考サイト

https://community.tealiumiq.com/t5/Tealium-for-Android/Setting-up-Charles-to-Proxy-your-Android-Device/ta-p/5121

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away