LoginSignup
5
8

More than 5 years have passed since last update.

iOS ネットワークインターフェイスのキャプチャ取得

Posted at

MacOSXから、iOSデバイスのネットワークインターフェイスのキャプチャをとる方法

準備

  1. XCodeインストール https://itunes.apple.com/jp/app/xcode/id497799835?mt=12

UDIDを調べる方法は他にもありますが、iOSを扱うSEであれば入れて奥に超したことはありません。メッセージなども確認できます。

  1. XQuartzのインストール
     http://xquartz.macosforge.org/landing/
     
     後述のWiresharkをMacOSX上で動作させるために、Xのインプリが必要ですが、同梱されなくなったので、XQuartzをインストールしましょう。
     
     Apple X11およびOSXについて
     https://support.apple.com/ja-jp/HT201341
     

  2. Wiresharkインストール
     https://www.wireshark.org/download.html
     
     パケットキャプチャの結果を解析して可視性を高めてくれるソフトウェアです。ネットワークのデバッグには必須ツールです。
     

    作業手順

  3. iOSデバイスをUSBで接続します。

  4. XCodeを起動します。

  5. UDIDを調べるためにXCodeのDeviceウィンドウを開きます。
     メニューのWindow→Devicesをクリック
    Screenshot 2015-03-05 19.49.11.png

ショートカットはShift+Command+2です

  1. デバイス一覧からターゲットのiOSデバイスを選択し、Identifierの所に表示されているものが、UDIDです。選択してコピー(Command+C)します。

Screenshot 2015-03-05 19.50.44.png

5.ターミナルを開きます
 Finder->アプリケーション→ユーティリティ→Terminal

6.以下のコマンドを実行し、iOSのインターフェイスをMacでキャプチャする準備をします。

$ rvictl -s <4で取得したUDID>

成功すると下図のようにSUCCEEDEDと表示され、rvi0という仮想インターフェイスのインターフェイス名が表示されます。このrvi0経由でインターフェイスの通信に干渉します。

※複数デバイスを接続したばあいはrvi0,rvi1...というように末尾の数字が増えてきます

Screenshot 2015-03-05 19.55.52.png

7.以下のコマンドを実行し、ネットワークキャプチャファイルを生成します。

$ tcpdump -i rvi0 -w capture.pcap

Screenshot 2015-03-05 20.00.53.png

8.デバイス上で操作します。

9.キャプチャしたい処理が終了したら、ターミナル上でctrl+cを押し、終了します。
Screenshot 2015-03-05 20.01.22.png

10.Wiresharkでpcapファイルを開きます。
 拡張子.pcapはWiresharkと関連付いているのでFinderからダブルクリックでも開けます。
 
 Screenshot 2015-03-05 20.04.11.png

5
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
8