Web/HTTP 调试利器(Fiddler)

作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员

Fiddler 是一个 http 协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的 http 通讯,设置断点,查看所有的“进出”Fiddler 的数据(指 cookie、html、js、css 等文件,这些都可以让你胡乱修改的意思)。

Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露 http 通讯还提供了一个用户友好的格式。

介绍

Fiddler 是用 C# 写的,它包含一个简单却功能强大的基于 JScript .NET 事件脚本子系统,它是最强大最好用 http 抓包工具之一,灵活性非常棒,可以支持众多的 http 调试任务,能记录客户端和服务器之间的 http/https 请求,可以针对特定的 HTTP 请求,分析请求数据、设置断点、调试 web 应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是 Web 调试的利器。

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

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

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

工作原理

Fiddler 是以代理 Web 服务器的形式工作的。既然是代理,也就是说:客户端的所有请求都要先经过 Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端,基于这个原因,Fiddler 支持所有可以设置 http 代理为 127.0.0.1:8888 的浏览器和应用程序。

使用了 Fiddler 之后,Web 客户端和服务器的请求如下所示:

这里写图片描述

当打开 Fiddler 后,会自动设置代理(Google Chrome为列),退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果 Fiddler 非正常退出,这时候因为 Fiddler 没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

这里写图片描述

启动 Fiddler,我们可以在浏览器中访问此链接:

这里写图片描述

同类产品

  • Firebug
    虽然可以抓包,但是对于分析 HTTP 请求的详细信息,不够强大。模拟 HTTP 请求的功能也不够,且 Firebug 常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存。

  • Wireshark
    是通用的抓包工具,但是比较庞大,对于只需要抓取 HTTP 请求的应用来说,似乎有些大材小用。

  • Httpwatch
    也是比较常用的 HTTP 抓包工具,它能够帮助我们分析浏览器与 Web 服务器之间的交互细节。它不仅能够帮助我们进行 HTTP 问题的故障排错,还能够帮助我们优化 Web 网站的性能。但是只支持 IE 和 firefox 浏览器(其他浏览器可能会有相应的插件),对于想要调试 chrome 浏览器的 Httpwatch 请求,似乎稍显无力,而且它是一款商业软件,而且价格不菲。

  • HttpFox
    可以看作是一个精简版的 HttpWatch,它是 Firefox 的一个插件,免费的,具有 HttpWatch 的一些最常用的基本功能。支持 Firefox,如果需要分析对比不同浏览器处理某些行为的差别,HttpFox 并不能帮到你。

使用简介

Fiddler 主界面的布局如下:

这里写图片描述

主界面主要包括四个常用的模块:

  1. 菜单栏:包括捕获 http 请求,停止捕获请求,保存 http 请求,载入本地 session、设置捕获规则等功能。

  2. 工具栏:包括 Fiddler 针对当前 view 的操作(暂停,清除 session,decode 模式、清除缓存等)。

  3. Web Session 面板:主要是 Fiddler 抓取到的每条 http 请求(每一条称为一个 session),主要包含了请求的 url,协议,状态码,body 等信息。

详细字段含义如下:

字段描述
#HTTP Request 的顺序,从 1 开始,按照页面加载请求顺序递增
ResultHTTP 响应状态
Protocol请求使用的协议(HTTP/HTTPS/FTP)
Host请求地址的域名
URL请求服务器的路径和文件名,也包括 Get 参数
Body请求的大小,以 Byte 为单位
Caching请求的缓存过期时间或缓存控制 header 等值
Content-Type请求响应的类型
Process发出此请求的 Windows 进程及进程 ID
Comments用户通过脚本或右键菜单给此 Session 添加的备注
Custom用户可以通过脚本设置的自定义值
  1. 详情和数据统计面板:针对每条 http 请求的具体统计(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)和数据包分析。如 inspector 面板下,提供 headers、textview、hexview、Raw 等多种方式查看单条 http 请求的请求报文的信息。

更多参考

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Fiddler是一款功能强大的Web代理调试工具,它可以记录和检查所有客户端与服务端的HTTP/HTTPS请求,并提供了多种功能来帮助开发人员和测试人员进行问题定位和分析。以下是关于Fiddler调试工具的介绍和使用方法[^1][^2]: 1. 下载和安装Fiddler:你可以从Fiddler官网(https://www.telerik.com/fiddler)下载最新版本的Fiddler,并按照安装向导进行安装。 2. 启动Fiddler:安装完成后,双击桌面上的Fiddler图标来启动Fiddler。 3. 配置浏览器代理:对于IE浏览器,不需要额外配置就可以使用Fiddler。而对于Firefox浏览器,需要手动设置HTTP代理才能正常使用Fiddler。具体配置方式如下: - 打开Firefox浏览器,点击菜单按钮(三条横线图标)。 - 选择“选项”。 - 在“常规”选项卡下,向下滚动到“网络代理”部分。 - 点击“设置”按钮。 - 在弹出的对话框中,选择“手动代理配置”。 - 在“HTTP代理”和“SSL代理”字段中,输入Fiddler的监听地址和端口(默认为127.0.0.1:8888)。 - 点击“确定”保存设置。 4. 使用Fiddler进行调试:启动Fiddler后,它会自动开始监听HTTP/HTTPS请求。你可以通过以下方式使用Fiddler进行调试: - 查看请求和响应:Fiddler会显示所有的HTTP/HTTPS请求和响应,你可以在“会话列表”中查看详细信息。 - 设置断点:你可以在Fiddler中设置断点,以便在特定的请求或响应上暂停调试。 - 修改请求和响应:Fiddler允许你修改请求和响应的数据,以便进行测试和调试。 - 修改hosts:你可以使用Fiddler修改hosts文件,以便将域名解析到指定的IP地址。 - 限制网速:Fiddler可以模拟不同的网络速度,以便测试网站在不同网络条件下的性能。 - 进行接口测试:你可以使用Fiddler发送自定义的HTTP请求,以便测试接口的功能和性能。 - 辅助自动化测试:Fiddler提供了API和脚本功能,可以与其他工具和脚本集成,实现自动化测试。 以上是关于Fiddler调试工具的介绍和使用方法。如果你有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一去丶二三里

有收获,再打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值