抓包工具fiddler的基础知识

简介

fiddler是位于客户端和服务端之间的http代理

1、作用

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

2、使用场景

  • 接口调试、接口测试、线上环境调试、web性能分析

  • 判断全后端bug、开发环境hosts配置、mock、弱网断网测试使用

3、http报文分析

3.1、请求报文

http请求报文由3部分组成:请求行、请求头、请求体

进一步分解,得到一幅更详细的结构图

经fiddler实际抓包分析如下:

由于get请求的参数拼接到URL中,所有get请求的请求体中没有参数

3.2、响应报文

http请求的响应报文也由三部分组成:响应行、响应头、响应体

进一步分解,得到一幅更详细的结构图

经fiddler实际抓包分析如下:

常见的状态码

状态码 状态消息 含义
200 Success 成功
301 Moved Permanently 永久跳转
302 Moved Temporarily 临时跳转
403 Forbidden(禁止) 请求被服务器拒绝了(权限不足)
404 Not Found(未找到) 未找到资源
500 Internel server error 服务器内部错误
502 Bad Gateway 服务器网关错误
504 Gateway Timeout 服务器网关超时

4、介绍fiddler界面功能

名称 作用
Headers
TextView 以文本形式查看 请求/响应 体
SyntaxView 以语法形式查看 请求/响应 体
WebForms 以表单形式查看 请求/响应 体
HexView 以十六进制形式查看 请求/响应 体
Auth 查看请求是否有授权信息
Raw Http协议包格式查看 请求/响应 体
Json 以json形式查看 请求/响应 体
XML 以xml形式查看 请求/响应 体
ImageView 以图片形式查看响应体
WebView 以网页形式查看响应体(预览)
4.1、AutoResponder(自动响应器)
4.1.1、作用

AutoResponder可用于拦截某一请求,进行如下操作(即mock操作):

  • 重定向到本地的资源
  • 使用fiddler的内置响应
  • 自定义响应
4.2.2、操作
4.2、Composer(设计请求)
4.1.1、作用

该功能的作用是自己写一个请求(包括请求行、请求头、请求体),发送给服务器

4.1.2、操作
4.3、断点
4.3.1、全局断点

该断点会影响所有的请求或响应,测试时不易使用,用的不多

4.3.2、局部断点

该断点可以影响特定的请求,方便调试

操作(使用命令)

复制代码
请求前断点
bpu login   		-- 请求的url中有login的会打断点
 
bpu					-- 取消断点
 
响应后断点
bpafter login		-- 请求的url中有login的会打断点
 
bpafter				-- 取消断点
4.4、弱网测试

即模拟网络环境差进行测试

操作

配置之后,点击Rules→performance→Simulate Modem Speeds启动即可

5、app抓包

第一步:手机和电脑需要在同一局域网下

​ 方法一:手机和电脑连接同一个wifi

​ 方法二:电脑通过网线连接到无线路由,手机连接这个无线路由的wifi

​ 方式三:电脑使用无线网卡,开热点,手机连这个热点

第二步:配置

移动端设置手动代理

移动端的主机名 填写连接的电脑的IP(可使用fiddler的Online功能查看)
移动端的端口号 填写fiddler监听的端口号

第三步:勾选Allow remote computers to connect

第四步:使用移动端的浏览器,进入http://电脑IP:fiddler监听的端口下载证书

第五步:安装证书(以个人手机为例:红米 note30至尊版,路径:设置→安全→更多安全设置→加密与凭据→安装证书→证书:找到下载的证书)

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

相关推荐
梦帮科技6 小时前
GRAVIS v4.0:基于Web的极速套利架构设计与实时数据流实现
前端·人工智能·rust·自动化·区块链·智能合约·数字货币
爱勇宝6 小时前
办公资料反复修改、补传、交接混乱,我做了个桌面工具来解决这件事
前端·后端·程序员
微信开发api-视频号协议7 小时前
企业微信外部群开发自动化实践过程
java·前端·微信·自动化·企业微信·ipad
甲维斯7 小时前
Fable5:20美金的顶级设计师!
前端·人工智能
hans汉斯7 小时前
基于改进交叉熵损失函数与Transformer的心电信号高风险分类研究
功能测试·深度学习·算法·yolo·目标检测·分类·transformer
kyriewen7 小时前
我同时用了 Claude Code、Cursor 和 Codex,说说三个工具的真实差距——2026 年选错工具比不用 AI 更浪费时间
前端·ai编程·claude
Jackson__8 小时前
为了拯救我的腰椎和颈椎,我做了款浏览器插件!
前端·javascript·开源
闲猫8 小时前
Python FastAPI + SQLAlchemy 入门教程:从零搭建你的第一个 Web 应用
前端·python·fastapi
林小帅8 小时前
NestJS v11 + Prisma v7 ESM 迁移配置解析
前端·javascript·后端
IT_陈寒9 小时前
React的setState竟然不是立刻生效的,害我调试半天
前端·人工智能·后端