全网最全的Fiddler抓包工具教程——Fiddler代理设置、断点、弱网测试、自动响应器等

一、Fiddler原理与下载

Fiddler可以理解为处于客户端和服务器之间的代理服务器。通过在各浏览器、Andoird、IOS设备上设置Fiddler的代理,从而可以监听客户端上发生的HTTP(S)请求

在这里插入图片描述

这篇博客是在B站上看完一个详细教程后编写的,想看视频的可以直接点击链接去看:链接_Fiddler教程

  • 下载链接:可以直接官网上下载,也可以点击下面链接下载 百度云链接,提取码:g7nz

二、Fiddler设置代理

2.1 谷歌、IE浏览器

由于谷歌浏览器和IE浏览器启动的时候,就会默认读取系统代理,所以只需要将Fiddler设置为启动后作为系统代理即可。

  • 设置启动即作为系统代理——点击Tools->Options->Connections
    在这里插入图片描述

这样设置后,我们在谷歌浏览器和IE浏览器访问HTTP请求,就会在Fiddler工具左侧中显示出请求,但是HTTPS的请求却没有显示出来,这是为什么呢?
原因如下:Fiddler作为一个代理服务器,是可以代理到HTTPS请求的。但是HTTPS可以理解为HTTPS=HTTP+SSL/TLS,也就是HTTPS是加密的,是有证书存在的。所以我们需要配置解密HTTPS并安装证书

  • 配置解密HTTPS并安装证书——点击Tools->Options->HTTPS
    在这里插入图片描述

  • 查看证书是否安装成功。
    在这里插入图片描述
    在这里插入图片描述

  • 最后效果——浏览器中访问HTTPS的页面,也能在Fiddler中显示。
    在这里插入图片描述

2.2 火狐浏览器

谷歌和IE浏览器是直接使用系统代理,且使用系统的证书。但是火狐浏览器默认不是使用系统代理,且使用的不是系统的证书,是自己管理自己的证书。
所以对于火狐浏览器,需要先设置为使用系统代理,再在火狐浏览器中导入Fiddler的证书

  • 火狐浏览器设置使用系统代理
    在这里插入图片描述
    在这里插入图片描述
  • Fiddler导出证书
    在这里插入图片描述
  • 火狐浏览器导入证书
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 最后效果——浏览器中访问HTTPS的页面,也能在Fiddler中显示。
    在这里插入图片描述

2.3 Android客户端

首先,使用Fiddler对Android客户端抓包的时候,需要手机连接的WIFIFiddler电脑本机使用的同一个网络,这样才能做数据通信。

  • Fiddler设置——允许远程主机连接
    在这里插入图片描述
  • 手机WLAN设置代理
    在这里插入图片描述
  • 下载证书
    在这里插入图片描述
  • 安装证书
    在这里插入图片描述
  • 提示:按照上面的配置后,按照正常情况下,就能抓到HTTPS的包了。但是由于Android7之后,系统只信任系统预置的CA证书不会信任用户安装的CA证书。具体参考:这是一个链接

2.4 IOS客户端

由于穷,没有演示IOS客户端的办法,请直接查看视频:IOS抓包

三、Fiddler界面及功能

可以将Fiddler从界面上划分,分为五个部分:菜单栏工具条监控面板(回话列表)辅助标签(工具)命令行+状态栏

在这里插入图片描述

3.1 菜单栏

3.1.1 Rules-规则

在这里插入图片描述

3.1.2 Tools—工具

在这里插入图片描述

3.2 工具条

3.2.1 Comments—备注

在这里插入图片描述

3.2.2 Replay—重放

在这里插入图片描述

3.2.3 Remove—移除

移除所有 Remove ALL的快捷键为Ctrl+X

在这里插入图片描述

3.2.4 Go—转到下一步(结束断点)

在这里插入图片描述

3.2.5 Stream—流模式

在这里插入图片描述

3.2.6 Decode—解码

在这里插入图片描述

3.2.7 Keep Sessions—保持回话

在这里插入图片描述

3.2.8 Pick target—选择捕获对象

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

3.2.9 Find查找—Save保存

在这里插入图片描述

3.2.10 浏览器快捷方式

在这里插入图片描述

3.2.11 TextWizard—文本编码解码器

在这里插入图片描述

3.3 监控面板(回话列表)

3.3.1 字段含义

在这里插入图片描述

3.3.2 添加IP列

