Copyright (C) iPhoneアプリ開発備忘録 All rights reserved.
ブログ内で記したコード、内容の正確性は保証いたしません。
記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。



2021年10月15日

Charles ploxyでiOSアプリの通信状況を分析する



デバッグのため、iOSアプリとサーバ間の通信内容を分析する場合、HTTPプロキシを立てて通信をキャプチャできるソフトウェアのCharlesを使う。

1. 準備
1.1 Macの設定

(1). Charlesをダウンロードし、Macにインストールする。

https://www.charlesproxy.com

(2). Charles を起動し、Proxy > Proxy Settings... を開く

a. HTTP Proxy欄に表示されている、使用するポート番号を控えておく。設定されていない場合は、任意のポート番号を設定する。

b. Enable transparent HTTP proxyingのスイッチをオンにする。


(3) Macのシステム環境設定 > ネットワークを開いて、IPアドレスを把握する。

(4) MacがルータにLANケーブルで接続されている場合は、WiFiで接続する。

(5) SSLプロキシ設定を行う。
・Proxy > SSL Proxying Settings… を開く

a. *(アスタリスク)を追加して、SSL通信内容を見ることができるようにする。

b. Enable SSL Proxyingのスイッチをオンにする。


1.2 iOSの設定

(1) ホーム画面から設定アプリを起動し、Wi-Fi -> 接続しているWi-Fiネットワーク -> HTTPプロキシ / プロキシを構成 をタップし、設定を行う。
 ・手動
 ・サーバ:上記1.1 (3)で把握したIPアドレス
 ・ポート:上記1.1 (2)で把握したポート番号

(2) SSL証明書をインストールする。
・MacからiOSデバイスに転送してインストールする
a. Mac で http://www.charlesproxy.com/getssl を開いて .crt をダウンロードする。

b. .crt ファイルを Air Drop で iOS 端末に転送し、画面に従ってインストールする。
 インストール画面が表示されない場合、 設定アプリ-> 一般 -> VPNとデバイス管理 -> ダウンロード済プロファイル -> Charles Proxy CA -> インストール

c. 設定アプリを起動し、 一般 > 情報 > 証明書信頼設定 > ルート証明書を全面的に信頼する -> Charlesのルート証明書(Charles Proxy CA)をオンにする。


・iOSデバイスから直接インストールする
a. safari で http://www.charlesproxy.com/getssl を開いて .crt をダウンロードすると、インストール画面が表示されるので、これに従ってインストールする。

b. 設定アプリを起動し、 一般 > 情報 > 証明書信頼設定 > ルート証明書を全面的に信頼する -> Charlesのルート証明書(Charles Proxy CA)をオンにする。

(3) SSL証明書を有効にする。



2. 分析
iOSデバイスを操作すると、Charlesの画面にサーバと通信しているURLや内容がキャプチャされる。


3. 使用後
使用後はプロキシ設定やSSL証明書を削除すること。

3.1 プロキシ設定をオフにする。
設定アプリを起動し、Wi-Fi -> 接続しているWi-Fiネットワーク -> HTTPプロキシ / プロキシを構成 をタップし、「自動」に切り替える。

3.2 SSL証明書の削除
(1) 設定アプリ-> 一般 -> VPNとデバイス管理 -> 構成プロファイル

(2) 削除するSSL証明書(プロファイル)を選択して削除する。





参考記事:
https://qiita.com/usagimaru/items/d340e87da98e62f99b60
https://www.eda-inc.jp/post-3926/

posted by mobileDeveloper at 19:15 | Comment(0) | デバッグ はてなブックマーク - Charles ploxyでiOSアプリの通信状況を分析する | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
Apple、Appleのロゴ、App Store、iPodのロゴ、iTunesは、米国および他国のApple Inc.の登録商標です。
iPhone、iPod touch、iPadはApple Inc.の商標です。
iPhone商標は、アイホン株式会社のライセンスに基づき使用されています。
その他、本ブログに記載されている製品名、会社名は、それぞれ各社の商標または登録商標です。