iOS(iPhone/iPad/iPod)でパケットキャプチャ

必要なもの

事前準備

  1. App StoreからXcodeをダウンロードしてインストールする。めっちゃ重いよ。
  2. Xcodeを起動する。初回起動時に何かインストールしたいって言われるのでインストールする。
    1. もし何らかの理由でインストールされなかった場合は、アプリケーション→ユーティリティ→ターミナルを開いてxcode-select --installとかコマンドラインツールが無いと動かないコマンドを実行すると、コマンドラインツールをインストールするか尋ねるダイアログが表示される。
  3. which rvictlすると/usr/bin/rvictlとか反応が返ってくるはず
  4. CharlesなりWiresharkなりtcpdumpなりのパケット解析ツール。このページではWiresharkを使う。

手順

  1. マシンとiOS端末をケーブルでつなぐ
  2. Xcodeを起動
  3. メニューから「Window」→「Devices and Simulators」
  4. 左欄「Connected」からiOS端末を右クリックし、「Identifier」をコピー
  5. ターミナルでrvictl -s [さっきコピーしたIdentifier]とタイプしてエンター。すると以下のような感じでrvi0で何か成功したらしいメッセージが表示される
    Starting device [さっきコピーしたIdentifier] [SUCCEEDED] with interface rvi0
  6. Wiresharkを起動
  7. するとrvi0があるので、それをダブルクリック

    iPhone USBみたいなのが見えるかも知れないがそちらではない
  8. するとこんな感じでパケットキャプチャできる
  9. キャプチャが終わった後はrvictl -x [さっきコピーしたIdentifier]とタイプしてエンター。するとこんなメッセージが表示されてRVIが停止する。
    Stopping device [さっきコピーしたIdentifier] [SUCCEEDED]

参考