目录

1.Fiddler 简介及工作原理

1.1 Fiddler 简介

1.2 Fiddler 工作原理

1.3 不同浏览器 Fiddler代理服务器设置

1.3.1 IE浏览器

1.3.2 Chrome 浏览器

1.3.3 Firefox 浏览器

2.Fiddler 界面简介(V5.0)

2.1 Fiddler 菜单栏

2.1.1 Capture Traffic 功能

2.2 Fiddler 工具栏

2.2.1 Remove Session

2.2.2 Decode功能

2.3 Session面板

2.3.1 Session面板字段解析

2.3.2 #列图标解析

2.4 Filters 过滤页签

2.4.1 Host过滤指定域名

2.5 Inspectors 检查页签

2.6 Statistics统计页签

2.7 AutoResponse自动响应页签

2.7.1 AutoResponse 使用内置响应 操作步骤

2.7.2 多种url匹配方式

2.8 Composer构建页签

2.9 Timeline时间轴页签

2.10 log日志页签


1.Fiddler 简介及工作原理

1.1 Fiddler 简介

Fiddler是位于客户端和服务器端之间的HTTP代理,也是目前最常用的抓包工具之一 。它能够记录客户端和服务器之间的所有 请求,可以针对特定的请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。

1.2 Fiddler 工作原理

Fiddler的原理是以web代理服务器的形式进行工作的,代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客户端。

如图所示:

使用的代理地址:127.0.0.1,端口:8888。

1.3 不同浏览器 Fiddler代理服务器设置

1)启用Fiddler后,系统代理设置会自动开启,地址更新成127.0.0.1:8888,如下图所示:

2)若启用Fiddler后,系统代理设置意外/人为关闭,页面会给出提示,点击后会自动开启。提示如图所示:

3)若在开启Fiddler之后没有设置相应的代理,则Fiddler是无法捕获到HTTP请求。

4)当Fiddler退出的时候系统代理设置会自动关闭, 这样就不会影响别的程序。如果Fiddler非正常退出,会造成网页无法访问。因为此种情况Fiddler没有自动注销,重新启动下Fiddler即可。

1.3.1 IE浏览器

IE代理服务器使用系统代理设置。若使用IE浏览器进行测试时,启用Fiddler后,代理会自动开启,地址更新成127.0.0.1:8888,参考系统代理设置截图。

1.3.2 Chrome 浏览器

Chrome代理服务器使用系统代理设置。若使用Chrome浏览器进行测试时,启用Fiddler后,代理会自动开启,地址更新成127.0.0.1:8888,参考系统代理设置截图。

1.3.3 Firefox 浏览器

若使用Firefox浏览器进行测试时,启用Fiddler前,需要配置代理服务器。可选择使用系统代理设置,启用Fiddler后,系统代理自动开启;也可选择手动代理配置。

路径:打开菜单->选项->常规->网络设置->设置

1) 使用系统代理设置,如图所示

2) 使用手动代理配置

2.Fiddler 界面简介(V5.0)

2.1 Fiddler 菜单栏

Fiddler的菜单栏,包括捕获请求/停止捕获请求、保存Session,导入/导出Session、清除Session、标记Session、设置捕获规则等功能。

2.1.1 Capture Traffic 功能

使用Fiddler进行抓包前,首先需要确保Capture Traffic是开启状态(安装后是默认开启的),路径:File->Capture Traffic;也可以直接点击Fiddler界面左下角的图标Capturing 开启和关闭。

2.2 Fiddler 工具栏

Fiddler 工具栏,包括Fiddler针对当前view的操作,如选择某Session重新执行(Replay),清除Session(可根据类型筛选),Decode、清除缓存等。

2.2.1 Remove Session

x:Remove Session 可根据类型筛选,主要包括:Remove all、Images、CONNECTs、Non-200s、Non-Broweser、Complete& Unmarked、Duplicate response bodies

2.2.2 Decode功能

Decode:主要用于Response乱码时的处理。有时当看到Response Body是乱码时, 被压缩了, 通过Decode可以自动解压缩,显示正常。

如图所示,

① 直接点击工具栏中的"Decode";

② 点击提示“Response body is encouded.Click to decode.”

2.3 Session面板

Session面板,主要是Fiddler抓取到的Http请求,主要包含了Result 、Protocol、HOST、URL、BODY、Content-Type等信息,如图所示:

2.3.1 Session面板字段解析

# :HTTP Request的顺序,从1开始,按照页面加载请求的顺序递增。

