Proxyman で iPhone・iPad の HTTP 通信を確認する
このブログでは、Proxyman for macOS を使って iOS デバイスの HTTP/HTTPS 通信をキャプチャして表示する方法を紹介します。
このブログの内容
- iOS デバイスに Proxyman 証明書をインストールして信頼する方法
- iOS(iPhone、iPad)の Unsplash アプリから HTTP(s) 通信を確認する方法
- HTTPS のリクエストとレスポンスの内容を平文で確認する
- 編集ツールでコンテンツを開く
- ドメインをピン留めして、そのドメインのすべてのリクエストとレスポンスを確認する
1. 設定
1.1/ アプリをダウンロード
まだアプリをダウンロードしていない場合は、Proxyman の Web サイト https://proxyman.com/ から最新版をダウンロードしてください。
Proxyman を初めて使う場合は、Proxyman の始め方 に従ってください。
設定が完了していれば、Mac から送信される HTTP/HTTPS 通信が表示されます。

1.2/ iPhone 用の証明書をセットアップ
メニューから Certificate -> Install Certificate on iOS -> Physical Devices(実機)を選択してください。

iOS セットアップガイドに、必要な手順がすべて表示されます:

1.3/ Wi-Fi のプロキシを Proxyman に設定
iPhone で「設定」アプリを開き、「Wi-Fi」→ 接続中の Wi-Fi を選択 →「Configure Proxy」→「Manual」の順に選択します。その後、私はガイドに表示されたのと同じサーバとポートを使って、iPhone のプロキシを設定しました。
IP 192.168.0.103 を、iOS ガイドのウィンドウに表示されている IP アドレスに変更してください。

1.4/ Proxyman プロファイルをインストール
この時点で、私のデバイスから送信されるすべてのリクエストが Proxyman アプリに表示されます。ただし、レスポンスの内容を確認するには、Proxyman 証明書をインストールする必要があります。
スマートフォンで QR コードを読み取ると、http://proxy.man/ssl にすばやくアクセスできます。または、
Safari で http://proxy.man/ssl を開き、「許可」ボタンをタップします。
このドメインにアクセスできない場合は、iPhone のすべての VPN アプリをオフにしてください。それでも解決しない場合は、この トラブルシューティング をご覧ください。

1.5/ Proxyman 証明書をインストール
次に、「設定」アプリを開き、「Profiles Downloaded」→「Proxyman CA」を選択して、「Install」をタップします。

1.6/ Proxyman 証明書を信頼
iOS 10.3 以降では、証明書を手動で信頼する必要があります。そのため、最後のステップとして、「設定」アプリで General -> About -> Certificate Trust Settings を開き、「Enable full trust for root certificates」をオンにします。

2. Unsplash をデバッグ
設定はここまでにして、いよいよ Unsplash アプリから送信される HTTP リクエストとレスポンスを見てみましょう。
プロキシの設定が完了すると、iPhone から送信されたすべてのリクエストが表示されるようになります。

2.1/ ドメインを検索してピン留め
まず、Command+Shift+F で Unsplash アプリを検索します(検索バーを使ってアプリを検索することもできます)。
次に右クリックして「Pin」を選択します。これはこのアプリの面白い機能のひとつです。特定のドメインは Pin セクションにドラッグ&ドロップすることもできます。ドメインをピン留めすると、Proxyman はそのドメインの SSL Proxying も自動的に有効にします。

2.2/ 復号された HTTPS コンテンツを確認
もう一度リクエストを送信すると、HTTPS のリクエストとレスポンスが平文で表示されます。

追加機能:エディタツールでコンテンツを開く
右上隅に小さなボタンがあります。クリックすると、Mac にインストールされているエディタアプリが表示されます。

ボディ内の検索、検索と置換などの組み込み機能も、お使いのエディタツールと同じくらい簡単に利用できます。

最新の iOS バージョンでのヒント
iPhone と Mac を同じ Wi-Fi ネットワークに接続し、iOS から確認されたら「Local Network」へのアクセスを許可してください。HTTP リクエストは表示されるのに HTTPS の内容が見えない場合は、次の 2 点を確認してください。Proxyman のプロファイルがインストールされていること、そして Certificate Trust Settings でフルトラストが有効になっていることです。会社の VPN や一部のプライベートリレーの設定によっては、iPhone が Mac のプロキシに接続できなくなる場合もあります。
次に進むには
このチュートリアルが終われば、Proxyman for macOS で iOS デバイスの HTTP/HTTPS 通信を確認できるようになります。
さらに進みたい場合は、次のステップがあります:
- Breakpoint ツールの使い方を学び、データをその場で操作します。
- Map Local の使い方を学び、モックレスポンスを提供します。
- iOS シミュレータを使ってみますか?
- ...
Proxyman は、開発者が iOS デバイス、iOS シミュレータ、Android デバイスのアプリやドメインからの HTTP(s) 通信をキャプチャして確認できる、高性能な macOS アプリです。
入手はこちら:https://proxyman.com/
