1. Fiddler 简介

  Fiddler是介于浏览器客户端和服务器之间的端口监听服务。如下图所示:他类似于中间的代理服务器,当使用fiddler时,请求直接发送到fiddler代理网桥,fiddler将请求转发给服务器,同样,服务器的响应也发送给fiddler,fiddler将请求转发给浏览器。对于客户端浏览器,Fiddler 客户端就是是web服务器,对于web服务器,Fiddler模拟web浏览器。在这个过程中,Fiddler截取和记录所有传入的和传出的消息。

  Fiddler sits between HTTP client nd server nd listened on port. s the finger below, it cts s €œmn-in-the-middle€ proxy, when using fiddler, the requests is being sent directly to Fiddler proxy bridge, Fiddler will forwrd the request to rel server, Likewise, the response from server is lso sent to the fiddler, fiddler will forwrd it to the browser. To the client browser, Fiddler clims to be the web server, nd to the web server, Fiddler mimics the web browser. In this process, Fiddler intercepts nd records ll the incoming nd outgoing messges.

功能:

  • 针对特定的请求过滤
  • 分析请求和响应的数据、
  • 设置断点、调试、修改请求的数据,
  • 修改服务器返回的数据

下载地址:https://www.telerik.com/fiddler

注意:在安装过程中可能会要求关闭全部浏览器

2. 首次使用

界面如下:

2.1 检查会话

fiddler界面中显示了捕获到的所有HTTP和HTTPS会话,这些消息包括如下关键信息:

# – An ID# of the request generated by Fiddler for your convenience
Result – The Result code from the HTTP Response
Protocol – The Protocol (HTTP/HTTPS/FTP) used by this session
Host – The hostname of the server to which the request was sent
URL – The path and file requested from the server
Body – The number of bytes in the Response body
Caching – Values from the Response’s Expires or Cache-Control headers
Process – The local Windows Process from which the traffic originated
Content-Type – The Content-Type header from the Response
Custom – A text field you can set via scripting
Comments – A text field you can set from scripting or the session’s context menu

每种类型的项目在左边都有一个自己的图标,下面是所有图标的列表。

2.2 Check Fiddler Inspectors

 Request Inspectors
[RW] Headers Shows request headers and status.
[RW] TextView Shows the request body in a text box.
[RW] HexView ”Shows the request body in a hexadecimal view.
[RO] XML Shows the request body as an XML DOM in a tree view.
Response Inspectors
[RW] Transformer Removes GZip, DEFLATE, and CHUNKED encodings for easier debugging.
[RW] Headers Shows response headers and status.
[RW] TextView Shows the response body in a text box.
[RW] HexView Shows the response body in a hexadecimal view.
[RO] ImageView Shows the response body as an Image. Supports all .NET image formats.
[RO] XML Shows the response body as an XML DOM in a tree view.
[RO] Privacy Explains the P3P statement in the response headers, if present.

2.3 Check sttistics of the request

  • Sttistics--显示所选HTTP会话的性能统计数据
  • Inspectors--
  • utoResponder---自动回复
  • FiddlerScript-------Fiddler 脚本
  • Log-----log日志
  • Filters--过滤器
  • Timeline--时间表
  • Composer 设计改动报文

3.其他

3.1. 抓取https请求

点击 Fiddler->Tools -> Options,在 HTTPS 面板选中。做如下所示操作,并安装(需重启Fiddler生效)。

3.2. 抓取手机请求

如果想要捕获手机上的通信数据,就需要手机连接上Fiddler代理,而Fiddler默认是不允许其他设备进行连接的

a. 首先安装fiddler的电脑,跟手机需在同一局域网内

b. 点击 Fiddler->Tools -> Options,在 Connections 面板选中 Allow remote computers to connect 允许其他设备连接(需重启Fiddler生效)。

c. 手机上配置代理,并安装Fiddler的安装证书

3.3. 需代码处理部分

Rules -> Customize Rules  打开Fiddler ScriptEditor,这里可以通过修改脚本中某些方法( OnBeforeRequest(oSession: Session)),来改变请求报文,或者返回报文中信息

注意:代码调整之后,一定要重启Fiddler重新加载CustomRules.js。

如何解决Fiddler 修改返回内容 OnBeforeResponse 无效的问题?
问题关键点是:必须在OnBeforeResponse前,设置oSession.bBufferResponse = true;
顾名思义,开启了缓存模式来处理返回内容,才能最终反馈到浏览器上,否则,保持原有的流式模式的话,就会出现修改和返回同时进行,浏览器得到的还是原版的数据。
建议在OnPeektResponseHeders中根据需要,设置bBufferResponse 。
添加的代码如下: sttic function OnPeektResponseHeders(oSession: Session) {
if (oSession.uriContins("flow/intercept")){
oSession.bBufferResponse = true; //需要在返回头这里设置buffer处理,否则,后续无法在onBeforeResponse中修改body(修改的动作不会阻塞原来的返回)
}
}

