iPhone から HTTPS 通信をキャプチャして確認する
この小さなチュートリアルでは、Proxyman for iOS を使って iOS デバイスのネットワーク通信をセットアップし、インターセプトする方法を解説します。
Proxyman for iOS
詳しく見る前に、Proxyman とはどのようなツールかを簡単に紹介します。
Proxyman for iOS は iOS 専用に作られており、次のような特長があります。
- Man-in-the-middle として動作し、iOS デバイスとの間で送受信されるすべての HTTP/HTTPS 通信を監視・復号します。
- Proxyman for macOS とは独立して動作するスタンドアロンの iOS アプリです。
- 複数カラムのレイアウトで、iPad に最適化されています。
- Touch ID と Face ID で機密データを保護できます。
- ログを Proxyman for macOS と共有できます。
- iOS 18 および iPadOS 18 以降に対応しています。
このチュートリアルで扱う内容
- iPhone / iPad に Proxyman for iOS をセットアップする方法
- Proxyman for iOS でネットワーク通信をインターセプトする方法
- 検索バーで通信を絞り込む方法
- HTTP/HTTPS 通信を確認・編集する方法
- ログを Proxyman for macOS と共有する方法
1. App Store からダウンロード
Proxyman for iOS をまだインストールしていない場合は、公式の App Store からダウンロードしてください。
Proxyman アプリを開いたら、ホーム画面の「Start intercept HTTPS Traffic」ボタンをタップします。

すると「How to Setup」画面に移動します。ここには、順を追ったセットアップ手順が表示されます。
2. Proxyman VPN を開始する
Proxyman は、iOS デバイスに Proxyman VPN のインストールを試みます。補足すると、Proxyman VPN は、すべての通信を Proxyman Localhost Proxy Server に強制的に転送する、ローカルのダミー VPN です。機密データは VPN 拡張機能内でキャプチャされて保存され、どのサーバーにも送信されません。
Proxyman for macOS を使ったことがあれば、VPN のインストールは HTTP/HTTPS プロキシを上書き設定することと同じだとわかるはずです。

次の手順に進む前に、VPN がオンになっていて、ステータスバーに VPN インジケータが表示されていることを確認してください。
3. Proxyman 証明書をインストールして信頼する
HTTPS 通信を復号するには、Proxyman のルート証明書をインストールして信頼する必要があります。この手順は少しややこしいので、すべてのステップを慎重に進めてください。
3.1 証明書を生成
「Generate Certificate」をタップします。この時点で Proxyman がローカルの自己署名証明書を生成します。

生成に成功すると、成功を知らせるポップアップが表示されます。「Show me」ボタンをタップすると、Proxyman が設定アプリで Proxyman 証明書をダウンロード、インストール、信頼する方法を順番に案内します。すべてのステップに従ってください。
3.2 証明書をダウンロード

3.3 証明書をインストール

3.4 証明書を信頼

3.5 ステータスを確認
完了したら、Proxyman の設定画面に戻り、ステータスが「Ready to intercept」になっていることを確認してください。

注意:ステータスが更新されない場合は、「How to Setup」ボタンをもう一度タップしてください。証明書チェッカーが起動します。
この時点でステータスが「Good」になっていることを確認してください。そうでない場合は、support@proxyman.com までご連絡ください。
4. Unsplash アプリで SSL Proxying を有効にする
例として Unsplash アプリを使います。無料で使いやすく、Proxyman for iOS でできることを実演しやすいためです。Unsplash アプリをまだインストールしていない場合は、App Store からダウンロードしてください。
4.1 Unsplash アプリの通信を絞り込む
Unsplash アプリを開いて、いろいろ操作してみてください。その後 Proxyman アプリを開くと、iOS デバイスからの HTTP/HTTPS 通信がたくさん表示されています。 Unsplash の通信をすばやく絞り込むには、検索バーをタップして「unsplash」と入力します。

結果は 4 つのドメインに絞り込まれました。探している通信は「api.unsplash.com」だと考えられます。いいですね!
4.2 SSL Proxying を有効にする
「api.unsplash.com」ドメインをタップし、最初のリクエストをタップして、右にスワイプして Response タブを開きます。
このドメインで SSL Proxying をまだ有効にしていないため、この時点ではレスポンスが表示されていないかもしれません。「Enable SSL Proxying」ボタンをタップすれば、使える状態になります。
Unsplash アプリをもう一度開いて、いろいろ操作してください。この時点で Proxyman は、Unsplash アプリからのすべての HTTPS 通信をキャプチャし、復号します。
Proxyman アプリに戻ると、ここに新しい Unsplash のリクエストが表示されているはずです。

ヒント:パフォーマンスを維持するため、Proxyman はデバイスとの間の送受信通信をすべて自動的にインターセプトするわけではありません。SSL Proxying のリストは、More Setting -> SSL Proxying から更新できます。
5. HTTPS 通信を確認する
これで Unsplash のリクエストとレスポンスの Header、Body、Query、Form を簡単に確認できます。新しいリクエストをタップすると、復号された Body の内容が表示されます。

iPad で Proxyman を使っている場合は、複数カラム表示を活用できます。1 画面により多くの内容を表示できて便利ですね!

6. リクエストを Sequence List で表示する
リクエストの表示のデフォルトは、ドメインごとのグループ表示です。ただし、リクエストを Sequence List として表示することもできます。2 つの表示モードは、ナビゲーションバー右上のボタンをタップして簡単に切り替えられます。Sequence モードに切り替えると、新しく届いたリクエストが画面の一番上に表示されます。

7. 通信ログを Proxyman for macOS と共有する
大量の HTTPS リクエストを記録すると、確認しきれなくなることがあります。Proxyman には、現在の iOS デバイスの通信を書き出して Proxyman for macOS と共有する方法が 2 つ用意されています。
- すべてのリクエストを書き出すには、ナビゲーションバーの共有アイコンをタップし、Share -> AirDrop の順に選んで、お使いの Mac に送信します。
- 特定のドメインのリクエストだけを書き出すには、長押しジェスチャーを使ってメニューから「Share」ボタンを選択します。

ログを AirDrop で Mac に送ったら、ドラッグするだけで Proxyman for macOS でログを開けます。

8. Proxyman ライセンスキーで Premium 版を有効にする
もう 1 つあります!有効な Proxyman ライセンスキーをお持ちなら、Premium 版にアップグレードしてください。Premium 版では、ルールを無制限に作成でき、Touch ID / Face ID / パスコードなどを利用できます。
有効にするには、More 画面 -> Face ID & Passcode -> Unlock の順に開いて、ライセンスキーを入力します。これで完了です!
次のステップ
このチュートリアルでは、Proxyman for iOS の主要な機能を一通り紹介しました。Breakpoint、Map Local、Map Remote、Scripting などのデバッグプロキシツールを使いたい場合は、Proxyman for macOS をお試しください。
Proxyman が作成する VPN はデバイス内でのみ動作し、通信を遠隔の VPN サーバーに送るのではなく、確認のためにアプリ内へ転送します。作業が終わったら、バッテリーを節約し、関係のない通信を収集しないように、キャプチャを停止してください。ログを共有する際は、不具合に必要なドメインだけを選択し、共有前にプライベートなヘッダーや Body の値が含まれていないか確認してください。
Proxyman は、開発者が HTTP(S) のリクエストやレスポンスを簡単にキャプチャ、確認、編集できる、ネイティブで高性能な macOS アプリです。
