【fidder】fidder工具的简单使用
文章目录
- 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、全局断点
【规则—>自动断点】。断点有两种;请求之前断点和响应之后断点
应用场景:
- 篡改请求与响应数据,然后再发送请求,查看界面的展示情况,做一些极端测试
- 断点请求一直不发送到服务端,模拟了一种网络中断的场景
4.1.2、局部断点
命令 | 注释 |
---|---|
bpu + 内容 | 请求前断点(再次输入bpu,取消断点) |
bpafter+ 内容 | 响应后断点(再次输入bpafter,取消断点) |
4.2、弱网测试
模拟网络限速
【规则—>性能—>模拟调制解调器速度】,限制网络速度的值为配置文件默认设置的值;可以通过【规则—>自定义规则】打开配置文件,搜索 Simulate 修改配置。
4.3、https抓包
http代理:火狐浏览器需要手动设置代理,谷歌和IE浏览器中的设置代理
https代理:火狐浏览器,需要fidder先导出证书,然后火狐浏览器导入该证书,fidder才能抓取到火狐浏览器的https请求
4.4、APP抓包
实现抓包手机APP的步骤:
- 设置fidder允许手机远程连接
- 查看电脑ip地址
手机与电脑连接同一个WiFi,能相互ping通
手机浏览器打开http://ip:8888 下载fidder证书并安装
打开手机 系统设置-WLAN,设置手动代理;主机名:电脑ip,端口号:8888
抓包结束记得关闭手机代理和删除证书
4.5、fidder插件
插件网站:https://www.telerik.com/fiddler/add-ons
【fidder】fidder工具的简单使用相关推荐
- 反编译工具jad简单用法
反编译工具jad简单用法 下载地址: [url]http://58.251.57.206/down1?cid=B99584EFA6154A13E5C0B273C3876BD4CC8CE672& ...
- 编程软件python图片-python Plotly绘图工具的简单使用
1.plotly库的相关介绍 1)相关说明 plotly是一个基于javascript的绘图库,plotly绘图种类丰富,效果美观: 易于保存与分享plotly的绘图结果,并且可以与Web无缝集成: ...
- java 下载工具_java_java编写Http服务器下载工具,这个工具比较简单,用于配合 - phpStudy...
java编写Http服务器下载工具 这个工具比较简单,用于配合另外一个工具进行文件传送,废话少说,上代码 import java.net.URL; import java.net.URLConnect ...
- C++ 内存泄漏检测工具valgrind简单使用
C++ 内存泄漏检测工具valgrind简单使用 目录 C++ 内存泄漏检测工具valgrind简单使用 valgrind安装 valgrind测试内存泄漏 valgrind安装 通过软件商店下载: ...
- IDEA中Git及可视化工具TortoiseGit简单使用
Git教程 1. IDEA中git使用 1.1代码拉取 如果需要切换分支,可在项目上右键,Git中选择branches- 在弹出页面中,在远程分支模块中,移动到对应分支上点击checkout即可 1. ...
- 免费的PDF转Word工具(简单易用)
免费的PDF转Word工具(简单易用) 本篇文章,分享一个简单易用的,免费的PDF转Word工具:非常好用,下面是下载链接 下载地址 安装使用教程 下载好之后直接就是一个可以直接运行的程序了(.exe ...
- AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介、安装、使用方法之详细攻略
AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介.安装.使用方法之详细攻略 目录 DeepSpeed Chat的简 ...
- 病毒初识-认知、工具与简单分析
文章目录 病毒初识-认知.工具与简单分析 发展阶段 DOS引导阶段 DOS可执行阶段 伴随型阶段 变形阶段 变种阶段 蠕虫阶段 PE文件病毒 宏病毒阶段 互联网病毒阶段 病毒命名 卡巴斯基(俄罗斯)中 ...
- 截图截屏小工具Snipaste简单易用
截图截屏小工具Snipaste简单易用 百度网盘地址:https://pan.baidu.com/s/195T96Al-plXSxXezTdybqg
- Unity 工具 之 简单 镭射 Laser Ray 交互的封装可交互物体 GameObject 和 UI(结合 Curved UI)基于/可用于眼镜插手机上交互
Unity 工具 之 简单 镭射 Laser
最新文章
- python操作yaml的方法详解
- 【Linux】28_网站服务动态站点
- 7 计算机组成原理第五章 中央处理器 数据通路
- Win11任务栏大小怎么更改
- 易语言下载别人的源码编译出来用不了_我是如何阅读源码的
- 指纹识别 python_Python实现指纹识别你见过没?
- oracle oid 10G
- Linux系统管理员应该知道的20个系统监控工具
- 天玑720可以升级鸿蒙系统吗,华为高管:来岁年初就能用上鸿蒙体系,55部华为产物可升级鸿蒙...
- uniapp:H5页面长按识别二维码
- 如何执行IntelliJ IDEA 中的.sql文件
- 网页版红警的资源加载的实现
- 搞Java的年薪 40W 是什么水平? 1
- Android各版本对应的SDK及JDK版本要求
- 电感和磁珠有哪些区别
- Tiktokshop小店实操-如何快速上传商品,一键采集,自动刊登,批量上货,多店铺铺货
- 研究中学习【方法】 | Heckman二值选择模型
- java连接twitter登录,twitter应用程序只认证java android与twitter4j
- 蓝牙模块芯片型号有哪些?国产还是进口?核心指标有哪些
- 部署ChatGPT(在VPS或免费容器上),无需科学上网!