Http调试工具-Fiddler使用指引

jopen 11年前

Fiddler是什么?

Fiddler是一个http调试代理,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看Fiddle 所有的"进出"的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。

Fiddler能做什么?

  1. Capture all HTTP(s) traffic 查看http请求
  2. Deep dive into session metrics 深度分析http session
  3. Filter captured traffic 过滤http请求
  4. Archive and playback recorded traffic 录制、播放http请求
  5. Web debugging... web调试,等等

详情见官网介绍:
http://fiddler2.com/Features/http-https-traffic-recording

从哪里下载?

官网下载: http://fiddler2.com/docs/default-source/public-downloads/fiddler4setup.exe?sfvrsn=30
hao123下载: http://softdownload.hao123.com/hao123-soft-online-bcs/soft/F/2013-10-22_fiddler4setup.exe
局域网下载:
\\10.10.76.79\smcuser\常用软件
windows直接访问: \\10.10.76.79 
mac访问:smb://10.10.76.79 
账号:smcuser
密码:smcuser#2012

安装:

Fiddler是基于c#开发的,最新版本是4.4,运行Fidder4.4需要.net 4环境,.net 4的下载地址是: http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe

初次使用设置:

打开Fiddler,     Tools-> Fiddler Options 。  (配置完后记得要重启Fiddler).
选中"Allow remote computers to connect".  是允许别的机器(设备)把HTTP/HTTPS请求发送到Fiddler上来,我们要勾上这个选项,以便让手机通过本机的8888端口连接。 
Monitor all connections,是监听所有请求,包括本机和连接到Fiddler代理端口的设备的请求。(一般我们不需要监听本机的,所以不勾) 
选中"Decrpt HTTPS traffic",    Fiddler就可以截获HTTPS请求,如果没有抓取https请求的需求,不需要修改这个设置。

让手机连接到Fiddler:

其实就是通过Fiddler的代理端口访问网络。
Android:
(目前只有Android4.0及以上版本才支持,低版本需要单独安装代理软件)
打开WLAN设置,长按SOHU.COM连接: 
修改网络: 
勾中"显示高级选项",按照上图填写,主机名是本机的IP地址,端口是Fiddler设置的http代理端口,默认是8888 
注意的是,有些Andorid机器修改后,不会立即生效。可先切到另一个网络(如SOHU-Guest)再切换回SOHU.COM 
IOS:
略。
或参考:
http://blog.csdn.net/jiguanghoverli/article/details/9213515

开始使用:

连接上以后,在Fiddler主界面上看到所有来自手机的请求了: 

设置过滤规则:
如上图,全部请求太多了,我只想看搜狐新闻客户端的,怎么办?
在界面右边,有一个Filters选项卡,点击它,如下图: 
按上图选择,填写我们正式和测试服的host: 221.179.173.197; *.k.sohu.com; 

查找指定的URL:
有两种方法:
1. 查找, 按ctrl + F
2. 在Filters中设置过滤规则,并执行(过滤只不满足条件的记录将清除) 
例如,我只想看全部article.go接口的请求,则按上图填写,然后点击: 
Run Filterset now. 

查看http请求和统计结果
双击一个请求,即可查看这个请求的详情。大家自己看吧。
有一个统计功能比较炫:(ctrl + A选中全部请求) 

上面全部只是介绍了一下皮毛,更多好用功能请大家自己探索,互相交流。

重定向:

 

1. AutoResponder
2. 选中Enable automatic responses 
3. 点Import导入文件 
4. 可以通过默认Url或者通过Rule Editor来修改请求匹配规则

断点:

1. Rules - Automatic Breakpoints - Before Requests/After Response。
2.加断点后可以修改请求头响应头等。

【模拟低网速】

1.Rules - performance - simlate modem speed

 

附:chrome 的JSON 插件

由于我们的接口主要采用json格式返回数据,推荐几个chrome下的JSON查看工具:
JSON Prettifier 2.6   (推荐安装,自动,完美格式,支持以表格的方式显示JSON数据)
安装地址:
https://chrome.google.com/webstore/detail/json-prettifier/kccpfgilgmgbipamhohknpokhibinhhj
安装要后配置一个host    220.181.11.134  www.betadeli.com
(由于这个插件加载图标要请求一个国外的站点,比较慢,故配置一个内网的host替换这个)
效果图示:
结构化显示: 

支持缩起,并显示数组长度: 

以表格方式显示: 




JSONP Viewer 1.1.6 (手动,支持JSONP格式化显示)
安装地址:
https://chrome.google.com/webstore/detail/jsonp-viewer/mijkjfpdiidomhagijpedgaeekkadlgp