参考链接:Fiddler显示服务器ip地址列

  • 点击菜单栏rules——customize rules...
    在这里插入图片描述
  • ctrl+f 搜索static function main
    在这里插入图片描述
  • 在main函数里加入下面一行代码,调用fiddlerUI函数,显示ip地址列
    FiddlerObject.UI.lvSessions.AddBoundColumn("IP地址",120,"X-HostIP");
    
  • 保存后关闭,重启Fiddler即可
    在这里插入图片描述

3.3.3 添加响应时间列

  • 点击菜单栏rules——customize rules...
    在这里插入图片描述

  • 找到class Handlers,并在其中添加下面代码
    在这里插入图片描述

    function BeginRequestTime(oS: Session)
    {
    	if (oS.Timers != null)
    	{
    		return oS.Timers.ClientBeginRequest.ToString();     
    	}
    	return String.Empty;
    }
    
    
    public static BindUIColumn("响应时间")
    function CalcTimingCol(oS: Session){
    	var sResult = String.Empty;
    	if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest))
    	{
    		sResult = (oS.Timers.ServerDoneResponse - oS.Timers.ClientDoneRequest).ToString();
    	}
    	return sResult;
    }
    
  • 保存后退出,重启后即可。
    在这里插入图片描述

3.4 辅助标签(工具)

3.4.1 Statistics—统计数据

3.4.2 Inspector—检查器

  • 可以理解为请求响应详细信息
    在这里插入图片描述

3.4.3 AutoResponder—自动响应器(重要)

含义:可以用于拦截某一个请求,进行如下操作:(1)重定向到本地资源(2)使用Fiddler内置响应(3)自定义响应

  • 实例一:将网站中的图片请求设置内置响应403。原本的图片如下:
    在这里插入图片描述
    在自动响应器中添加规则,请求匹配中填写图片链接,响应这里选择内置的403即可。
    在这里插入图片描述
    再次请求页面,图片加载失败。
    在这里插入图片描述
  • 除了使用内置响应,也可以使用本地文件。
    在这里插入图片描述
  • 还可以通过点击Edit Response来自定义响应。
    在这里插入图片描述

在实际工作中,我们可以使用自动响应器来做以下工作:
(1)Web调试:在相关接口未开发完事,使用作为调试
(2)Mock测试:自定义响应,从而不影响实际的数据,例如有时在生产环境中不能产生脏数据。
(3)极端测试:例如自定义某个请求的响应为空,去查看前端界面的展示

3.4.3 Composer—设计器(重要)

功能为设计请求,即为模拟请求发送。可以认为一个简单的接口测试工具,例如Postman功能。

  • 自定义请求并发送
    在这里插入图片描述
  • 修改请求并发送—类似于接口测试。在Fiddler捕获到请求后,将要进行测试的接口拖动到Composer中,修改参数,点击发送就达到接口测试的效果了。
    在这里插入图片描述

3.4.4 Filter—过滤器

  • 用于对请求过滤,具体自己实际试一下即可。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.5 命令行+状态栏

3.5.1 QuickExec—命令行

3.5.2 请求前断点 & 响应后断点

  • 请求前断点:请求从客户端发出,但是未发送到服务器
    在这里插入图片描述
  • 响应后断点:响应从服务器发出,但是未到达客户端
    在这里插入图片描述

3.5.3 捕获

在这里插入图片描述

3.6 其他内容

3.6.1 断点应用

断点可以分为全局断点局部断点。全局断点又可以分为请求前断点响应后断点。之前点击命令行下的位置就是全局断点。

  • 全局断点—请求前断点:可以在请求到达服务器之前,进行数据篡改
    在这里插入图片描述

  • 全局断点—响应后断点。与请求前断点道理一样,可以修改响应结果,然后返回响应。这里还可以使用响应后断点模拟网络中断,打了断点之后,客户端迟迟收不到服务器的响应,就类似网络中断了,然后由于客户端的超时机制,查看显示是否友好。

  • 局部断点—通过命令完成局部断点

    请求前断点:bpu 匹配内容
    响应后断点:bpafter 匹配内容
    

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

3.6.2 弱网测试

弱网测试:就是模拟网络限速的情况下,请求及响应的情况。参考链接:弱网测试

  • 启动网络限速,打开Fiddler,Rules->Performance->勾选 Simulate Modem Speeds
    在这里插入图片描述
  • 具体设置:Rules—>Cutomize Rules打开CustomRules.js 文档
    在这里插入图片描述
  • 搜索m_SimulateModem
    在这里插入图片描述

四、写在最后

Fiddler:从抓包到入狱,。抓包抓的好,牢饭吃的饱。请谨慎使用。

猜你喜欢

转载自blog.csdn.net/qq_37688023/article/details/106609936
今日推荐