Fiddler学习文档

Fiddler简介

  • Fiddler是位于客户端和服务器端的HTTP代理
  • 目前最常用的http抓包工具之一
  • 功能非常强大,是web调试的利器
  • 简单的接口测试工具,或者发包工具
    ●监控浏览器所有的HTTP/HTTPS流量
    ●查看、分析请求内容细节
    ●伪造客户端请求
    ●测试网站的性能
    ●解密HTTPS的web会话
    ●全局、局部断点功能
    ●第三方插件
  • 使用场景
    ●接口调试、接口测试、线上环境调试、web性能分析
    ●判断前后端bug、开发环境hosts配置、mock、弱网断网测

B/S架构

  • 编写程序部署到web服务器
  • web服务器运行在服务器上,绑定ip地址并监听某端口,接收和处理http请求
  • 客户端通过http协议获取服务器上的网页、文档等资源
    在这里插入图片描述

HTTP

  • Hyper Text Transfer Protocol超文本传输协议
  • 用于从万维网服务器传输超文本到本地浏览器的传送协议
  • HTTP协议是基于TCP的应用层协议,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容
  • 默认端口是80
  • http是基于请求与响应模式的、无状态的、应用层的协议

展示图

  • 完整的HTTP协议包含请求和响应两块内容

HTTP请求报文

  • HTTP请求报文主要由请求行、请求头部、空一行、请求正文(请求体)4部分组成。
    格式

请求方法

请求方法备注
GET请求资源
POST提交资源
Head获取响应头
PUT替换资源
DELETE删除资源

URL

  • Uniform Resource Locator:统一资源定位符用于描述网上的资源
  • 格式: schema:/ /host [:port#]/path/ …/[?query-string]
    ●scheme:协议,如http,https,ftp等
    ●host:域名或者IP地址
    ●port:端口
    ●path:资源路径
    ●query-string:发送的参数
  • 如:https://www.baidu.com/s?wd=qq

请求头

请求头描述
Host主机ip地址或城名
User- Agent客户端相关信息,如果操作系统、浏览器等信息
Accept指定客户端接收信息类型,如:imag/jpg, text/html, appication/ json
Accept-Charset客户端按受的字符集,如lgb2312、iso-8059-1
Accept-Encoding可接受的内容编码,如gzip
Accept - Language接受的语言,如Accept Language: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作用一样

HTTP响应报文

响应报文

状态码

  • 用以表示网页服务器HTTP响应状态的3位数字代码
状态码描述
1XX提示信息,请求被成功接收
2XX成功,请求被成功处理 200
3XX重定向相关 304(比如缓存)
4XX客户端错误 404
5XX服务器端错误 500

建议:深度学习状态码可百度“HTTP状态码”学习

响应头部

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

Fiddler工具

功能

  • 1.添加备注
  • 2.数据重放:重复请求接口。快捷键R;Shift+R可以设置重放次数
  • 3.删除
  • 4.转到:配合断点
  • 5.数据流(流模式):原本服务器返回内容到fiddler再统一一起发到客户端,数据流就是正常服务器一返回就到直接到客户端
  • 6.解码:包解码
  • 7.保持:设置保持会话数量
  • 8.任意进程:选择抓取应用
  • 9.查找:Ctrl+F

删除单个请求:delete
删除除此以外的的请求:Shift+delete
全部删除:Ctrl+x

会话列表

  • Fiddler抓取到的每条http请求(每一条称为一个session)
  • 主要包含了请求的ID编号、状态码、协议、主机名、URL、内容类型、body大小、进程信息、自定义备注等信息

快速执行命令

命令网址:https://docs.telerik.com/fiddler/knowledgebase/quickexec
或者可以在命令行打:help
如: bpu:断点—bpu baidu

辅助标记和工具

  • Statistics (统计)
    ●HTTP请求的性能和其他数据分析,如DNS解析的时间,建立TCP/IP连接的时间消耗等信息
    统计

  • Inspectors(检查器)
    ●Inspectors意思是检查器
    ●可以多种方式查看请求的请求报文和响应报文相关信息
    在这里插入图片描述

  • AutoResponder (自动响应器)
    ●AutoResponder可用于拦截某一请求,进行如下操作:
    ●重定向到本地的资源
    ●使用Fiddler的内置响应
    ●自定义响应
    自动响应器

Composer(组合器)

  • 用于设计一个请求报文,并可以执行
  • 最小成本发包,检查后端设计,检查程序

Filters(过滤器)很强大,好好用

断点–可测试前后端

  • bpu-请求前断点—bpu baidu
  • bpafter-响应后断点—bpafter baidu

Fiddler抓包

●点击Tools > Fiddler Options > HTTPS
●勾选Decrypt HTTPS Traffic
在这里插入图片描述

设置Fiddler捕获Https流量

在这里插入图片描述

FireFox的Https流量–证书

在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 用火狐要配置高级里面的证书
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

*APP抓包

  • iOS设备APP抓包-Fiddler设置
    ●点击Tools > Fiddler Options > Connections.
    ●勾选Allow remote computers to connect
    ●重启Fiddler
    ●确保防火墙允许Fiddler进程可以远程连接
    ●ios设备连接WiFi
    ●确保ios设备可以访问到http://FiddlerMachineIP:8888,该地址会返回Fiddler Echo Service 页面
    在这里插入图片描述
  • Android设备抓包
    ●以小米9为例,打开设置> WLAN >连接上的WLAN设置
    ●点击代理>手动,设置主机名为Fiddler所在主机的IP,端口为Fiddler监听端口
    ●打开Android设备浏览器,访问http://ipv4:8888/ (192.168.89.8888/)
    ●点击页面底部FiddlerRoot certificate下载证书
    ●打开设置>更多设置>系统安全>加密与凭据>从存储设备安装
    ●选择下载好的FiddlerRoot. cer进行安装
    ●浏览器打开https://www.baidu.com,已经可以抓取HTTPS包了
    注意:测试完毕,记得关闭代理,否则手机无法上网
    在这里插入图片描述

Fiddler常用插件

常用插件官方提供版https://www.telerik.com/fiddler/add-ons

感谢柠檬班的b站视频:https://www.bilibili.com/video/BV1c4411c7zH?p=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值