Fiddler是用C#开发的。 所以Fiddler不能在Mac系统中运行。 没办法直接用Fiddler来截获MAC系统中的HTTP/HTTPS, Mac 用户怎么办呢?
Fiddler可以允许“远程连接”。 我们可以利用这个间接来实现Fiddler捕获Mac系统发出的HTTP/HTTPS
使用虚拟机
Mac中安装虚拟机软件(比如VMware Fusion). 然后在虚拟机中安装一个 Windows7系统(别的Window系统都可以), 然后在Windosw7中安装Fiddler
虚拟机的网络使用“Bridged” 模式
采用"Bridged" 模式, 可以让虚拟机上运行的Windows7系统,就像局域网里的一*立的主机,拥有独立的IP地址
配置虚拟机上的Fiddler, 允许“远程连接”
在虚拟机中, 打开Fiddler Tools-> Fiddler Options 。 (配置完后记得要重启Fiddler).
选中"Decrpt HTTPS traffic", Fiddler就可以截获HTTPS请求
选中"Allow remote computers to connect". 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来
获取虚拟机Windows7的IP地址
这个太简单了, 直接在CMD中运行ipconfig. 就可以得到Windows7的IP地址,
或者你可以在Fiddler中得到IP地址。 把鼠标放在 Fiddler 工具栏上的 “Online” 上就可以了
配置Mac,把代理服务器指向Fiddler
在Mac 系统中, 打开System Preferences ->Network->Advanced...->Proxies 中
选择“Web Proxy (HTTP)” 输入IP地址10.29.56.93和端口8888
选择“Secure Web Proxy (HTTPS)” 输入IP地址10.29.56.93和端口8888
大功告成, 开始抓包
现在Mac上面任何程序(比如Safari, Firefox, Itunes, App Store)发出的HTTP/HTTPS都可以被Fiddler获取。
实例: 在Mac上,打开Safari,
1. 输入http://www.cnblogs.com/tankxiao. 看看Fiddler能否捕获。
2. 输入https://dynamic.12306.cn/otsweb/ 看看Fiddler能否捕获。
是不是HTTP和HTTPS都截获到了????, 你不但能截获, 还可以下断点,修改Request, 修改Response, Do what you want.
用完后,记得在Mac中禁止代理
每次用完, 一定要记得把Mac上的代理禁止掉, 否则容易造成Mac无法上网。
Linux下使用Fiddler
Fiddler同样可以捕获Linux系统发出的HTTP,HTTPS, 使用方法跟Mac系统一样。
下图是Ubuntn如何设置代理。