Web/HTTP调试利器(Fiddler)

简述

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

  • 简述
  • 介绍
  • 工作原理
  • 同类产品
  • 使用简介
  • 更多参考

介绍

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

Fiddler的官方网站: 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开始,按照页面加载请求顺序递增
Result HTTP响应状态
Protocol 请求使用的协议(HTTP/HTTPS/FTP)
Host 请求地址的域名
URL 请求服务器的路径和文件名,也包括Get参数
Body 请求的大小,以Byte为单位
Caching 请求的缓存过期时间或缓存控制header等值
Content-Type 请求响应的类型
Process 发出此请求的Windows进程及进程ID
Comments 用户通过脚本或右键菜单给此Session添加的备注
Custom 用户可以通过脚本设置的自定义值

4. 详情和数据统计面板:针对每条http请求的具体统计(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)和数据包分析。如inspector面板下,提供headers、textview、hexview、Raw等多种方式查看单条http请求的请求报文的信息。

更多参考

时间: 2024-10-29 08:46:08

Web/HTTP调试利器(Fiddler)的相关文章

js之WEB开发调试利器:Firebug 下载_基础知识

在米随随的Blog看到有关Firebug的介绍,遂下载试用了一下,确实是比较好的工具. 一.效果开发调试利器:Firebug 下载_基础知识-电工基础知识视频下载"> 二.主要功能 Inspect and edit HTML Tweak CSS to perfection Visualize CSS metrics Monitor network activity Debug and profile JavaScript Quickly find errors Explore the DO

开发者必备的程序调试利器,来找到适合你的那一款!

调试是开发过程中必不可少的重要一环.调试工具是那些那些使我们能够监测.控制和纠正其他程序的程序,它们能帮我们快速找到问题的原因,最终达到提高开发效率的目的.本文将针对不同开发者推荐几个较受欢迎的程序调试利器,如果您还有其他更好的选择,欢迎在评论区留言,以供更多开发者学习和讨论. ARM Cortex-M 系列 MCU 错误追踪库 CmBacktrace www.oschina.net/p/cmbacktrace CmBacktrace (Cortex Microcontroller Backtr

jfinal下超爽的freemarker自定义标签,web开发的利器,这分页怎么实现。

问题描述 jfinal下超爽的freemarker自定义标签,web开发的利器,这分页怎么实现. http://my.oschina.net/yongtree/blog/92309?p=2#commentsjfinal下超爽的freemarker自定义标签,web开发的利器,这分页怎么实现. 解决方案 前端自定义啦,后端jfinal就是pagepermate实现

web前端调试时 浏览器报错 type:Status report

问题描述 web前端调试时 浏览器报错 type:Status report 错误是这样的: 具体出现的时机:点击界面中的一个按钮,onClick监听: function exportReport() { var diag = new Dialog(); diag.Width = 540; diag.Height = 350; diag.Title = "导出报表到本地"; diag.URL = ""; diag.InvokeElementId = "ex

分享一个Android和java调用RESTful Web服务的利器Resting

分享一个Android和java调用RESTful Web服务的利器Resting   当我们调用Web服务,往往是最终目标是取HTTP响应,将其转化为将在应用中呈现的值对象.Resting可以用来实现这一功能.Resting,在Java的一个轻量级的REST框架,可用于调用一个RESTful Web服务,并转换成响应来自客户端应用程序定制的Java对象.由于它的简单,resting是适合Android等手持设备.   resting目标•暴露简单的get(),post(),put()和dele

Laravel调试利器Laravel Debugbar使用教程

aravel Debugbar是Laravel的调试利器,有非常漂亮的Debug Bar. 如何使用Laravel Debugbar(github): 1.使用compser引入package composer require barryvdh/laravel-debugbar 2.config/app.php的providers中添加 'Barryvdh\Debugbar\ServiceProvider', 看看Laravel Debugbar收集了哪些信息: QueryCollector 

WEB前端开发利器Postman简介

对于前端开发者而言,最需要的往往不是技术本身,其实技术都没什么难的,而最缺少的则是各种各样好的兵器,比如调试,开发工具等等. 我们这里就推荐一款前端开发的利器-Postman,它是Google Chrome Web Store的一个工具,用来帮助我们测试RESTful API,我们可以为REST call添加任意我们指定的http头,然后模拟REST的调用,并测试结果. 安装: 安装很简单,首先要保证有一个可用的Google Account. (1)打开Google Chrome 浏览器 (2)

Visual Studio Code 支持 iOS Web 应用调试

微软JavaScript Diagnostics项目经理Kenneth Auchenberg在一篇文章中写道,有一个新的Visual Studio Code扩展,允许开发人员直接在他们的Mac和Windows编辑器上调试在iOS设备上运行的JavaScript Web应用和网站. Auchenberg解释说,以前,调试iOS Web应用需要在Mac上运行Safari Web查看器,或者使用一个专用的跨浏览器兼容性检查器,如BrowserStack.新的Visual Studio Code扩展"i

Javascript的调试利器:Firebug使用详解收藏

Javascript的调试,是开发Web应用尤其是AJAX应用很重要的一环,目前对Javascript进行调试的工具很多,我比较喜欢使用的是Firebug.Firebug是Joe Hewitt开发的一套与Firefox集成在一起的功能强大的web开发工具,可以实时编辑.调试和监测任何页面的CSS.HTML和JavaScript. 本文主要是为初学者介绍一下Firebug的基本功能与如何使用Firebug.由于本人水平与能力有限,在文章中的可能会有很多错误与遗漏,希望大家能谅解和指正!   1ã€