ios設備抓包方法
對終端進行抓包是客戶端測試中的一種重要手段。本文主要介紹了ios設備(iphone、ipad和ipodtouch)的幾種常用的抓包方法。
一、準備條件
需要進行抓包的設備必須經過root,俗稱越獄,主要利用redsn0w和各種iOSFirmwares進行,如越獄不用更換固件版本,只需使用redsn0w安裝Cydia即可,網上有詳細教程,此處省略。安裝完畢,在3G或WiFi環境下啟動Cydia,確認身份為“開發者”,如下圖。
通過Cydia源,用戶可以下載和安裝比appstore更高權限的軟件,但是在Cydia源中下載程序時,如果ios設備鎖頻待機就會中斷下載。我們可以在“設置-通用-自動鎖定”中把時間設置為“永不”來防止待機。此外如果有同學發現在簡體中文環境下使用Cydia搜索會閃退,請不要驚慌,參見附錄即可解決該問題。
Root后的設備,如不及時修改密碼,容易被他人破壞你的系統,因此作為抓包的準備條件之一,請修改root密碼,初始密碼為alpine,可通過SSH連接訪問或者直接在ios設備上的MobileTerminal上進行密碼修改。
二、抓包方式
方法1:SSH連接訪問ios設備抓包(通過USB)--強烈推薦
【準備工作】
ios設備上安裝tcpdump(參見附錄)
PC上安裝iPhoneTunnel(集成終端工具putty功能,附近中為免安裝版本)
【操作步驟】
1.用USB線纜連接手機與PC,確保手機連接正確,啟動iPhoneTunnel,綠燈表示TunnelStatus正常,此時點擊LaunchTerminal按鈕即可SSH進入手機,如下圖;
2.Putty出現一個提示窗口,如果你不是經常使用SSH,請直接點擊“否”即可,如下圖;
3.接著PuTTY會以root用戶身份嘗試登錄設備,并輸入root密碼;
4.使用tcpdump進行抓包(參見附錄),如下圖。
【方法點評】
通過USB方式直接SSH進入設備,無論設備在WiFi還是2G/3G下,都可以進行抓包,而且使用簡單,方法無局限性,值得采用。
方法2:SSH連接訪問ios設備抓包(通過WiFi)
【準備工作】
ios設備上安裝tcpdump(參見附錄)
PC上安裝putty(附近中為免安裝版本)
ios設備連接WiFi網絡,且與PC處于同一個網絡中,如無WiFi網絡,可使用PC作為熱點虛擬一個WiFi網絡供ios設備連接
【操作步驟】
1.在ios設備上查看ip地址(設置Wi-Fi中,點擊已連接WiFi右側的小箭頭可看到);
2.點擊putty,輸入設備的ip地址,并選擇連接類型為SSH,點擊打開,如下圖;
3.以下操作同方法1的2-4步。
【方法點評】
PuTTY是通過WiFi方式SSH進入到手機的,必須知道手機的IP地址,如果手機沒有WiFi就不能使用這種方法,因此該方法有一定的局限性。
方法3:直接在終端上操作進行抓包
【準備工作】
ios設備上安裝MobileTerminal、tcpdump(參見附錄)
【操作步驟】
1.點擊設備桌面“Teminal”圖標;
2.切換至root用戶登錄;
3.使用tcpdump進行抓包(參見附錄),如下圖。
【方法點評】
不受網絡條件制約,但由于是在終端上操作抓包,對ios設備來講,MobileTerminal切至后臺就不再工作,因此該抓包方法可行性較低,盡管如此,MobileTerminal對終端測試人員來說依然是一款很實用的工具。
三、導出及其它
Pcap文件生成后可通過91手機助手(IOS版)將文件下載至PC,然后通過Wireshark或Ethereal打開文件,分析報文。
四、附錄
1.中文環境下Cydia搜索閃退問題解決方法
原文轉自:http://blog.csdn.net/fengsh998/article/details/8677556