Fiddler不但能截獲各種浏覽器發出的HTTP/HTTPS請求,也可以截獲各種移動裝置(包括Andriod和IOS)發出的HTTP/HTTPS請求。最關鍵的是,Fiddler還可以斷點調試,修改Request和Response,而且即便抓包的是IOS裝置,這些操作也可以直接在Windows PC上進行,不需要非得在MAC上。
一、PC上安裝Fiddler
官網下載下傳位址:https://www.telerik.com/fiddler
安裝步驟略。
二、Fiddler配置 (配置完後記得要重新開機Fiddler)
1、進入Tools-Options...,設定HTTPS,如下圖所示
2、設定Connections,選中"Allow remote computers to connect",如下圖所示,Fiddler的預設端口是8888
三、手機配置
(1) 網絡代理設定
安裝Fiddler的機器,跟Iphone(ipad) 必須在同一個網絡裡, 否則IPhone(ipad)不能把HTTP發送到Fiddler的機器上來。
打開IPhone, 找到你的網絡連接配接, 打開HTTP代理, 輸入Fiddler所在機器的IP位址(可以通過cmd指令視窗中輸入ipconfig來檢視,比如:192.168.1.104) 以及Fiddler的端口号8888
(2) Fiddler證書安裝
這一步是為了讓Fiddler能捕獲HTTPS請求。 如果你隻需要截獲HTTP請求, 可以忽略這一步
1. 首先要知道Fiddler所在的機器的IP位址(在上一步中我們其實已經知道了):假如我安裝了Fiddler的機器的IP位址是:192.168.1.104
2. 打開IPhone 的Safari,通路 http://192.168.1.104:8888 點選最下面的"FiddlerRoot certificate", 然後安裝證書
3. iOS 10.3更新之後,安裝的證書預設是不啟用的,需要手動去開啟。設定 –> 通用 –> 關于本機 –> 證書信任設定,将Fiddler的證書開關打開就行了。
現在大功告成,可以抓包了。IPhone上的應用(比如Safari, Firefox, Itunes, App Store)發出的HTTP/HTTPS都可以被Fiddler擷取,不但能截獲, 還可以下斷點,修改Request, 修改Response。
四、注意事項
(1) 用完了, 記得把IPhone(ipad)上的Fiddler代理關閉, 以免IPhone(ipad)上不了網。
(2) 隻能捕獲HTTP,而不能捕獲HTTPS的解決辦法
有時候會發現, Fiddler 隻能捕獲IPhone發出得HTTP請求, 而不能捕獲HTTPS請求, 原因可能是證書沒有安裝好。 解決辦法是:
1. 先把IPhone上所有的Fiddler證書删除 (拿出IPhone, 點”設定“->“通用”->"描述檔案")
2. 按照上面的方法,重新安裝Fiddler證書
五、設定代理後,手機連不了網的解決辦法
經過上面的設定,如果手機通過代理還是連不了網,可以進行如下設定
1. 關閉電腦防火牆
2. 打開系統資料庫(cmd-regedit),在HKEY_CURRENT_USER\Software\Microsoft\Fiddler2下建立一個QWORD,值置為80(十進制)
3. 編寫fiddlerScript rule,點選Rules->Customize Rules,用Ctrl+F查找OnBeforeRequest方法添加如下一行代碼
if (oSession.host.toLowerCase() == "webserver:8888")
{
oSession.host = "webserver:80";
}
設定完之後重新開機Fiddler即可。