3.4 Fiddler中的Tool

编码小工具TextWizrd,如何使用呢?

1、点击TextWizrd,当鼠标放上去时,有解释:lunch the textwizrd to encode/decode text ,顾名思义:编码/解码文本的

4.参考资料

Fiddler tutoril – How to use Fiddler

Fiddler 学习

接口测试工具--Fiddler 的使用的更多相关文章

  1. 玩转接口测试工具fiddler 教程系列1

    我们在做web测试的时候,很多时候需要查看接口发送的数据返回的数据是否正常,这样可以排除是客户端的问题还是服务器的问题,举个例子来说,如果我们发现页面上面数据少了, 通过fiddler查看数据返回就少 ...

  2. 接口测试工具-fiddler的运用

    本篇主要介绍一下fiddler的基本运用,包括查看接口请求方式,状态响应码,如何进行接口测试等 一.Fiddler的优点 独立的可以直接抓http请求 小巧.功能完善 快捷.启动就行 代理方便 二.什 ...

  3. 接口测试工具-fiddler

    1.fiddler拦截修改数据 命令介绍: bpu在请求开始时中断,bpafter在响应到达时中断,bps在特定http状态码时中断,bpv/bpm在特定请求method时中断. 提示:命令输入区域输 ...

  4. python接口自动化(四)--接口测试工具介绍(详解)

    简介 “工欲善其事必先利其器”,通过前边几篇文章的介绍,大家大致对接口有了进一步的认识.那么接下来让我们看看接口测试的工具有哪些. 目前,市场上有很多支持接口测试的工具.利用工具进行接口测试,能够提供 ...

  5. 接口测试Jmeter+Fiddler组合

    接口测试Jmeter+Fiddler组合 在使用完Jmeter在做接口测试之后,个人感觉Jmeter比loadrunner好用,原因是界面操作更加直观,不必像loadrunner在写接口请求函数的时候 ...

  6. Python接口测试实战1(下)- 接口测试工具的使用

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  7. postman接口测试工具的常规使用

    目录 postman接口测试工具简介与安装 postman发送get请求 JSON数据详解 postman发送post请求 postman中post请求传参说明 postman设置请求的header ...

  8. 接口测试基础--Fiddler、Postman、Python实现对接口的测试

    写在前面:本文主要的章节规划: 1.什么是接口测试    另外,有的时候会直接调用别的公司的接口,比如银行的.淘宝的.支付宝的,此时也需要做接口测试以及验证数据: 做接口测试的好处:      其中, ...

  9. C#进阶系列——WebApi 接口测试工具:WebApiTestClient

    前言:这两天在整WebApi的服务,由于调用方是Android客户端,Android开发人员也不懂C#语法,API里面的接口也不能直接给他们看,没办法,只有整个详细一点的文档呗.由于接口个数有点多,每 ...

随机推荐

  1. [SNOI2019]数论

    题目 考虑对于每一个\(a_i\)计算有多少个\(0<x\leq T-1\)满足\(x\equiv a_i(mod\ P)\)且\(x\ mod\ Q \in B\) 显然\(x=a_i+k\t ...

  2. Vue之组件的使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 弹跳加载动画特效Bouncing loader

    一款非常常用的css 加载动画,这款CSS3 Loading动画主要由几个小球通过规律的上下跳动,渐隐渐显而成,效果十分生动.流畅.兼容IE8以上,尤其适合在移动端中使用,基本代替了图片实现加载的效果 ...

  4. [Java]Java工程师成神之路

    http://blog.csdn.net/sunnyyoona/article/details/50384595

  5. 洛谷——P4932 浏览器

    P4932 浏览器 __stdcall给了你n个点,第i个点有权值x[i],对于两个点u和v,如果x[u] xor x[v]的结果在二进制表示下有奇数个1,那么在u和v之间连接一个Edge,现在__s ...

  6. c++内联函数解析(inline)

    一.基本定义 inline是C++语言中的一个关键字,可以用于程序中定义内联函数,inline的引进使内联函数的定义更加简单.说到内联函数,这里给出比较常见的定义,内联函数是C++中的一种特殊函数,它 ...

  7. set指令详解

    set指令详解 功能说明:设置shell 语 法:set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...] 说 明:设置或取消设置shell选项 ...

  8. python 06 8/28-8/30

    六 函数的返回值,使用return返回数据,可以同时返回多个数据,将会以元组的形式返回到函数的调用处.return 具有返回数据和中止程序的作用! return 后不加任何数据则返回None ,判定为 ...

  9. Python 装饰器 property() 函数

    描述:property() 函数的作用是在新式类中返回属性值. @property 装饰器简单理解就是负责把一个方法变成属性调用 下面理解property()方法语法: class property( ...

  10. reversing.kr replace 之write up

    好似reversing除了前几个容易些,后面的都很难的.看wp都很困难.首先wp提示crtl+n查看程序所有函数,并且找到了测试函数: 补充: GetDlgItemInt函数通过发送控件WM_GETT ...