Fiddler 基础教程

作者/糖小幽

Fiddler 基础教程

Fiddle的官方帮助:

http://docs.telerik.com/fiddler/knowledgebase/quickexec

Fiddler官方网站提供了大量的帮助文档和视频教程, 这是学习 Fiddle的最好资料。

Fiddler是最强大最好用的 Web 调试工具之一,它能记录所有客户端和服务器的 http 和https 请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddle包含了一个强大的基于事件脚本的子系统,并且能使用.net 语言进行扩展

你对HTTP 协议越了解, 你就能越掌握 Fiddle的使用方法。你越使用 Fiddler,就越能帮助你了解 HTTP 协议。

Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。

Fiddler 的工作原理

Fiddle是以代理 web 服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的 程序。不过如果 Fiddle非正常退出,

这时候因为 Fiddle没有自动注销,会造成网页无法访问。解决的办法是重新启动下 Fiddler。

同类的其它工具

同类的工具有: httpwatch, firebug, wireshark

Fiddler 如何捕获 x Firefox 的会话

能支持 HTTP 代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制其实就是本机上监听 8888 端口的 HTTP 代理。 Fiddler2 启动的时候默认 IE 的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以将Firefox 的代理改为 127.0.0.1:8888就可以监听数据了。

Firefox 上通过如下步骤设置代理

点击: Tools -> Options,在Options 对话框上点击Advanced tab - > network tab -> setting.

Fiddler 如何捕获 HTTPS 会话

默认下,Fiddle不会捕获 HTTPS 会话,需要你设置下,打开 FiddleTool->Fiddler Options->HTTPS tab

选中 checkbox, 弹出如下的对话框,点击"YES"

点击"Yes" 后,就设置好了。

Fiddler的基本界面

看看 Fiddle 的基本界面

Fiddler的HTTP统计视图

通过陈列出所有的 HTTP通信量,Fiddle可以很容易的向您展示哪些文件生成了您当前请求的页面。使用 Statistics 页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。

选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化

QuickExec 命令行的使用

Fiddler的左下角有一个命令行工具叫做 QuickExec,允许你直接输入命令。

常见得命令有:

help 打开官方的使用页面介绍,所有的命令都会列出来

cls 清屏 (Ctrl+x 也可以清屏)

select 选择会话的命令

?.png 用来选择 png 后缀的图片

bpu 截获 request

Fiddler中设置断点修改Request

Fiddle最强大的功能莫过于设置断点了,设置好断点后,你可以修改 httpRequest 的任何信息包括 host, cookie 或者表单中的数据。设置断点有两种方法:

第一种:打开 Fiddle点击 Rules-> Automatic Breakpoint ->Before Requests(这种方法会中断所有的会话)

如何消除命令呢? 点击 Rules-> Automatic Breakpoint ->Disabled

如何消除命令呢? 在命令行中输入命令 bpu

看个实例,模拟博客园的登录, 在 IE 中打开博客园的登录页面,输入错误的用户名和密码,用 Fiddle中断会话,修改成正确的用户名密码。这样就能成功登录:

3. 输入错误的用户名和密码,点击登录

4. Fiddler能中断这次会话,选择被中断的会话,点击 Inspectors tab 下的 WebForms tab

修改用户名密码,然后点击 Run to Completion 如下图所示。

5. 结果是正确地登录了博客园

作者:脑洞大大的吃货狮子座,喜欢专研技术,勤于总结归纳,用文字结交朋友,擅长与生活相爱相杀,乐于分享的一个技术狂人。

软 件 测 试 君

听 说 看 了 这 个 号 可 以 干 掉 领 导

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180426G1U9JA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券