周末在网上找了些fiddler相关的资料来看,学习下如何使用这个工具(平时接口测试用得比较多,在没有接口文档的情况下,可以通过抓包工具来提取需要测试的接口,ps.好久没写博客了,争取5月结束前再写2篇。)

fiddler页面布局

左侧:展示的是所有会话;
右上:某一个会话的具体请求信息(Requests);
右下:服务器返回的响应信息(Response)
其中Requests部分各个tab的含义如下:

  • Statistics:翻译过来是统计,展示的是某个HTTP请求的性能及数据分析
  • Inspectors:翻译过来是检查,在这里可以查看会话的内容,其中上半部分是请求内容,下半部分是响应内容
  • AutoResponder:允许拦截指定规则的请求,并返回本地资源或fiddler资源,从而代替服务器响应
  • Composer:可以在这里自定义请求发送给服务器(可以手动创建一个新请求,也可以在会话列表中拖拽一个现有会话)
  • Filters:请求过滤规则
  • Timelines:请求响应时间

1.自定义左侧会话列表的表头

会话列表中展示每个请求的一些基本信息,如响应状态码、请求协议、请求ip地址等,也可以自定义加上其他信息,如请求方法,步骤如下:

  1. 鼠标移动到会话列表的任意一列的表头,然后右键弹出一个列表;
  2. 选择弹窗中最后一行,单击,继续弹出一个浮动窗;
  3. 点击Collection下拉框,选择“miscellaneous”,然后在Field Name下拉框中选择你需要的信息,如RequestMethod,最后点击【Add】按钮即可

2.Filters过滤器

可以通过Filters排除掉不需要的请求,只筛选目标服务器的请求。如下图所示

3.通过一个实际请求,看下如何在Inspectors中提取需要的信息

首先在页面填写一个表单,提交成功后,fiddler抓到一个post请求,如下

可以在请求信息框的WebForms菜单中查看请求携带的data参数(无花括号包裹);
请求的原始信息在Raw菜单中查看,如下

如果请求参数或响应是json格式(被花括号包裹),则点开JSON菜单可以看到json格式的内容

4.利用Composer模拟发送请求

(1)切换到Composer菜单后,可以把左侧会话框中的一个请求直接拖到右侧,然后可以看到这条请求的一些信息,如请求方法,请求url,请求头以及请求体(请求参数),然后点击【Execute】即可执行这条请求,执行成功后左侧会话框可以看到新增一条会话。

(2)可以手动输入请求url、请求头、请求体等信息,不过需要注意的是:只有post请求的请求参数才要填写在Request Body处,get请求可以直接连同headers填在上面输入框

5.打断点

通过断点调试,可以修改http请求信息,如请求参数、cookies,fiddler有2种形式的断点,一是修改request,一是修改response
(1)before requests请求前断点
假如前端限制了某个字段的输入范围,就可以利用fiddler设置请求前断点,修改请求参数后,再发送这个请求(绕过前端限制)。


取消断点

(2)After Response 响应后断点
修改响应数据,这个断点我不怎么用,这里不写了。。。

5.常用快捷键

最常用的就是:Ctrl+X 清除所有会话,其他暂时没用到,后面用到再加进来

fiddler学习笔记&&基本使用的更多相关文章

  1. 【思维导图】Fiddler学习笔记

    最近在学习Fiddler这款工具,边学边画了如下的思维导图,可以方便自己对这款工具有一个全面的了解. 软件介绍(摘自百度百科):Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电 ...

  2. Fiddler学习笔记

    1. [HTTP]Fiddler(一) - Fiddler简介 Fiddler使用代理(127.0.0.1:8888), 打开Fiddler会自动设置该代理. 2.[HTTP]Fiddler(二) - ...

  3. fiddler学习笔记2 字段说明;移动设备、解密证书

    # :           抓取顺序从1开始递增 result:    http 请求状态 protocol:   请求使用的协议如:http https ftp Host:         请求地址 ...

  4. fiddler 学习笔记1-下载安装、开启、关闭抓包功能

    1 下载安装(安装于C盘之外的空间中) https://www.telerik.com/fiddler 2 开启抓包功能:安装后默认为开启状态 点击 file-capture 或左下角capture ...

  5. Fiddler 学习笔记---命令、断点

    输入命令框: 1 输入 ?51testing  高亮显示对应记录 2 >10 选择body大于10的记录 3 <10 选择body<10的记录 4 =200 选择result=200 ...

  6. HTTP学习笔记02-HTTP报文格式之概述

    HTTP学习笔记02-HTTP报文格式之概述 HTTP学习笔记02-HTTP报文格式之概述 HTTP报文格式 报文的语法 起始行 首部 实体部分 学习一个协议感觉最有意思的就是看包结构…在我看来这是唯 ...

  7. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  8. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  9. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

随机推荐

  1. Java1的内容(学期总结)

  2. 搭建ldap服务器及web管理服务--phpldapadmin

    系统版本:centos6 安装配置openldap: yum install openldap openldap-servers openldap-clients openldap-devel com ...

  3. uoj 300 [CTSC2017]吉夫特 - Lucas - 分块 - 动态规划

    题目传送门 戳此处转移 题目大意 给定一个长为$n$的序列,问它有多少个长度大于等于2的子序列$b_{1}, b_{2}, \cdots, b_{k}$满足$\prod_{i = 2}^{k}C_{b ...

  4. 【Python019--函数与过程】

    一.函数与过程 1.Python只有函数没有过程 >>> def hello():    print('Hello  fishC!')>>> temp = hell ...

  5. JDK8新特性:使用Optional避免null导致的NullPointerException

    空指针异常是导致Java应用程序失败的最常见原因.以前,为了解决空指针异常,Google公司著名的Guava项目引入了Optional类,Guava通过使用检查空值的方式来防止代码污染,它鼓励程序员写 ...

  6. ODAC(V9.5.15) 学习笔记(八)TOraScript

    名称 类型 说明 DataSet 如果脚本中返回了数据结果,则通过该数据集进行获取 Delimiter string 脚本语句之间的分隔符 EndLine Integer 脚本中最后一行的行号 End ...

  7. Yum自动下载RPM包及其所有依赖的包

    前几天我尝试去创建一个仅包含我们经常在 CentOS 7 下使用的软件的本地仓库.当然,我们可以使用 curl 或者 wget 下载任何软件包,然而这些命令并不能下载要求的依赖软件包.你必须去花一些时 ...

  8. loj SDOI2017数字表格

    目录 太才了 注意,错误 代码 太才了 \(\prod \limits_{i=1}^{n}\prod\limits_{j=1}^{m}f[gcd(i,j)]\) \(\prod\limits_{k=1 ...

  9. Match function in R

    Examples:     print(match(5, c(1,2,9,5,3,6,7,4,5)))[1] 4     5 %in% c(1,2,9,5,3,6,7,4,5)[1] TRUE    ...

  10. 题解——loj6281 数列分块入门5 (分块)

    分块 若块内最大值为0或1,则不用再开方 然后暴力修改 可以证明,如果开方后向下取整,则最多开方4次一个数就会变成0或1 #include <cstdio> #include <cm ...