1.介紹Fiddler
Fiddler是位于客戶端和服務(wù)器端的HTTP代理铐达,也是目前最常用的http抓包工具之一 蟹演。 它能夠記錄客戶端和服務(wù)器之間的所有 HTTP請(qǐng)求谒主,可以針對(duì)特定的HTTP請(qǐng)求筐高,分析請(qǐng)求數(shù)據(jù)、設(shè)置斷點(diǎn)栏渺、調(diào)試功能呛梆、修改請(qǐng)求的數(shù)據(jù),甚至可以修改服務(wù)器返回的數(shù)據(jù)磕诊,功能非常強(qiáng)大填物,是web調(diào)試的利器。
既然是代理霎终,也就是說(shuō):客戶端的所有請(qǐng)求都要先經(jīng)過Fiddler滞磺,然后轉(zhuǎn)發(fā)到相應(yīng)的服務(wù)器,反之莱褒,服務(wù)器端的所有響應(yīng)击困,也都會(huì)先經(jīng)過Fiddler然后發(fā)送到客戶端,基于這個(gè)原因广凸,F(xiàn)iddler支持所有可以設(shè)置http代理為127.0.0.1:8888的瀏覽器和應(yīng)用程序阅茶。使用了Fiddler之后,客戶端和服務(wù)器的請(qǐng)求如下所示:
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版本號(hào)撞蜂,如果運(yùn)行以上命令報(bào)錯(cuò),請(qǐng)按照上述路徑進(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是指安裝版本,如果不同版本就會(huì)顯示不一樣九杂。
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í)行以下命令報(bào)錯(cuò):
=================================================================
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
使用這個(gè)命令啟動(dòng)時(shí)間比較長(zhǎng)爷狈,請(qǐng)耐心等待哈。啟動(dòng)成功侯自動(dòng)彈出一個(gè)界面:
下一個(gè)章節(jié)學(xué)習(xí)如何使用Fiddler功能裳擎。