1. 介绍

Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试功能、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。

既然是代理,也就是说:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端,基于这个原因,Fiddler支持所有可以设置http代理为127.0.0.1:8888的浏览器和应用程序。使用了Fiddler之后,客户端和服务器的请求如下所示:

image.png

2. 安装

2.1 安装Mono

2.1.1 安装

Fiddler 是使用 C# 编写的 http 抓包工具,Mac OS系统使用.Net编译后的程序,需要安装Mono,Mono下载地址:https://www.mono-project.com/download/stable/

2.1.2 配置

打开Mac终端,执行如下语句:

  1. sudo /Library/Frameworks/Mono.framework/Versions/<替换成Mono版本号>/bin/mozroots --import --sync

此步是为了从Mozilla LXR上下载所有受信任的root证书,存于Mono的证书库里。root证书能用于请求https地址。

这里如果执行出错,那就cd 到 /Library/Frameworks/Mono.framework/Versions/<替换成Mono版本号>/bin 目录下,执行:

  1. sudo mozroots --import --sync

image.png

添加环境变量:

  1. $ open -e .zshrc
  2. 或者:
  3. $ open -e .bash_profile
  4. 添加如下代码:
  5. # 抓包工具
  6. export MONO_HOME=/Library/Frameworks/Mono.framework/Versions/版本号
  7. export PATH=$PATH:$MONO_HOME/bin

2.2 下载Fiddler

https://www.telerik.com/download/fiddler/fiddler-osx-beta

解压到指定目录,在终端cd到Fiddler 解压目录,然后执行:

  1. sudo mono Fiddler.exe

如果执行以下命令报错:

  1. sudo mono --arch=32 Fiddler.exe

使用这个命令启动时间比较长,请耐心等待哈。启动成功侯自动弹出一个界面:
image.png