ガイド

iPhone で HTTPS をキャプチャする、 Mac なしで

すべてはスマートフォン上で完結します。アプリをインストールし、証明書を信頼し、復号したいホストを選び、VPN をオンにする。復号されたリクエストは 1 秒後にダッシュボードに届きます。Wi-Fi でもモバイル回線でも。

iPhone の HTTPS を読む一般的な方法はデスクトップのプロキシです。同じ Wi-Fi 上のノート PC、スマートフォンでの手動プロキシ設定、手作業でインストールする証明書、そしてモバイル回線に切り替えた瞬間に切れるセッション。Busymate DevTools はこの流れからノート PC を外します。アプリは Apple の NetworkExtension を使って端末上でシステム全体のキャプチャエンジンを動かし、リストに入れたホストだけを復号し、どこからでも開ける Web ダッシュボードへすべてのリクエストをストリーミングします。

このガイドでは、何もない状態のスマートフォンから最初の復号リクエストまでを案内します。使うのは VPN モード、つまり Wi-Fi とモバイル回線の両方をカバーする端末上のトンネルです。Wi-Fi プロキシ経由でキャプチャしたい場合は PAC モードもありますが、必要な箇所で触れるだけで、このガイドを終えるのに必須ではありません。

始める前に

必要な もの

コンピュータもケーブルも脱獄も不要。必要なのは 4 つだけ、すべてスマートフォン上かブラウザのタブにあります。

  • 最新の iOS を搭載し、App Store が使える iPhone または iPad。

  • Busymate アカウント。Apple でサインインするか、メールアドレスとパスワードでサインインします。サインインがそのまま、スマートフォンをダッシュボードにペアリングする操作です。

  • 証明書プロファイルをインストールし、完全に信頼するための「設定」アプリでの 2 分間。

  • 読みたい API のホスト名。追加したホストだけが復号され、それ以外はそのまま通過します。

ステップ・バイ・ステップ

順番どおりに 進める

6 つのステップをこの順番で。アプリの準備状況カードが証明書の部分が完了したことを教えてくれるので、推測する必要はありません。

  1. 01

    アプリをインストールしてキャプチャの同意を承諾する

    App Store から Busymate DevTools をインストールして開きます。初回起動時にネットワークキャプチャの同意シートが表示されます。アプリが端末の通信を検査するため Apple が求めているもので、承諾するまでアプリはペアリングもキャプチャ開始もしません。これは一度きりの関門です。もし何かが同意なしにトンネルを起動しようとすれば、同じシートが再び現れます。

  2. 02

    サインインする — それがペアリング

    スマートフォンがペアリングされるまで、サインインシートがアプリを覆います。「Apple でサインイン」を選ぶか、メールアドレスとパスワードを入力します。別途のアクティベーション手順も入力するコードもありません。アプリはサインイン済みセッションを長期有効な端末クレデンシャルと交換し、端末のキーチェーンに保存してシートを閉じます。

    任意のブラウザでダッシュボードを開き、Devices タブを見てください。スマートフォンはすでにそこにあり、Online と表示されています。どちら側からでも名前を変更でき、名前はリアルタイムで双方向に同期し、端末は名前を変えても同一性を保ちます。

    iPhone 上の Busymate DevTools のサインイン画面
  3. 03

    証明書プロファイルをインストールする

    ホーム画面の下部に準備状況カードがあります。今は黄色の盾と Not Ready が表示されています。アプリが HTTPS の復号に使う証明書をスマートフォンがまだ信頼していないためです。カードをタップしてセットアップ手順を開き、Download をタップします。

    アプリが Safari で構成プロファイルを開きます。iOS に「プロファイルがダウンロードされました」のバナーが表示されるので、「設定」アプリを開き、上部のそのバナーをタップして、Busymate DevTools プロファイルで「インストール」をタップします。下のアドレスから手動で取得できるものと同じプロファイルです。

    アプリが開いてくれる証明書プロファイル
    text
    https://busymate.net/ca.mobileconfig
  4. 04

    証明書を完全に信頼する設定をオンにする

    プロファイルのインストールだけでは足りません。iOS はユーザーがインストールしたルート証明書ごとに、別途明示的な信頼のスイッチを要求します。ここが最も見落とされがちな手順です。「設定」、「一般」、「情報」、「証明書信頼設定」の順に進み、完全信頼の一覧で Busymate DevTools をオンにします。

    アプリに戻ります。セットアップシートが開いている間は数秒おきに、またフォアグラウンドに戻るたびに信頼状態を再確認するため、1〜2 秒で準備状況カードが緑になり Ready と表示されます。ホーム画面では「セットアップ未完了」の表示がキャプチャ操作に置き換わります。この信頼設定はアプリを再インストールしても残るので、スマートフォンごとに一度だけの作業です。

    準備状況カードとキャプチャのトグルがある Busymate DevTools のホーム画面
  5. 05

    復号したいホストを追加する

    証明書を信頼しても、すべてが開かれるわけではありません。アプリが復号するのは SSL プロキシリストにあるドメインだけで、それ以外の接続は流れ続けるものの暗号化されたままで、閉じた錠前アイコンとホスト名、リクエスト数だけが表示されます。準備状況カードの歯車からリストを開き(Settings、Tunnel、SSL Proxying の順)、Add Domain をタップしてホストを入力します。

    ホスト名だけを書けばそのホストに完全一致します。先頭にアスタリスクとドットを付けると親ドメインと任意の深さのサブドメインすべてに一致し、API なら通常これが望む形です。同じ Tunnel セクションには関連する 2 つのスイッチがあります。Inspect All Requests はリストのホストだけでなくスマートフォンのすべての接続を記録し、MITM All Hosts はすべての HTTPS ホストを復号します。後者は負荷が高いので、特に必要でなければオフのままにしてください。Ignore Hosts はテレメトリなどのバックグラウンドのノイズをフィードから完全に隠します。

    このリストはダッシュボードからも管理できます。そこで端末の SSL プロキシドメインを編集すれば変更はライブでスマートフォンに反映されるので、チームメイトが端末に触れずにホストを追加してくれることも可能です。

    SSL プロキシリストがある、iPhone 上の Busymate DevTools の設定画面
  6. 06

    VPN をオンにして通信を読む

    ホーム画面の Status 行に VPN のトグルがあります。オンにしてください。短く Syncing と表示された後 Connected になり、アプリアイコンは VPN バッジ付きの落ち着いた緑のリングになり、同じ VPN バッジが iOS のステータスバーにも現れます。この瞬間から、Wi-Fi でもモバイル回線でも、スマートフォンのすべてのリクエストがダッシュボードにストリーミングされ、アプリを切り替えてもトンネルは維持されます。

    デバッグ対象のアプリを使ってみてください。それからダッシュボードを見ると、新しい行が発生と同時にフィードの先頭に現れ、リクエストごとに 1 行、端末のサイドバーでこのスマートフォンだけに絞り込めます。任意の行をクリックすればリクエストとレスポンスの全文が開き、ヘッダーとボディ、整形された JSON が読めます。スマートフォン側でも Settings、Tools、Network Log の順に開くと同じキャプチャがドメイン別にまとめて表示され、復号を選んだホストには開いた錠前が付きます。

    iPhone 上のアプリ内 Network Log、リクエストがドメイン別にグループ化されている

