初识Fiddler

fiddler,译为骗子

是位于客户端、服务器端的HTTP代理,是Web调试的利器。

是c#编写的程序

Fiddler主要功能:

  • 监控http、https流量
  • 查看、分析请求内容细节
  • 伪造客户端请求和服务器响应
  • 简单测试网站的性能
  • 解密https的web会话
  • 全局、局部断点功能
  • 可使用第三方插件

Fiddler使用场景:

  • 接口调试
  • 接口测试
  • 线上环境调试
  • web性能分析
  • 判断前后端bug
  • 开发环境hosts配置
  • mock
  • 弱网、断网测试

要使用好Fiddler,需要熟悉http协议相关知识,Fiddler与http是相辅相成的关系。

BS架构

HTTP协议

请求报文

请求行

请求方法

统一资源定位符url,用于描述网上的资源

http协议版本,一般是1.1

请求头

可以是任意内容,又开发自定义,了解常见的请求头

空一行

请求体

不一定会有,get请求是没有请求体

响应报文

响应行

响应头

可由开发自定义

空一行

响应体

文本、xml、html

fiddler菜单栏

File

导入导出会话

Edit

编辑

Rules

过滤会话

Tools

View

视图

Help

帮助

fiddler工具条

备注

重放replay

r

shift+r

删除会话

delete

移除请求

ctrl+x

go 断点

让请求在某个地方停下来

全局断点

请求前断点,在发送到服务器前暂停

流模式

相对于缓冲模式而言,缓冲模式是全部数据回来后,fiddler再返回给客户端,流模式是回来多少返回多少

默认是缓冲模式

解码decode

对所有请求解码

保持会话数量 keep session

会话是会占用内存

选择监听程序 any process

选择监听应用

查找 find

ctrl+f

如快速查找会话中出现的字段,快速定位请求

保存 save

保存所有会话

截图

计时器

browse

快捷打开浏览器

清除缓存 clear cache

文本编码、解码 textwizard

tearoff

分离面板

MSDN

微软开发者网站搜索

online

展示本机的一些信息

fiddler会话列表(监控面版)

展示http的每一条会话

result,响应状态码

protocal

host

url

body,请求体大小

caching

content-type

process,进程

comments

custom

添加列

如fiddler添加ip列

修改配置文件,之后重启

排序

fiddler命令行、状态栏

quickexec

通过命令实现一些功能

如bpu

输入help,可以跳转:https://docs.telerik.com/fiddler/knowledgebase/quickexec

快速停止捕获

快速选择进程

快速断点

fiddler辅助标签、工具

统计性能信息 statistics

前端人员可以看这些数据分析

检查器 inspectors

以不同形式展示请求报文、响应报文,分类展示请求报文、响应报文

自动响应器 autoresponder



选中或者直接拖动

可用于拦截某一请求,进行如下操作:

  • 重定向到本地资源

  • 使用fiddler内置响应

  • 自定义响应

如生产环境除了问题,不能够直接在生产环境进行调试,重定向到本地

进行钓鱼操作

可以做mock,如测试的接口还没有完全开发好,可以模拟返回响应



可以进行极端测试,如查询接口没有数据返回,看页面怎么展示,或者返回大量数据

可以做接口调试

composer 设计请求报文



抓包后,直接拖动过来

可以用来发包,如可以绕过前端控制测试后端接口,如前端控制手机号码不能输入格式不对的号码,直接修改请求报文发包测试,看后端是不是校验了

log

日志

过滤器 fiters

多维度组合过滤,过滤出我想要的内容

  • hosts主机的过滤

    如指定抓取网站

  • client process过滤 客户端进程、

  • request headers过滤

  • breakpoint过滤

  • 根据响应码过滤

  • 根据响应报文内容的类型、大小过滤

  • 根据响应报文头进行过滤

断点

全局断点

对所有的请求都有用

请求前断点,修改请求报文后发给服务器

响应后断点,修改响应报文后返回给客户端。可以不用修改数据库的中的数据,做一些极端测试,如数据库有数据,你先模拟返回没有一条数据。可以模拟网络中断的情形,测试客户端的超时机制

局部断点

通过命令实现

bpu 请求前断点

bpafter 响应后断点

弱网测试



可以在配置文件中修改时间,修改后重启fiddler,再启用弱网

https抓包

安装证书

这是提示了自动响应设置没有设置好

重启浏览器

chrome、ie是读取系统代理

firefox浏览器

firefox浏览器是自己管理代理,需要人工设置

firefox浏览器手工导入证书,才能抓取https的包

导入证书,之后重启浏览器

app抓包

抓取ios设备app的包

