🔥《吐血整理》進階系列教程 - 拿捏 Fiddler 抓包教程 (12)-Fiddler 設定 IOS 手機抓包,你知多少???

北京-宏哥發表於2024-12-13

1.簡介

Fiddler 不但能截獲各種瀏覽器發出的 HTTP 請求,也可以截獲各種智慧手機發出的 HTTP/ HTTPS 請求。

Fiddler 能捕獲 Android 和 Windows Phone 等裝置發出的 HTTP/HTTPS 請求。同理也可以截獲 iOS 裝置發出的請求,比如 iPhone、iPad 和 MacBook 等蘋果裝置。

今天宏哥講解和分享 Fiddler 如何截獲 iOS 移動端發出的 HTTP/HTTPS 請求。

2.環境準備

Fiddler 如果想要實現手機抓包,需要先滿足下面 3 個條件:

(1)電腦上安裝有 Fiddler 抓包工具。

(2)安裝有 Fiddler 的電腦必須跟手機處在同一個網路裡,並且手機網路代理必須設定為 fiddler,當我們的手機傳送資料時必須經過 Fiddler 這一層服務。

(3)在 Fiddler 中設定好捕獲 HTTPS(具體方法請百度)。

3.Fiddler 截獲手機原理圖

Fiddler 作為代理伺服器,可以接收遠端機器發來的 HTTP/HTTPS 協議的資料包,並且將其轉發到 Web 伺服器。

4.截獲手機發出的 HTTP 包有什麼作用

1:APP 開發人員利用 Fiddler 可以截獲手機發出的 HTTP 包,從而除錯 APP 程式。

2:軟體測試人員可以用其來測試智慧手機上的軟體,做介面測試或者安全測試。

3:截獲了 HTTP/HTTPS 後,可以下斷點修改 HTTP 請求和 HTTP 響應。

PS:下面是重點 配置項

5.IOS 手機抓包配置

5.1Fiddler 配置

在 Fiddler 中我們還需要設定遠端連線許可權和埠號,具體操作步驟如下:

1.啟動 Fiddler,單擊選單欄中 Tools->Fiddler Options->Connections,選中 “Allow remote computers to connect(允許遠端計算機連線)”,然後設定一個埠,也可以預設為 8888。如下圖所示:

選中後就表示允許遠端機器把 HTTP/HTTPS 請求傳送到 Fiddler 上來(配置完後記得要重啟 Fiddler)。同時,我們還能看到 Fiddler 的工作埠號是 8888。

5.2 確保手機和 PC 在同一網路環境下

手機和電腦必須在同一區域網,手機最好也關閉 4G/5G 網路流量, 並且使用 wifi,讓手機和 fiddler 在同一區域網下,具體操作步驟如下:

5.2.1 獲取 Fiddler 所在機器的 IP 地址

1.讓 android 手機的網路進出口指向區域網中 fiddler 服務地址, 那麼我們這裡就必須要知道 Fiddler 的 ip 地址和埠號 (port)。

這裡 Fiddler 的 ip 地址就是我們當前電腦中的本機 ip 地址。檢視電腦的 IP 地址,按快捷鍵【Windows+R】,調出執行視窗。輸入 CMD,可以開啟 CMD 命令列工具;輸入命令 “ipconfig”,可以找到 IP 地址(找到其中的 IPv4 地址即為本機 ip)。
一個電腦可能有多個網路卡,注意要找到真正的 IP 地址,例如某 IP 地址是 10.0.0.11,如下圖所示:

2.可以對照一下當前所安裝的 Fiddler 中的 ip 地址是否一致,你可以直接在 fiddler 上 將滑鼠放置於 Online 工具上就會顯示本機 ip 地址,如果一樣那麼就可以確保一會設定手機和電腦在同一個區域網內。如下圖所示:

5.3iOS 手機設定網路代理

1.開啟 IOS 裝置的 設定 -> 無線區域網,找到你要連線的網路,點選右邊的符號,如下圖所示:

2.開啟網路設定對話方塊,下拉到最後,找到配置代理,點選有點的 > 符號,彈出網路代理配置,進行如下配置,並點選右上角的 儲存,如下圖所示:

5.4 測試 Fiddler 捕獲手機發出的 HTTPS

啟動 IOS 裝置中的瀏覽器或應用,在 fiddler 程式中可以看到完成的請求和響應資料,如圖所示:

注意:

在上述完成的請求中,可以看到存在很多的 Tunnel to xxx 443 問題,這是由於網頁中有很多請求都是 HTTPS ,因此需要在手機中安裝 Fiddler 生成的證書,並在手機中信任該證書。

6.ios 手機下載安裝與配置證書

跟 android 一樣,我們使用 Fiddler 來抓取 ios 手機的 HTTPS 資料包也是需要安裝根證書從而來解碼我們的 HTTPS 資料包文,

6.1 下載證書

那麼其實下載證書步驟其實也跟 android 手機是差不多的。

1.使用 ios 手機中自帶的的 safari 瀏覽器,輸入配置好的 ip+ 埠跳轉到 Fiddler Echo Service 證書下載頁(其他瀏覽器可能不成功),如下圖所示:

2.點選 FiddlerRoot 證書,將其下載到手機中,開啟手機 設定 -> 通用 -> VPN 與裝置管理,找到 已下載的描述檔案(FiddlerRoot 證書),如下圖所示:

3.點選 DO_NOT_TRUST_FiddlerRoot,點選右上角的 安裝,安裝完後,點選右上角的 完成,如下圖所示:

4.由於 iOS 手機提供了系統層面的設定,所以在確認證書安裝好、代理設定沒問題後,需要對已安裝的證書進行信任設定。即,點選 設定 -> 通用 -> 關於本機 -> 證書信任設定,開啟 Fiddler 證書信任,接受這樣的對話,即允許第三方竊聽你的所有通訊。如下圖所示:

5.到此,Fiddler 就可以抓取 HTTPS 請求了。可以看出,iOS 上的設定要比 Android 上覆雜一些,也反映出 iOS 更安全一些。

7.開始 ios 抓包

配置好 PC 端的 Fiddler、手機也安裝了證書、代理也設定之後,我們就可以在手機上操作 app 捕獲資料包了,然後在 Fiddler 中檢視傳送的請求和響應報文了,如下圖所示:

手機 APP:

手機百度網頁:

8.小結

注意:

1.不使用 Fildder 進行抓包時,建議將手機網路代理關閉,以防有其他網路問題。

2.必須要開啟證書信任,否則會出現無法抓到 HTTPS 包的情況。

3.如果還是抓不到包,需檢視一下防火牆是否關閉,是否沒有允許 Fiddler 程式透過防火牆,或者檢查一下證書是否出現問題,或者 刪除所有的證書之後 ,重新安裝 Fiddler 與手機的證書重置後再次嘗試抓包!

相關文章