トラブルシューティング

うまくいかない ときは

セットアップが止まる原因はほぼこの 5 つのどれかで、それぞれ目に見える兆候があります。

  • プロファイルをインストールしても準備状況カードが黄色のまま

    完全信頼がまだオフです。iOS ではプロファイルのインストールと信頼のスイッチは別々の手順です。「設定」、「一般」、「情報」、「証明書信頼設定」に戻り、Busymate DevTools をオンにしてください。オンにした時点でカードは自動的に緑になります。

  • ホストに閉じた錠前が表示され、ボディがない

    そのホストが SSL プロキシリストにないか、VPN 稼働中に追加したかのどちらかです。追加してから VPN をオフ・オンして、トンネルに新しいリストを読み込ませてください。PAC モードのキャプチャには再起動は不要ですが、トンネルには必要です。

  • ホストを復号した途端、デバッグ中のアプリが接続を拒否する

    そのアプリは自身の証明書をピンニングしており、他の証明書を拒否します。端末上のキャプチャでこれを回避することはできません。そのホストをリストから外して暗号化のまま通過させ、ピンニングのガイドでそれでも見えるものを確認してください。

  • PAC カードに Unavailable — VPN active と表示される

    これは想定どおりで、エラーではありません。VPN と PAC は同時に使えず、トンネルが有効な間 iOS は Wi-Fi プロキシの状態を隠すため、アプリはそれを正直に表示しています。PAC を使いたい場合は VPN をオフにしてください。

  • ダッシュボードに何も届かない

    3 つの関門を順に確認してください。同意シートを承諾したか、Devices タブでスマートフォンが Online か、Status トグルが Connected か。大量の通信中にアプリが一時的にバックエンドへ到達できなかった場合は、取りこぼした件数を示す小さなバナーが表示されるので、気づかないうちにデータが失われることはありません。

よくある質問

よくある 質問

本当に Mac もケーブルもプロキシ設定も要らないのですか?

はい。キャプチャ、復号、ストリーミングのすべてがスマートフォン上で動きます。コンピュータが関わるのは、ダッシュボードをそこで読むと決めた場合だけで、スマートフォンのブラウザでも十分です。

モバイル回線の通信や他のアプリの通信もキャプチャできますか?

VPN モードならできます。端末上のトンネルはスマートフォン上のすべてのアプリを Wi-Fi でもモバイル回線でもカバーします。PAC の代替手段は Wi-Fi プロキシ設定であってトンネルではないため、Wi-Fi のみをカバーします。

証明書を信頼したら、すべてが復号されるのですか?

いいえ。信頼は復号を可能にするだけです。アプリが復号するのは SSL プロキシリストのホストだけで、意図的に MITM All Hosts をオンにしない限り他は復号しません。証明書をピンニングしているアプリは、いずれにせよ暗号化されたままです。

最初の復号リクエストまで、 あと数タップ

アプリをインストールし、準備状況カードを緑にして、スマートフォンの通信がダッシュボードに届くのを見てください。

Ask your mate