手順:
1. iOS機器を Macに接続 2. Mac上で iOSのネットワークを示す仮想ネットワークインターフェイスを作成する(RVI) 3. パケットキャプチャツールで 2のインターフェイスを監視する
RVI設定の為に rvictlというコマンドが Xcode 4.2 から付属している。
以下、引用
$ # First get the current list of interfaces.
$ ifconfig -l
lo0 gif0 stf0 en0 en1 p2p0 fw0 ppp0 utun0
$ # Then run the tool with the UDID of the device.
$ rvictl -s 74bd53c647548234ddcef0ee3abee616005051ed ← RVI作成
Starting device 74bd53c647548234ddcef0ee3abee616005051ed [SUCCEEDED]
$ # Get the list of interfaces again, and you can see the new virtual
$ # network interface, rvi0, added by the previous command.
$ ifconfig -l
lo0 gif0 stf0 en0 en1 p2p0 fw0 ppp0 utun0 rvi0
$ sudo tcpdump -i rvi0 -n ← キャプチャ開始
tcpdump: WARNING: rvi0: That device doesn't support promiscuous mode
(BIOCPROMISC: Operation not supported on socket)
tcpdump: WARNING: rvi0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on rvi0, link-type RAW (Raw IP), capture size 65535 bytes
$ rvictl -x 74bd53c647548234ddcef0ee3abee616005051ed ← 停止
Stopping device 74bd53c647548234ddcef0ee3abee616005051ed [SUCCEEDED]
QA1176 は RVIの他、Mac OS X で利用可能なキャプチャツールの紹介やネットワークデバッグの Tipsなど様々な情報が紹介されている。