🔥《吐血整理》進階系列教程 - 拿捏 Fiddler 抓包教程 (11)-Fiddler 設定安卓手機抓包,不會可是萬萬不行的!

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

1.簡介

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

Fiddler 能截獲 Android 和 Windows Phone 等裝置發出的 HTTP/HTTPS 請求。

今天宏哥講解和分享 Fiddler 如何截獲安卓移動端發出的 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.Android 手機抓包配置

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.3Android 手機設定網路代理

本節內容適合所有的 Android 裝置。下面以夜神模擬器為例進行講解,其他品牌的模擬器和真實的手機操作方法與此差不多。具體操作步驟如下:

1.在確定了手機和 Fiddler 在同一區域網下之後, 那麼我們來到 Android 手機的設定選項下,找到夜神模擬器手機當前連線的 WLAN(一些 Android 手機是單擊右邊的箭頭,有的是長按彈出對話方塊),如下圖所示:

2.看到有一個 wifi 訊號, 長按這個訊號 ,出現修改網路的彈窗。如下圖所示:

3.點選修改網路,選中高階選項,開啟高階選項,將代理設為手動,代理伺服器主機名填寫電腦的 IP,埠號填寫為主機抓包工具的監聽埠。如下圖所示:

4.點選儲存,就成功完成代理的設定了。如下圖所示:

那麼到此 Android 手機的網路代理設定就到此為止,其他不同型號的 Android 模擬器和真機設定大同小異,以此類推,實在不會的自己可以百度一下。

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

1.開啟手機上的瀏覽器,在瀏覽器中輸入連結:http://open.vipexam.org/VIPExam 考試學習資源資料庫網站用的是。中科 HTTP 協議而不是 HTTPS 協議,檢視 Fiddler 是否捕獲到了 HTTP 資料包。如下圖所示:

2.開啟手機上的 APP,在 APP 中進行一些操作,檢視 Fiddler 是否能捕獲到 HTTP 資料包。如下圖所示:

如果抓不到 HTTP 的包,很可能是 Windows 防火牆的問題,到控制皮膚中關閉防火牆後再試試。

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

1.開啟手機上的瀏覽器,在瀏覽器中輸入 HTTPS 協議,檢視 Fiddler 是否捕獲到了 HTTPS 資料包。一直在報證書安全警告錯誤,無法抓取,因此需要我們安裝證書,原因宏哥在抓取 PC 端 Web 頁面包已經說過了,這裡就不做贅述了。如下圖所示:

2.開啟手機上的 APP,在 APP 中進行一些操作,檢視 Fiddler 是否能捕獲到 HTTPS 資料包。又出現了 Tunnel to,如下圖所示:

到此,我們知道了要想抓取手機端 Https 的資料,還的配置證書,證書不用問了,還是 Fiddler 下發的。

5.6Android 手機配置證書

透過前邊宏哥的測試,我們知道在抓取 Android 手機資料包的時候 跟 web 端也是一樣,都需要配置證書,否則是無法正常進行抓包的。之前已經在我們的 android 手機上配置好了 Fiddler 的代理服務了,那麼現在就可以透過 ip+port 的方式來訪問 Fiddler 從而下載對應的證書。具體操作步驟如下:

1.在 Android 手機上開啟 (自帶) 的瀏覽器,輸入剛剛配置的 ip+port 來下載證書,例如:192.168.0.109:8888, 我們點選 FiddlerRoot certificate(根證書) 下載到 android 手機上。如果不出意外的話就會出現如下介面:

2.點選後,給證書命名為:FiddlerRoot,點選 “確定”(注:選擇安裝的檔案後,需要輸入手機的鎖屏密碼。Android 一定要有鎖屏密碼才能安裝證書),如下圖所示:

3.要求設定一個手機密碼,自己設定一個,記住密碼就行,最後不用了去系統 - 安全 - 密碼中去掉即可,如下圖所示:

