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

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相同的證書才能使用。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章