【Fiddler介绍】

一、Fiddler简介

Fiddler是最强大最好用的Web调试工具之一, 它能记录所有客户端和服务器的http和https请求。允许你监视、设置断点、甚至修改输入输出数据。

功能:

  • 监控浏览器网页及 安卓,ios 的APP的所有HTTP/HTTPS流量
    fiddler界面
  • 查看、分析请求和响应的内容细节
  • 伪造客户端请求和服务器响应
  • 测试网站性能(发起多个请求(注意:该请求是串行的)
  • 解密HTTPS的web会话
  • 全局、局部断点功能(更改请求的参数或者请求的js;更改返回响应的内容)
  • 第三方的插件

使用场景:

  • 接口调试、测试、线上环境调试、web性能分析(可以查看资源大小和时间)
  • 判断前后端bug、开发环境hosts配置、mock数据、弱网断网测试

二、Fiddler的工作原理

Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler开启会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

fiddler是一个抓包工具,当浏览器访问服务器会形成一个请求,此时,fiddler就处于请求之间,当浏览器发送请求,会先经过fiddler,然后在到服务器;当服务器有返回数据给浏览器显示时,也会先经过fiddler,然后数据才到浏览器中显示,这样一个过程,fiddler就抓取到了请求和响应的整个过程。
在这里插入图片描述

三、Fiddler介绍

面板

在这里插入图片描述

工具面板

说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、寻找、保存会话、切图、计时、打开浏览器、清除IE缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助
两种模式
缓冲模式(Buffering Mode)Fiddler直到HTTP响应完成时才将数据返回给应用程序。可以控制响应,修改响应数据。但是时序图有时候会出现异常
流模式(Streaming Mode)Fiddler会即时将HTTP响应的数据返回给应用程序。更接近真实浏览器的性能。时序图更准确,但是不能控制响应。

左侧会话面板

在这里插入图片描述

#:HTTP Request的顺序,从1开始,按照页面加载请求的顺序递增。
Result : HTTP响应的状态
Protocol:请求使用的协议(如HTTP/HTTPS)
HOST:请求地址的域名/ip
URL:请求的服务器路径和文件名,也包含GET参数     
BODY:请求的大小,以byte为单位
Caching:请求的缓存过期时间或缓存控制header的值
Process:发出此请求的Windows进程及进程ID
Comments :用户通过脚本或者菜单给此session增加的备注
Custom:用户可以通过脚本设置的自定义值

右侧面板

在这里插入图片描述

Statistics统计页签

通过该页签, 用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。选择第一个请求和最后一个请求, 可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多, 从而对页面的访问进行访问速度优化
在这里插入图片描述

inspectors检查页签

它提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息,它分为上下两部分:上部分为HTTP Request(请求)展示,下部分为HTTPResponse(响应)展示
在这里插入图片描述

AutoResponse自动响应页签

Fiddler最实用的功能, 它可以抓取在线页面保存到本地进行调试, 大大减少了在线调试的困难, 可以让我们修改服务器端返回的数据, 例如让返回都是HTTP404或者读取本地文件作为返回内容。
可以进行一些极端数据的测试(空数据的响应情况)
使用规则
在这使用规则
选择网址,选择要替换的内容
在这里插入图片描述
替换效果
在这里插入图片描述

Filter

在这里插入图片描述

Fiddler命令行工具

在这里插入图片描述
可以按照提示进入网站,去看快捷键

常用功能

断点

打开方式一:
在这里插入图片描述
打开方式二:
点击一次:请求前断点
点击两次:响应前断点
点击三次:取消断点
通过断点篡改客户端提交的数据和服务器响应的数据。
在这里插入图片描述

弱网测试:

在这里插入图片描述
其中开启弱网限速后,系统会改变网速。(可以用如下方法:通过更改fiddler源码的方式,去自定义网速)

打开Fiddler——> rules——> Customize Rules 在FiddlerScript中找到以下代码
在这里插入图片描述

抓包

抓浏览器的http和https的包

浏览器通常可以抓到http的包,但是抓不到https的包,通常需要以下设置:
勾选下图内容(没反应重启fiddler)
在这里插入图片描述

抓ios和安卓的包

以Android手机上配置Fiddler工具为主,讲解配置手机抓包过程。

1.配置Android手机

Fiddler配置中Connections中设置允许远程连接和端口号。
在这里插入图片描述

2.手机端设置:
手机端与Fiddler工具所在电脑处于同一个网络中。
查看电脑的IP 地址,手机网络代理指定为电脑IP地址;
在这里插入图片描述

打开设置 > WLAN > 连接上的 WLAN 设置,点击代理 > 手动,设置主机名为 Fiddler 所在主机的 IP,端口为 Fiddler 监听端口。
在这里插入图片描述

安装Fiddler证书; 用浏览器打开证书地址,访问
http://ipv4:8888/,点击页面底部 FiddlerRoot certificate下载证书在这里插入图片描述

打开设置 > 安全>
更多安全设置 > 加密和凭据 > 从存储设备安装,选择下载好的 FiddlerRoot.cer 进行安装。
浏览器打开目标地址,已经可以抓取 HTTPS 包了

注意:

  • 测试完毕,记得关闭代理,否则手机无法上网)
  • 有些情况需要重启fiddler或者手机才行
  • 还有些特殊情况需要把安装的 FiddlerRoot.cer证书设置为信任的才行(具体自行百度)

以上内容参考链接:
https://zhuanlan.zhihu.com/p/102392715
具体也可以去阅读其他文章:
https://www.cnblogs.com/conquerorren/p/8472285.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值