1.介紹Fiddler
Fiddler是位于客戶端和服務(wù)器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能夠記錄客戶端和服務(wù)器之間的所有 HTTP請求,可以針對特定的HTTP請求,分析請求數(shù)據(jù)、設(shè)置斷點、調(diào)試功能、修改請求的數(shù)據(jù),甚至可以修改服務(wù)器返回的數(shù)據(jù),功能非常強(qiáng)大,是web調(diào)試的利器。
既然是代理,也就是說:客戶端的所有請求都要先經(jīng)過Fiddler,然后轉(zhuǎn)發(fā)到相應(yīng)的服務(wù)器,反之,服務(wù)器端的所有響應(yīng),也都會先經(jīng)過Fiddler然后發(fā)送到客戶端,基于這個原因,F(xiàn)iddler支持所有可以設(shè)置http代理為127.0.0.1:8888的瀏覽器和應(yīng)用程序。使用了Fiddler之后,客戶端和服務(wù)器的請求如下所示:

2.安裝Mono
Fiddler 是使用 C# 編寫的 http 抓包工具,Mac OS系統(tǒng)使用.Net編譯后的程序,需要安裝Mono,Mono下載地址:
https://www.mono-project.com/download/stable/
安裝完成后,在在Terminal里執(zhí)行以下命令:
/Library/Frameworks/Mono.framework/Versions/<mono version>/bin/mozroots --import —sync
<mono version>是指Mono版本號,如果運(yùn)行以上命令報錯,請按照上述路徑進(jìn)行檢查,比如,我安裝Mono版本是5.10.1。上述命令可以改成:
/Library/Frameworks/Mono.framework/Versions/5.10.1/bin/mozroots --import —sync
3.把Mono加入環(huán)境變量
運(yùn)行Fiddler需要Mono命令,所以需要把Mono加入到環(huán)境變量,編輯.bash_profile文件:
sudo vi ~/.bash_profile
在.bash_profile末尾追加以下內(nèi)容:
export MONO_HOME=/Library/Frameworks/Mono.framework/Versions/5.10.1
export PATH=$PATH:$MONO_HOME/bin
注:5.10.1是指安裝版本,如果不同版本就會顯示不一樣。
4.安裝Fiddler
從Fiddler官網(wǎng)https://www.telerik.com/download/fiddler下載fiddler-mac.zip的壓縮包。
5.運(yùn)行Fiddler
打開Terminal,進(jìn)入到剛才解壓的fiddler-mac.zip路徑,執(zhí)行命令運(yùn)行:
sudo mono Fiddler.exe
如果執(zhí)行以下命令報錯:
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
則執(zhí)行以下命令:
sudo mono --arch=32 Fiddler.exe
使用這個命令啟動時間比較長,請耐心等待哈。啟動成功侯自動彈出一個界面:

下一個章節(jié)學(xué)習(xí)如何使用Fiddler功能。