抓包工具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至尊版,路径:设置→安全→更多安全设置→加密与凭据→安装证书→证书:找到下载的证书)

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

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

相关推荐
万叶学编程1 小时前
Day02-JavaScript-Vue
前端·javascript·vue.js
前端李易安3 小时前
Web常见的攻击方式及防御方法
前端
PythonFun3 小时前
Python技巧:如何避免数据输入类型错误
前端·python
知否技术3 小时前
为什么nodejs成为后端开发者的新宠?
前端·后端·node.js
hakesashou3 小时前
python交互式命令时如何清除
java·前端·python
天涯学馆3 小时前
Next.js与NextAuth:身份验证实践
前端·javascript·next.js
HEX9CF3 小时前
【CTF Web】Pikachu xss之href输出 Writeup(GET请求+反射型XSS+javascript:伪协议绕过)
开发语言·前端·javascript·安全·网络安全·ecmascript·xss
ConardLi3 小时前
Chrome:新的滚动捕捉事件助你实现更丝滑的动画效果!
前端·javascript·浏览器
ConardLi4 小时前
安全赋值运算符,新的 JavaScript 提案让你告别 trycatch !
前端·javascript