1.介绍Fiddler
Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试功能、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。
既然是代理,也就是说:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端,基于这个原因,Fiddler支持所有可以设置http代理为127.0.0.1:8888的浏览器和应用程序。使用了Fiddler之后,客户端和服务器的请求如下所示:
2.安装Mono
Fiddler 是使用 C# 编写的 http 抓包工具,Mac OS系统使用.Net编译后的程序,需要安装Mono,Mono下载地址:
https://www.mono-project.com/download/stable/
安装完成后,在在Terminal里执行以下命令:
/Library/Frameworks/Mono.framework/Versions/<mono version>/bin/mozroots --import —sync
<mono version>是指Mono版本号,如果运行以上命令报错,请按照上述路径进行检查,比如,我安装Mono版本是5.10.1。上述命令可以改成:
/Library/Frameworks/Mono.framework/Versions/5.10.1/bin/mozroots --import —sync
3.把Mono加入环境变量
运行Fiddler需要Mono命令,所以需要把Mono加入到环境变量,编辑.bash_profile文件:
sudo vi ~/.bash_profile
在.bash_profile末尾追加以下内容:
export MONO_HOME=/Library/Frameworks/Mono.framework/Versions/5.10.1
export PATH=$PATH:$MONO_HOME/bin
注:5.10.1是指安装版本,如果不同版本就会显示不一样。
4.安装Fiddler
从Fiddler官网https://www.telerik.com/download/fiddler下载fiddler-mac.zip的压缩包。
5.运行Fiddler
打开Terminal,进入到刚才解压的fiddler-mac.zip路径,执行命令运行:
sudo mono Fiddler.exe
如果执行以下命令报错:
=================================================================
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.
=================================================================
则执行以下命令:
sudo mono --arch=32 Fiddler.exe
使用这个命令启动时间比较长,请耐心等待哈。启动成功侯自动弹出一个界面:
下一个章节学习如何使用Fiddler功能。