安裝RVI
1 獲取UDID。
2 安裝RVI,需要使用rvictl工具,以下步驟在mac的終端中操作。(如果找不到rvictl命令,則通過以下鏈接下載對應版本的command tools for xcode:Downloads for Apple Developers)
$ # 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
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
抓包
安裝成功后,此時其實可以用任何抓包工具來抓取。包括wireshark等。因為這時就會看到一個rvi0的網卡。
通過tcpdump來搞。
在終端中輸入如下命令:
sudo tcpdump -i rvi0 -n -s 0 -w dump.pcap tcp
解釋一下上面重要參數的含義:
-i rvi0 選擇需要抓取的接口為rvi0(遠程虛擬接口)
-s 0 抓取全部數據包
-w dump.pcap 設置保存的文件名稱
tcp 只抓取tcp包
當tcpdump運行之后,你可以在iOS設備上開始瀏覽你想抓取的App,期間產生的數據包均會保存到dump.pcap文件中,當想結束抓取時直接終止tcpdump即可。然后在mac中找到dump.pcap文件。用wireshark打開就ok。
通過wireshark來抓包
cd到 /Applications/Wiresshark.app/Contents/MacOS/
sudo wireshark
打開wireshark抓包,過濾到相應的數據后,右鍵選擇“Follow TCP Stream”
結束抓包
去掉RVI這個虛擬網卡,使用下面的命令:
$ rvictl -x 74bd53c647548234ddcef0ee3abee616005051ed
Stopping device 74bd53c647548234ddcef0ee3abee616005051ed [SUCCEEDED]
Technical Q&A QA1176
tcpdump的使用,包括http抓包
Mac OS X上使用Wireshark抓包