初识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. [论文阅读] ALM-HCS(高对比场景自适应对数映射)

    [论文阅读] ALM-HCS(高对比场景自适应对数映射) 文章: Adaptive Logarithmic Mapping for Displaying High Contrast Scenes 1. ...

  2. uniapp scroll-view 组件横向滑动失效(ios问题出的最多)

    注意事项(做好以下几点就很难出问题): 一.scroll-view组件必须有固定高度,不可出现高度坍塌或让高度消失等现象;(重中之重) 二.一般问题出的多的就是在nvue环境下去使用的scroll-v ...

  3. RHEL 7 “There are no enabled repos” 的解决方法

    RHEL 7 "There are no enabled repos"  的解决方法 [root@system1 Desktop]# yum install squidLoaded ...

  4. vue中v-show和v-if在显示和隐藏元素上的区别

    v-show将元素隐藏是在dom节点上加style='display:none' v-if是直接将元素完全去掉 拿v-show示例,(v-if 也是一样,把下面的代码中v-show替换成v-if即可运 ...

  5. Redis5.0 配置文件中文参考

    Redis 5.0 配置文件#是否在后台执行,yes:后台运行:no:不是后台运行daemonize yes#是否开启保护模式,默认开启.要是配置里没有指定bind和密码.开启该参数后,redis只会 ...

  6. 解决log4net多进程日志文件被占用

    <log4net debug="true"> <appender name="RollingLogFileAppender" type=&qu ...

  7. restore db fail

    System.Data.SqlClient.SqlError: The operating system returned the error '5(Access is denied.)' while ...

  8. jQuery中的筛选(六):first()、last()、has()、is()、find()、siblings()等

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  9. jQuery中获取属性值:attr()、html()、text()、val()等(一)

    <!DOCTYPE html> <html> <head> <title>01_basic.html</title> <meta na ...

  10. 【C语言】第2章 算法 — 程序的灵魂

    第2章 算法 - 程序的灵魂 一个程序主要包括以下两方面的信息: 对数据的描述.在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式 也就是数据结构(data structure) 对操作的描 ...