これ、書いていいのか迷ったけど、どうもQA1776 (参考: QA1176 - Remote Virtual Interface を使ったパケットトレース | Cocoaの日々情報局) というところにあったみたいなので投下。
WWDC2011 のプレゼン資料に「Core Networking in-depth」というのがあり、その中に「Remote Packet Capture」というのがあります。そこには、OSX が iOS device のパケットを拾ってくるよ、と書いてます。MiMとかする時にはちと使えないかもね。
で、必要なのは、 iOS5 SDK が入ったMacと、iOS5デバイスと、それらをつなぐUSBケーブル。
コマンドはシンプルで、仮想デバイスを作成して、そいつをtcpdumpで拾ってくる感じ。
1. 仮想デバイスを作成して ifconfig で確認。仮想デバイスの作成にroot権限はいらないっぽい。
$ rvictl -s <UDID> Starting device <UDID> [SUCCEEDED] $ ifconfig .. rvi0: flags=3005<UP,DEBUG,LINK0,LINK1> mtu 0 $
2. パケットキャプチャ
結構ズラズラと、 https の通信が出てきますので、portとか宛先を確認するか、wireshakeとか使うといいかも
# tcpdump -n -i rvi0
3. 仮想デバイスの削除
$ rvictl -x <UDID> Stopping device <UDID> [SUCCEEDED] $