在iOS裝置上進行抓包(補充)

來源:互聯網
上載者:User

之前我一般是通過wifi連入我的iMac,然後使用HttpScoop或者Charles來進行資料抓取及分析。前者非常好用,在調協議時我的必備工具,就是更新太慢,2.0版本老不出來。後者沒用過,聽說是java的。而且價格也太貴,前者15美刀,後者50美刀。

Wireshark有裝,但是介面實在讓人提不起來胃口使用,所以裝了就刪除了。 HttpScoop雖然好用,但是只適用於http協議,對於socket通訊無能為力。

今天在RESOW看到這篇文章,介紹利用XCode內建工具即可實現對所有類型的資料包進行抓取、查看。

(以下內容轉載自RESOW)

可能出於各種需要,你需要在iOS上抓取資料包,比如查看一下安裝的軟體是否私自上傳了什麼東西,或者研究一下如何?某些功能等等。

關於iOS上抓包目前有很多方法,可以看Apple Technical Q&A 1176,裡面介紹的內容很全面,有工具的介紹和幾種支援方法的具體做法。

不過QA所述沒有包含完整的流程,缺失了一些步驟;另外網路上常用的方法是通過HTTP Proxy方式抓包,這種方式的缺點是無法抓取EDGE/3G的資料包,如果WIFI無法設定代理那麼這種方式也就沒有辦法了。

下面要介紹的方式就解決了這個問題。

需求:iOS系統要求5.0以上,擁有Mac OS 並且安裝XCode

Apple在iOS5.0以上增加了RVI(Remote Virtual Interface),開啟它非常簡單,只需要把iOS裝置通過usb串連到Mac上,然後開啟“終端”,輸入

rvictl -s [Your Device's UDID]   

然後在終端上會顯示

Starting device ********** [SUCCEEDED]

字樣

如果這一步產生了什麼錯誤的話,可能是沒有安裝XCode或者UDID輸入錯誤

接下來在終端可以使用

ifconfig -l

查看當前Mac上的介面,比如(不同Mac可能會有差異):

lo0 gif0 en0 en1 fw0 rvi0

其中rvi0就是Remote Virtual Interface,這也就意味著在你的Mac上虛擬了一個iOS裝置介面,接下來就是通過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即可

接下來就是需要處理抓取的資料,目前通過tcpdump儲存的dump.pcap儲存的是未經處理資料,但是一些常用的抓包軟體(比如Chales)是解析不了的,所以需要做一個轉換。

開啟終端,我們需要使用tcprewrite這款工具,如果沒有安裝的話,可以通過HomeBrew快速安裝

brew install tcpreplay

我們需要的tcprewrite是tcpreplay套件中的一個工具,當安裝完成後,輸入

tcprewrite –dlt=enet –enet-dmac=00:11:22:33:44:55 –enet-smac=66:77:88:99:AA:BB –infile=dump.pcap –outfile=dumpFinal.pcap

如果沒有報錯就說明轉換成功,之後使用Chales開啟dumpFinal.pcap就可以查看到剛才的資料包了。

----------------
最近在這裡看到一篇相似題材的文章。前面介紹的方案大致相同,後面倒是介紹了一下,使用HAR來查看http包。也收錄在這裡做為補充吧。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.