Proxyman for iOS の Breakpoint チュートリアル
Proxyman for iOS の Breakpoint を使ったステップバイステップのチュートリアルです。iPhone 上で HTTP(s) の通信を一時停止し、URL、メソッド、ヘッダー、ボディ、ステータスコードを編集する方法を解説します。
Proxyman Breakpoint で iPhone 上の HTTP(s) リクエストとレスポンスを変更する
バージョン 2.0.0 以降、Proxyman for iOS では、アプリのロジックを変更することなく、リクエストとレスポンスのデータをその場で変更できます。
この短いチュートリアルでは、Proxyman の Breakpoint ツールを使って、iOS デバイス上の HTTP(s) リクエストとレスポンスを変更する方法を紹介します。例えば、次のような変更ができます:
- リクエストの URL(スキーム、ホスト、パス、ポートを含む)と HTTP メソッドを変更する
- リクエストまたはレスポンスの HTTP ヘッダーを変更する
- リクエストのクエリを変更する
- リクエストまたはレスポンスの HTTP ボディを変更する
- レスポンスの HTTP ステータスコードを変更する
前提条件
- App Store から最新版の Proxyman をダウンロードします:https://apps.apple.com/us/app/proxyman/id1551292695
- iOS デバイスに Proxyman の証明書をインストールして信頼します。Proxyman を初めて使う場合は、iPhone から HTTPS 通信をキャプチャして確認するの手順に従い、iPhone での HTTP 通信のキャプチャを開始してください。
Breakpoint ルールを作成する
Breakpoint ルールを作成する方法は 3 つあります:
- More タブから
- More タブ → Breakpoint → + ボタンをタップします。
- ルールの項目(Title、Method、Matching URL、サブパスを含めるかどうか)を入力します。
- ルールをリクエスト、レスポンス、またはその両方のどれに適用するかを選択します。
- 「Waiting Breakpoints」画面から
- Waiting Breakpoint アイコンをタップして、Create Breakpoint Rule を選択します。
- その後、ルールの項目を入力します(前の方法と同じです)。
- コンテキストメニューから
- リクエストを長押しして、Add to Breakpoint List を選択します。
- Proxyman が、選択したリクエストからルールの項目をすべて自動で入力します。
.png)
リクエストから Breakpoint ルールを作成する
この例では、Breakpoint ルールはリクエストとレスポンスの両方に適用されます。それでは、リクエストを送信して動作を確認してみましょう。
HTTP(s) リクエストを変更する
URL に一致するリクエストを送信すると、Proxyman がそのリクエストを一時停止し、待機中の Breakpoint があることを表示します。Home 画面の小さなアイコンをタップすると、待機中の Breakpoint の一覧が表示されます。次に Breakpoint を選択して、リクエストの編集を開始します。
URL とメソッドを変更する
HTTP メソッド、URL、クエリを変更できます。クエリを変更すると URL も更新され、その逆も同様です。
.png)
URL と HTTP メソッドを変更する
ボディを変更する
ボディを別のデータ型に置き換えると、Proxyman が Content-Type を検出し、ヘッダーを自動で更新します。
Breakpoint を実行、中止、続行する
変更内容に問題がなければ、右上のメニューからリクエストまたはレスポンスを実行します。元のリクエストのまま進めるには Continue、キャンセルするには Abort を使います。
Breakpoint ルールはリクエストとレスポンスの両方に適用されるため、Execute をタップすると、レスポンスが待機中の Breakpoint の一覧に追加されます。
これで、レスポンスの HTTP ステータスコードを変更したり、ヘッダーを更新したり、ボディを置き換えたりできます(リクエストを変更する場合と同じ方法です)。
うまくできました!フロー一覧では、小さな青いアイコンが、そのフローが変更されたことを示します。
リクエストとレスポンスの両方が、想定どおりに更新されました。
.png)
Breakpoint によってリクエストとレスポンスが変更された状態
補足:
- 新しいルールを作成すると、Breakpoint ツールとルールはどちらもデフォルトで有効になります。必要に応じて、それぞれオン・オフを切り替えられます。
- Breakpoint が動作するよう、VPN、Breakpoint ツール、Breakpoint ルールがすべて有効になっていることを確認してください。
- 最初のルールがリクエストまたはレスポンスに一致した場合、他のルールは適用されません。
- リクエストを編集している間は Response タブが無効になります。レスポンスを編集している間は、Request タブは読み取り専用になります。
次のステップ
Breakpoint を使うと、リクエストとレスポンスをその場で変更できますが、手作業が多くなります。自動化したい場合は、Map Local for iOS チュートリアルをご覧ください。ローカルファイルをレスポンスとして自動でマッピングできます。