手机抓取http包,需要安装证书。但是即使按照了证书,不一定能抓到包,因为手机系统和app的各种限制,可能也抓不到包。

抓取android设备app的包

手机抓取http包,需要安装证书。但是即使按照了证书,不一定能抓到包,因为手机系统和app的各种限制,可能也抓不到包。

fiddler插件

willow插件

以项目方式管理host规则

练习环境:http://test.lemonban.com/ningmengban/app/login/login.html

Fiddler抓包工具-全网最全教程,没有之一的更多相关文章

  1. Python+Requests接口测试教程(1):Fiddler抓包工具

    本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测 ...

  2. Python3,x:Fiddler抓包工具如何进行手机APP的数据爬取

    示例一:苹果手机抓取教程 https://www.cnblogs.com/lizm166/p/8693085.html https://blog.csdn.net/cui130/article/det ...

  3. Charles是Mac的Fiddler抓包工具

    windows下面我们经常使用 Fiddler 抓包工具进行代理等一系列操作.然而,在 Mac 下的 Fiddler 勉强能运行,但是其挫的都不想说它了.今天看到朋友推荐这款 Charles Mac下 ...

  4. Mac 下安装Fiddler抓包工具

    需求 我们都知道在Mac电脑下面有一个非常好的抓包工具:Charles.但是这个只能抓代理的数据包.但是有时候想要调试本地网卡的数据库 Charles 就没办法了.就想到了在windows下面的一个F ...

  5. Fiddler抓取https请求 & Fiddler抓包工具常用功能详解

    Fiddler抓取https请求 & Fiddler抓包工具常用功能详解   先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...

  6. fiddler抓包工具总结

    Fiddler 抓包工具总结 Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获.重发.编辑.转存等操作.也可以用来检测网络安全.反正好处多多,举之不尽呀!当年学习的时候也 ...

  7. 移动端测试接口--Fiddler抓包工具

    Fiddler抓包工具是一款免费且功能强大的数据包抓取软件.它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的http请求,支持监视.设置断 ...

  8. 【前端开发】利用Fiddler抓包工具进行本地调试

    解决什么问题: 解决前端在本地联调页面 || 样式 || 脚本时经常修改服务器代码,浪费太多时间. 避免多人同时修改代码产生冲突问题.可以在本地调完代码之后,再贴到服务器上. 其实这个问题老早就开始想 ...

  9. Fiddler 抓包工具总结-bpafter

    转摘https://www.cnblogs.com/shy1766IT/p/5199334.html Fiddler 抓包工具总结   名称 含义 # 抓取HTTP Request的顺序,从1开始,以 ...

随机推荐

  1. zookeeper同一台服务器创建伪集群

    下载zk wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7 ...

  2. javascript html 鼠标放大镜效果

    1.鼠标放大镜效果 鼠标放大镜效果,将鼠标移入到左图片,则可以在其右边看到放大的图片,且鼠标移动滑块的大小即为右图显示图片.实际效果如下图所示:   <!DOCTYPE html> < ...

  3. Dos 获取网络的命令

    Netsh mbn 命令 https://docs.microsoft.com/zh-cn/windows-server/networking/technologies/netsh/netsh-mbn ...

  4. C#基础知识---动态为类型添加属性

    一.概述 通常情况下,我们是事先在类型中定义好属性的,但有时候,我们需要动态为一个类型添加某些属性,这个时候,我们就需要使用DynamicObject类型了. 二.Demo using System; ...

  5. C#多线程---Mutex类实现线程同步

    一.例子 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 ...

  6. CSS中定位问题

    通过使用 position 属性,我们可以选择 4 种不同类型的定位,这会影响元素框生成的方式. position 属性值的含义: static 元素框正常生成.块级元素生成一个矩形框,作为文档流的一 ...

  7. Struts2与Hibernate整合

    时间:2017-1-26 02:00 1.创建一个Web项目2.导入jar包    3.引入配置文件    struts.xml    hibernate.cfg.xml    log4j.prope ...

  8. Lyndon 相关的炫酷字符串科技

    浅谈从 Lyndon Words 到 Three Squares Lemma By zghtyarecrenj 本文包括:Lyndon Words & Significant Suffixes ...

  9. 微信小程序学习笔记四 页面的生命周期

    1. 生命周期 1.1 对应阶段说明 onLOad(Object query) 1.1 页面加载时触发, 一个页面只会调用一次, 可以在 onLoad的参数中获取打开当前页面路径中的参数 1.2 参数 ...

  10. Spring Data JPA:解析CriteriaQuery

    CriteriaQuery 源码定义 CriteriaQuery定义在包路径javax.persistence.criteria下,其定义如下: /** * The <code>Crite ...