文章目录

  • 1、初识fidder
    • 1.1、fidder简介
    • 1.2、工作原理
  • 2、理解http协议
    • 2.1、http协议
    • 2.2、http请求报文
      • 2.3.1、请求方法
      • 2.3.2、URL
      • 2.3.3、请求头部
    • 2.3、http响应报文
      • 2.3.1、状态码
      • 2.3.2、响应头
  • 3、fidder工具详解
    • 3.1、工具栏基本使用
    • 3.2、会话列表(session list)
    • 3.3、命令行和状态栏
    • 3.4、辅助工具和标签
      • 3.4.1、Statistic(统计)
      • 3.4.2、Inspectors(检查器)
      • 3.4.3、AutoResponder(自动响应)
      • 3.4.4、Composer(组合器)
      • 3.4.5、Filters(过滤器)
  • 4、应用实战
    • 4.1、断点应用
      • 4.1.1、全局断点
      • 4.1.2、局部断点
    • 4.2、弱网测试
    • 4.3、https抓包
    • 4.4、APP抓包
    • 4.5、fidder插件

1、初识fidder

1.1、fidder简介

fidder是位于客户端和服务端的http代理

主要功能:

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

应用场景:

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

1.2、工作原理

作为系统代理,发送请求或接受响应

fidder设置了默认代理:8888;只要运行fidder,计算机就会使用默认代理服务器,默认代理服务器的http/https协议的端口号为8888

2、理解http协议

2.1、http协议

Hyper Text Transfer Protocol (超文本传输协议),用于从万维网服务器传输超文本到本地浏览器的传送协议。

http协议是基于TCP的应用层协议,他不关心数据传输的细节,主要用来规定客户端和服务端的数据传输格式。

默认端口:80

http是基于请求与响应模式的、无状态的、应用层的协议

2.2、http请求报文

主要由请求行,请求头部、空一行、请求体(可能没有)4部分组成

2.3.1、请求方法

请求方法 备注
get 请求资源
post 提交资源
head 获取响应头
put 替换资源
delete 删除资源
options 允许客户查看服务器的性能
trace 回显服务器收到的请求,用于测试或者诊断

2.3.2、URL

Uniform Resource Locator :统一资源定位符

