《吐血整理》進階系列教程-拿捏Fiddler抓包教程(12)-Fiddler設置IOS手機抓包,你知多少???
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與手機的證書重置後再次嘗試抓包!