Fiddler是用C#开发的。  所以Fiddler不能在Mac系统中运行。  没办法直接用Fiddler来截获MAC系统中的HTTP/HTTPS,    Mac 用户怎么办呢?

Fiddler可以允许“远程连接”。  我们可以利用这个间接来实现Fiddler捕获Mac系统发出的HTTP/HTTPS

 

阅读目录:

  1. 使用虚拟机
  2. 虚拟机的网络使用“Bridged” 模式
  3. 配置虚拟机上的Fiddler, 允许“远程连接”
  4. 获取虚拟机Windows7的IP地址
  5. 配置Mac,把代理服务器指向Fiddler
  6. 大功告成, 开始抓包
  7. 用完后,记得在Mac中禁止代理
  8. Linux下使用Fiddler

 

使用虚拟机

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如何设置代理。

 

 

posted on 2013-05-22 07:33  小坦克  阅读(38000)  评论(19编辑  收藏  举报