Fiddler是一款优秀的web调试工具,它可以记录所有的浏览器与服务器之间的通信信息(HTTP和HTTPS),并且允许你设置断点,修改输入/输出数据。
你对HTTP协议越了解,就越能掌握Fiddler工具使用方法,你越使用Fiddler工具,就越了解HTTP协议。Fiddler工具无论是对开发人员还是测试人员来说,都是非常有用的工具。
Fiddler可以在官方网站(http://fiddler2.com/)进行下载。
二、Fiddler工作原理
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
Fiddler工作示意图如下:
安装Fiddler后,Fiddler会自动为IE浏览器、火狐浏览器以及Chrome浏览器安装启动插件,并且默认监听浏览器的数据。如果是其他浏览器需要手动设置代理为127.0.0.1:8888,这样就可以监听数据了。
三、Fiddler如何拦截HTTPS请求
Fiddler默认只记录HTTP请求,但不会记录HTTPS,需要进行配置。选择“Tools”-“Fiddler Options”-“HTTPS“,勾选“Decrypt HTTPS traffic”复选框,在弹出的对话框中点击”yes“即可,如下图所示:
四、Fiddler界面功能简介
Fiddler工具的主界面如下图所示
1、监控开关是用于控制是否监听数据包的快捷按钮,还可以通过点击左上角”File”-“capture traffic”来开启和关闭监控
2、Fiddler监听进程的类型主要可以分为:所有类型、Web浏览器和非浏览器。用户可以根据选择类型对该类型进行监控,也可以选择“Hide All”隐藏所有。
3、Fiddler的命令行工具叫做QuickExec,它允许用户直接输入命令进行操作,例如:
①cls,清除回话列表
②select,选择会话
③bpu,截取Request
④bpafter,截取Response
更多命令可以输入help查看
Inspectors tab下有很多查看Request或者Response的消息。 其中Raw Tab可以查看完整的消息,Headers tab 只查看消息中的header. 如下图:
1、headers,查看headers
2、webforms,以直观的界面查看body的值
3、cookies,以直观的界面查看header中cookies的值
4、raw,查看完整的消息结构
五、过滤器
使用Fiddler拦截请求时,会拦截图片、CSS、JS等文件信息,导致我们浏览一个页面时产生很多会话,而这些会话中只有个别是我们需要的,查找起来非常费劲,这时就可以用到Fiddler的过滤功能。
Fiddler提供的过滤器可以过滤请求信息、响应信息、状态码等。对于一些不需要关注的JS文件、CSS文件和Flash文件,以及一些图片文件,我们只需要选择相关的复选框,即可进行过滤。
六、查找会话和保存会话
1、当需要快速查找会话时,可以使用Ctrl+F打开查找界面,输入要查找的内容,还可以设置查找结果的呈现颜色,如下图
2、保存会话
有时候我们需要把会话保存下来,发给别人或者留给以后分析,这时候可以点击“File”--“Save”,选择保存所有会话,或者只保存选中的会话。