Result : HTTP 状态码

Protocol:请求使用的协议(如HTTP/HTTPS)

Host:请求地址的域名/ip

URL:请求的服务器路径和文件名,也包含GET参数

Body:请求的大小,以byte为单位

Content-Type:请求响应的类型

Caching:请求的缓存过期时间或缓存控制header的值

Process:发出此请求的Windows进程及进程ID

Comments :用户通过脚本或者菜单给此session增加的备注

Custom:用户可以通过脚本设置的自定义值

2.3.2 #列图标解析

2.4 Filters 过滤页签

Filters功能,主要用于过滤Sessions。

2.4.1 Host过滤指定域名

在Filers面板中勾选“Use Filters”,并在Hosts区域,设置以下三个选项:

1)第一项有三个选项,分别是:

“No zone filter”“Show Only Intranet Hosts”“Show Only Internet Hosts”,不做更改;

2)第二项有四个选项,分别是:

No Host Filter:不设置hosts过滤

Hide The Following Hosts:隐藏过滤到的域名

Show Only The Following Hosts:只显示过滤到的域名

Flag The Following Hosts:标记过滤到的域名

选择“Show Only The Following Hosts”,在文本框内输入需要过滤的域名,多个域名使用“;”分割。Fiddler默认会筛选设置的Host,只显示设置中的Sessions。

以qa.macmall.com为例,如图所示:

2.5 Inspectors 检查页签

inspectors :分为上下两个部分,上半部分是请求头部分,下半部分是响应头部分。对于每一部分,提供了Headers、Textview、Hexview、Raw、JSON等多种不同格式查看请求和响应的内容。

JPG 格式使用 ImageView 可以看到图片。

HTML/JS/CSS 使用 TextView 可以看到响应的内容。

Raw标签可以查看原始的符合HTTP标准的请求和响应头。

Auth则可以查看授权Proxy-Authorization 和 Authorization的相关信息。

2.6 Statistics统计页签

关于HTTP请求的性能和其他数据分析,如图所示:

通过该页签, 用户可以通过选择多个Session来得来这几个Session总的信息统计,比如多个请求和传输的字节数。

2.7 AutoResponse自动响应页签

Fiddler比较重要且比较强大的功能之一。

可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应。

可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文件或者是Fiddler的内置响应。

如果要调试服务器的某个脚本文件,可以将该脚本拦截到本地,在本地修改完脚本之后,再修改服务器端的内容,这可以保证尽量在真实的环境下去调试,从而最大限度的减少bug发生的可能性。

2.7.1 AutoResponse 使用内置响应 操作步骤

步骤1:勾选Enable rules

步骤2:Add Rule

步骤3:RUle Editor 并Save

步骤4:在浏览器中访问http://qa.macmall.com/order/manual-order/v2/pre-submit,得到的结果即为设置的内置响应:

2.7.2 多种url匹配方式

1. 字符匹配

如 macmal可以匹配http://qa.macmall.com/和https://qa.macmall.com/

2. 完全匹配

以EXACT开头表示完全匹配,如:

EXACT:http://qa.macmall.com/order/operation/manual-receipt

3. 正则表达式匹配

以regex: 开头,使用正则表达式来匹配URL

如:regex:(?insx).*\.(css|js|PHP)$  表示匹配所有以css,js,php结尾的请求url

2.8 Composer构建页签

1.支持手动构建和发送HTTP, HTTPS和FTP请求。

2.支持从Session列表中拖曳Session,放到Composer选项卡中, 然后点击Execute按钮, 把请求发送到服务器端。操作如下图所示:

步骤1:拖拽Session

步骤2:Execute操作(每点击一次,请求一次)

3.支持修改请求头等信息,如添加常用的accept, host, referrer, cookie,cache-control等头部,然后Execute。

2.9 Timeline时间轴页签

Timeline时间轴,也称为Fiddler的瀑布图,展示网络请求时间的功能。

每个网络请求都会经历域名解析、建立连接、发送请求、接受数据等阶段。把多个请求以时间作为 X 轴, 用图表的形式展现出来, 就形成了瀑布图。

在左侧会话窗口点击一个或多个,Timeline 便会显示指定内容从服务端传输到客户端的时间。如图所示:

2.10 log日志页签

打印日志功能。