格式: schema:/ /host[:port#]/path/ …/ [?query-string ]

​ ● scheme:协议,如http, https, ftp等

​ ● host:域名或者IP地址

​ ● port: 端口

​ ● path:资源路径

​ ● query-string:发送的参数

2.3.3、请求头部

请求头可以是任意信息,根据服务器需要进行组合

请求头 描述
Host 主机ip地址或域名
User-Agent 客户端相关信息,如操作系统、浏览器等信息
Accept 指定客户端接收信息类型,如: image/jpg, text/html, application/json
Accept-charset 客户端接受的字符集,如gb2312,iso-8859-1
Accept-Encoding 可接受的内容编码,gzip
Accept-Language 接受的语言,如Accept-Langunge:zh-cn
Authorization 客户瑞提供给服务端,进行权限认证的信息
Cookie 携带的cookie信息
Referer 当前文档的URL,即从哪个链接过来的
Content-Type 请求体内容类型,如Content-Type: application/x www form urlencoded
Content -Length 数据长度
Cache-Control 缓存机制,如Cache-Control:no-cache
Pragma 防止页面被缓存,和Cache-control:no-cache作用一样

2.3、http响应报文

主要由状态行、消息报头、空一行、响应正文 4部分组成

2.3.1、状态码

用以表示网页服务器http响应状态的3位数字代码

状态码 描述
1XX 提示信息,请求被成功接收
2XX 成功,请求被成功处理 200
3XX 重定向相关 304
4XX 客户端错误 404
5XX 服务器端错误 500

2.3.2、响应头

响应头 描述
Server HTTP服务器的软件信息
Date 响应报文的时间
Expires 指定缓存过期时间
Set-Cookie 设置Cookie
Last-Modified 资源最后修改时间
Content-Length 内容长度
Connection 如:Content-Type:text/html;charset=utf-8
Connection 如keep-Alive,表示保持tcp链接不关闭,不回永久保持链接,服务器可设置
Location 指明重定向的位置,新的URL地址,如304的情况

3、fidder工具详解

3.1、工具栏基本使用

3.2、会话列表(session list)

fidder抓取的每条http请求每一条称为一个session

主要包含请求的ID编号、状态码、协议、主机、URL、内容类型、body体大小、进程信息、自定义备注等信息

3.3、命令行和状态栏

QuickExec Reference |fidder经典 (telerik.com)

3.4、辅助工具和标签

3.4.1、Statistic(统计)

会话性能方面信息的统计

3.4.2、Inspectors(检查器)

以不同的格式显示请求与响应的内容供检查

3.4.3、AutoResponder(自动响应)

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

  • 重定向到本地的资源
  • 使用fidder的内置响应
  • 自定义响应

3.4.4、Composer(组合器)

可以用来做简单的接口测试的工具

3.4.5、Filters(过滤器)

根据过滤条件选择在会话列表显示需要的会话

4、应用实战

4.1、断点应用

4.1.1、全局断点

【规则—>自动断点】。断点有两种;请求之前断点和响应之后断点

应用场景:

  1. 篡改请求与响应数据,然后再发送请求,查看界面的展示情况,做一些极端测试
  2. 断点请求一直不发送到服务端,模拟了一种网络中断的场景

4.1.2、局部断点

命令 注释
bpu + 内容 请求前断点(再次输入bpu,取消断点)
bpafter+ 内容 响应后断点(再次输入bpafter,取消断点)

4.2、弱网测试

模拟网络限速

【规则—>性能—>模拟调制解调器速度】,限制网络速度的值为配置文件默认设置的值;可以通过【规则—>自定义规则】打开配置文件,搜索 Simulate 修改配置。

4.3、https抓包

http代理:火狐浏览器需要手动设置代理,谷歌和IE浏览器中的设置代理
https代理:火狐浏览器,需要fidder先导出证书,然后火狐浏览器导入该证书,fidder才能抓取到火狐浏览器的https请求

4.4、APP抓包

实现抓包手机APP的步骤:

  1. 设置fidder允许手机远程连接

  1. 查看电脑ip地址

  1. 手机与电脑连接同一个WiFi,能相互ping通

  2. 手机浏览器打开http://ip:8888 下载fidder证书并安装

  3. 打开手机 系统设置-WLAN,设置手动代理;主机名:电脑ip,端口号:8888

  4. 抓包结束记得关闭手机代理和删除证书

4.5、fidder插件

插件网站:https://www.telerik.com/fiddler/add-ons

【fidder】fidder工具的简单使用相关推荐

  1. 反编译工具jad简单用法

    反编译工具jad简单用法 下载地址: [url]http://58.251.57.206/down1?cid=B99584EFA6154A13E5C0B273C3876BD4CC8CE672& ...

  2. 编程软件python图片-python Plotly绘图工具的简单使用

    1.plotly库的相关介绍 1)相关说明 plotly是一个基于javascript的绘图库,plotly绘图种类丰富,效果美观: 易于保存与分享plotly的绘图结果,并且可以与Web无缝集成: ...

  3. java 下载工具_java_java编写Http服务器下载工具,这个工具比较简单,用于配合 - phpStudy...

    java编写Http服务器下载工具 这个工具比较简单,用于配合另外一个工具进行文件传送,废话少说,上代码 import java.net.URL; import java.net.URLConnect ...

  4. C++ 内存泄漏检测工具valgrind简单使用

    C++ 内存泄漏检测工具valgrind简单使用 目录 C++ 内存泄漏检测工具valgrind简单使用 valgrind安装 valgrind测试内存泄漏 valgrind安装 通过软件商店下载: ...

  5. IDEA中Git及可视化工具TortoiseGit简单使用

    Git教程 1. IDEA中git使用 1.1代码拉取 如果需要切换分支,可在项目上右键,Git中选择branches- 在弹出页面中,在远程分支模块中,移动到对应分支上点击checkout即可 1. ...

  6. 免费的PDF转Word工具(简单易用)

    免费的PDF转Word工具(简单易用) 本篇文章,分享一个简单易用的,免费的PDF转Word工具:非常好用,下面是下载链接 下载地址 安装使用教程 下载好之后直接就是一个可以直接运行的程序了(.exe ...

  7. AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介、安装、使用方法之详细攻略

    AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介.安装.使用方法之详细攻略 目录 DeepSpeed Chat的简 ...

  8. 病毒初识-认知、工具与简单分析

    文章目录 病毒初识-认知.工具与简单分析 发展阶段 DOS引导阶段 DOS可执行阶段 伴随型阶段 变形阶段 变种阶段 蠕虫阶段 PE文件病毒 宏病毒阶段 互联网病毒阶段 病毒命名 卡巴斯基(俄罗斯)中 ...

  9. 截图截屏小工具Snipaste简单易用

    截图截屏小工具Snipaste简单易用 百度网盘地址:https://pan.baidu.com/s/195T96Al-plXSxXezTdybqg

  10. Unity 工具 之 简单 镭射 Laser Ray 交互的封装可交互物体 GameObject 和 UI(结合 Curved UI)基于/可用于眼镜插手机上交互

    Unity 工具 之 简单 镭射 Laser

最新文章

  1. python操作yaml的方法详解
  2. 【Linux】28_网站服务动态站点
  3. 7 计算机组成原理第五章 中央处理器 数据通路
  4. Win11任务栏大小怎么更改
  5. 易语言下载别人的源码编译出来用不了_我是如何阅读源码的
  6. 指纹识别 python_Python实现指纹识别你见过没?
  7. oracle oid 10G
  8. Linux系统管理员应该知道的20个系统监控工具
  9. 天玑720可以升级鸿蒙系统吗,华为高管:来岁年初就能用上鸿蒙体系,55部华为产物可升级鸿蒙...
  10. uniapp:H5页面长按识别二维码
  11. 如何执行IntelliJ IDEA 中的.sql文件
  12. 网页版红警的资源加载的实现
  13. 搞Java的年薪 40W 是什么水平? 1
  14. Android各版本对应的SDK及JDK版本要求
  15. 电感和磁珠有哪些区别
  16. Tiktokshop小店实操-如何快速上传商品,一键采集,自动刊登,批量上货,多店铺铺货
  17. 研究中学习【方法】 | Heckman二值选择模型
  18. java连接twitter登录,twitter应用程序只认证java android与twitter4j
  19. 蓝牙模块芯片型号有哪些?国产还是进口?核心指标有哪些
  20. 部署ChatGPT(在VPS或免费容器上),无需科学上网!

热门文章

  1. 常见css下划线动画集合
  2. egret插件使用案例
  3. Laravel orm 观察者模式理解observe
  4. 回文指的是一个字符串从前面读和从后面读都一样,编写一个算法判断一个字符串是否为回文。
  5. DIY掌上POS机,或许是最小的收银POS机了!
  6. 52个python基础代码,你全都知道吗?
  7. 【QML】分享一个纯QML实现的2048小游戏
  8. SpringSecurity+SpringSocial 实现QQ登入(二)
  9. 西交2021校赛 J题校赛质量
  10. win10创建共享文件夹,需要输入共享文件所有者的账户名和密码才能访问(home版本不能这样操作,因为没有用户管理)