4.點選 “確定”,提示證書已安裝,證書安裝成功後,如果你的手機系統沒有設定密碼或者鎖屏圖案,則系統會提示你設定鎖屏圖案或者密碼。如下圖所示:

5.證書安裝好後,檢視已信任證書:具體位置在【設定--->安全--->信任的憑據--->使用者】,如下圖所示:

敲黑板!!!

在最後一步的這個時候可能有些 android 手機會出現以下問題,會出現 無法安裝證書 因為無法讀取證書檔案的字樣,如下圖所示:

解決方案:

1.在下載之前,你可以手動修改證書的字尾名,修改為.crt 就可以了。如下圖所示:

2.當我們下載的時候,就可以點選編輯按鈕,進行檔名的編輯, 最後儲存。如下圖所示:

3.然後在手機的下載管理中找到剛剛下載好的證書並且開啟它。如下圖所示:

4.點選儲存即為安裝。如下圖所示:

5.完成 android 手機證書的安裝。如下圖所示:

我們透過上面的 Android 基本配置就全部結束了,現在可以愉快的 Android 手機抓包測試了。

6.開始 Android 抓包

為了更清晰的看到移動端抓包,在正式抓包之前,我們還設定一下 Fiddler 中的請求過濾,我們透過 Fiddler 選單欄中的 Tools--->Options-->HTTPS 修改..from all processes 這一項。把它設定為 from remote clients only 只抓遠端客戶端請求, 方便我們檢視手機抓包資料,如下圖所示:

那麼現在開啟你的 android 手機瀏覽器訪問 https 網站或者執行手機中的一些 app 就可以被 fiddler 所擷取到資料包了,如下圖所示:

6.1 安裝外掛

如果還是無法正常抓取資料包,並且手機也無法載入資料的情況下,那麼可能還是跟證書不正確有關係。解決方案:先刪除所有證書再執行下面的操作。那麼我們可能需要安裝一個外掛 CertMaker for iOS and Android。

6.1.1 外掛介紹

由於預設的證書不符合 Android 和 iOS 的證書要求,所以,需要下載 certmaker 外掛,雙擊安裝後,重啟 fiddler。注意這一步很重要,必須使用 certmaker 外掛,不要使用預設的證書生成器,否則抓不到包。

(備註:經驗證,android 和 ios ,如果不安裝此外掛,也是可以抓到包的,官方的文件上也是用了一個很模稜兩可的說明,may ,可能,都不是那麼的絕對。如果是抓不到包,此步驟可以作為一個解決方案)

iOS devices and Android devices may not work with the default HTTPS interception certificates used by Fiddler. To resolve this incompatibility, you may install a Certificate Generating plugin that generates interception certificates compatible with those platforms.
譯為:
iOS 裝置和 Android 裝置可能無法使用 Fiddler 使用的預設 HTTPS 攔截證書。要解決此不相容問題,您可以安裝生成與這些平臺相容的攔截證書的證書生成外掛。如下圖所示:

6.1.2 外掛下載

外掛下載:https://telerik-fiddler.s3.amazonaws.com/fiddler/addons/fiddlercertmaker.exe 下載之後直接點選安裝就可以了,但是要關閉 Fiddler 否則無法安裝, 然後重啟 Fiddler,然後在 Fiddler 中重置一下所有證書,點選 Fiddler 選單選擇 Tools-> Options -> HTTPS -> Actions -> Reset All Certificates 進行重置證書 ,並且手機也要重新再一次的下載並配置證書。下載安裝完外掛 Fiddler 這裡會多一個 dll 檔案,如下圖所示:

如果還是不行可以嘗試關閉電腦的防火牆。

7.小結

注意:

一個手機可以安裝多個證書,但是每安裝的一個證書裡面都設定有 IP 地址,所以:安裝的證書和電腦 IP 是一一對應的,當前的這個證書只能針對某一臺電腦使用,更換電腦後,該證書將不能使用,只能重新安裝與更換的電腦的 IP 相同的證書才能使用。

相關文章