參考文檔
www.wireshark.org
Mac OS X上使用Wireshark抓包 (抓取手機網絡)
使用wireshark以及filddler配合抓去手機端的TCP以及HTTP請求
Wireshark基本介紹和學習TCP三次握手
wireshark使用教程
Mac下使用Wireshark抓iphone手機數據包
Wireshark抓包分析/TCP/Http/Https及代理IP的識別
一、Mac抓iPhone數據包
原理:使用 Mac 抓取 iPhone 數據包可通過共享和代理兩種方式:
1.1、使用 Mac 的網絡共享功能將 Mac 的網絡通過 'WiFi共享' 給iPhone連接
1.1.1、原理:
手機->運營商->服務器
手機->PC網卡->運營商->服務器
1.1.2、親手操作:
- 1、打開 系統偏好設置 -> 共享;
- 2、我設置了 Wi-Fi 為網絡來源,共享給 iPhone USB 端口(因為只有一個網卡的原因,不能以 Wi-Fi 端口共享出去!);
- 3、關閉 iPhone 上一切網絡,用數據線連接到 mac USB 接口;
- 4、神奇的事情發生了,沒有WiFi和4G情況下,手機能正常上網;
開啟Mac網絡共享
開啟Mac網絡共享
wireshark監控剛剛我們共享網絡的端口
wireshark監控剛剛我們共享網絡的端口
wireshark抓到了iPhone的數據包(打開自己的APP請求)
wireshark抓到了iPhone的包
1.2、使用代理軟件(例如 Charles)在Mac上建立HTTP代理服務器
1.3、Remote Virtual Interface,RVI
1.3.1、RVI介紹
蘋果在 iOS 5 中新引入了“遠程虛擬接口(Remote Virtual Interface,RVI)”的特性,可以在 Mac 中建立一個虛擬網絡接口來作為 iOS 設備的網絡棧,這樣所有經過 iOS 設備的流量都會經過此虛擬接口。此虛擬接口只是監聽 iOS 設備本身的協議棧(但并沒有將網絡流量中轉到 Mac 本身的網絡連接上),所有網絡連接都是 iOS 設備本身的,與 Mac 電腦本身聯不聯網或者聯網類型無關。iOS設備本身可以為任意網絡類型(WiFi/xG),這樣在 Mac 電腦上使用任意抓包工具(tcpdump、Wireshark、CPA)抓取 RVI 接口上的數據包就實現了對 iPhone 的抓包。
1.3.2、終端查看RVI
終端查看RVI
1.4.3、獲取UUID
首先,通過 USB 數據線將 iPhone 連接到安裝了 Mac 上(老舊的設備可能不行),抓包過程中必須保持連接;
然后,通過 iTunes->Summary 或者 Xcode->Organizer->Devices 獲取 iPhone 的 UDID。
1.3.4、終端開啟RVI
打開終端,使用“rvictl -s UUID”命令創建 RVI 接口,使用 iPhone 的 UDID 作為參數。
根據UUID開啟RVI,并查看list
根據UUID開啟RVI
wireshark監控RVI端口
wireshark監控RVI端口
wireshark抓到了iPhone的數據包(某車帝APP請求)
wireshark抓到了iPhone的數據包
二、牛刀小試 - 嘗試抓某車帝的數據包
監控iPhone USB端口,打開某車帝APP某個頁面。
設置快捷查找表達式查找HTTP請求
某接口
使用Firefox 的 RESTClient進行HTTP模擬請求
模擬HTTP請求