2012年1月7日土曜日

QA1176 - Remote Virtual Interface を使ったパケットトレース


「QA1176 Getting a Packet Trace」が更新されていた。追加内容は iOS 5 から利用可能になった Remote Virtual Interface (RVI) を使ったパケットのトレース方法。RVIを使うとiPhoneの通信を Mac OS X 上のツール(tcpdumpなど)でパケットキャプチャすることができる。

手順:
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など様々な情報が紹介されている。

0 件のコメント:

コメントを投稿