一直以来都是在Windows底下工作,对于抓包工具,自然而然当属Fiddler最最出色。不过Fiddler是在.Net runtime环境下运行的,所以想要在Mac下使用,有些困难。
在试过了Charles、Rythem、TinyProxy和NProxy这些抓包工具后,我依然苦恼,它们有的需要支付昂贵的费用,有的只支持本机网页请求代理,而有些界面只有文本模式,这让我无法适从。
直到去年10月份(2016年10月),Telerik官网上悄然地放上了Fiddler的OSX版,这让我欣喜若狂,赶紧来尝试。
首先,Mac下需要使用.Net编译后的程序,需要用到跨平台的方案Mono(现阶段微软已推出跨平台的方案.Net Core,不过暂时只支持控制台程序)。安装程序可以从http://www.mono-project.com/download/#download-mac地址下载。
安装完后,在Terminal里执行以下命令:
/Library/Frameworks/Mono.framework/Versions/<Mono Version>/bin/mozroots --import --sync
此步是为了从Mozilla LXR上下载所有受信任的root证书,存于Mono的证书库里。root证书能用于请求https地址。
接下来如果想要运行Fiddler,还需要把Mono加入到环境变量中。编辑.bash_profile文件:
sudo vi ~/.bash_profile
加入文本:
export MONO_HOME=/Library/Frameworks/Mono.framework/Versions/5.0.1
export PATH=$PATH:$MONO_HOME/bin
保存后重新打开Terminal,Mono环境已装好。
从Fiddler官网https://www.telerik.com/download/fiddler下载fiddler-mac.zip的压缩包。解压到非中文字符的路径下。
打开Terminal,进入到刚才解压的Fiddler路径,执行命令运行:
sudo mono Fiddler.exe
是不是跟Windows下的界面一样好看?
现在Fiddler在Mac下还只是Beta1版,所以会有很多问题,比如:
既然Mac下也能使用Fiddler,还等什么?