Fiddler 工作原理及界面简介相关推荐

  1. 计算机CPU工作原理及汇编语言简介

    计算机CPU工作原理及汇编语言简介(链接)        从微信公众号把原文直接复制过来,发现图片.表格经常丢失,只有纯文字,所以建议直接点击上述链接阅读. 复制过来的纯文字内容如下(图片.表格丢失, ...

  2. 看懂相控阵雷达工作原理及类型简介

    我们知道,蜻蜓的每只眼睛由许许多多个小眼组成,每个小眼都能成完整的像,这样就使得蜻蜓所看到的范围要比人眼大得多.与此类似,相控阵雷达的天线阵面也由许多个辐射单元和接收单元(称为阵元)组成,单元数目和雷 ...

  3. Eureka工作原理(Eureka简介Eureka ServerEureka Client自我保护机制分布式系统中的CAP理论Eureka 工作流程)

    一.Eureka简介 Eureka Server(注册中心,相当于zookeeper) Eureka Client: Provider Consumer 多个Eureka就叫集群.集群之间会定时通过r ...

  4. 2、Fiddler工作原理

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

  5. 笔记本电源适配器的工作原理及其类型简介

    随着笔记本产品和功能的多样化,其运行功率也相应的提高,这对 笔记本电源适配器(也就是笔记本电脑的充电器)提出了更高的要求.据调查85%的笔记本使用者喜欢轻巧小型,能立刻存电使用并不产生热量的笔记本电源 ...

  6. 笔记:摄像头工作原理和色彩空间简介

    摄像头的基本工作原理: 景物通过镜头(LENS)生成的光学图像投射到图像传感器表面上,然后转换为电信号,经过A/D(模拟信号)转换后为数字图像信号,再送到数字图像处理器(DSP)中加工,就可以在显示器 ...

  7. Fiddler 工作原理和使用

    1.Fiddler 是在客户端和服务端之间建立的的 HTTP 代理服务器,能够监听客 户端发出的请求和服务端返回的响应结果. 2.图解: 2.1.在客户端和服务器之间,建立了一个HTTP代理服务器. ...

  8. fiddler工作原理

    个人理解:fiddler是一个抓包工具,当浏览器访问服务器会形成一个请求,此时,fiddler就处于请求之间,当浏览器发送请求会先经过fiddler,然后再到服务器,当服务器有数据返回浏览器时也会经过 ...

  9. P4语言的特性、P4语言和P4交换机的工作原理和流程简介

    现有的SDN解决方案将控制平面与转发平面分离,并为我们提供了控制平面的可编程能力.而事实上,目前通过软件编程实现的控制平面的功能,在传统的高级交换机和路由器上也都能实现,差别是厂商把这些功能固化在了系 ...

最新文章

  1. MongoDB给数据库创建用户
  2. 关于Webview带参访问服务器
  3. 批量打印html文档,web页面的单页打印以及批量打印实现方法
  4. Linux的复制命令的路径写法
  5. 【图文详解】JAVA中的转义字符
  6. WinSock I/O 模型 -- Select 模型
  7. 【英语学习】【WOTD】litmus test 释义/词源/示例
  8. c6011取消对null指针的引用_COM编程攻略(二十二 IDL中的枚举,指针,数组)
  9. 单片机模拟计算机课设,单片机课程设计题目汇总(全)
  10. matlab遗传算法拟合,基于遗传算法的数据拟合在MATLAB环境中的实现
  11. OpenCV-人脸识别
  12. LM393 电压比较器及其典型电路介绍
  13. IE 浏览器旧版本下载
  14. python面板数据分析代码_【译】用python做计量之面板数据模型
  15. IT杂谈(一):炫酷好玩网站汇总
  16. 金融贷超、贷款行业防止撸贷方案分析
  17. 量子计算机与新南威尔士大学,新南威尔士大学声称量子计算的准确性
  18. 实施经理的工具箱--走出软件作坊:三五个人十来条枪 如何成为开发正规军(五)
  19. nRF24L01+组网方式及防撞(防冲突)机制的实战分享
  20. C语言 用字符串打印ASCII码值

热门文章

  1. 如何才是有效的、正确的工作方式?
  2. Rust 优劣势: v.s. C++ / v.s. Go(持续更新)
  3. [树状数组]数星星 Stars
  4. STM32F103ZE基本定时器笔记
  5. STM32F103ZE(ADC模数转换)光照以及空气质量数据获取
  6. js 清除已运行的定时器clearTimeout() 和clearInterval()
  7. 使用git提交代码到github仓库
  8. C语言结构体(struct)最全的讲解(万字干货)
  9. java sortable_拖放排序插件Sortable.js
  10. 【组织架构】中国铁路南昌局集团有限公司