有趣生活

当前位置:首页>科技>fiddler抓包工具如何抓包抓包工具fiddler都有哪些高级功能

fiddler抓包工具如何抓包抓包工具fiddler都有哪些高级功能

发布时间:2026-07-25阅读(1)

导读本文属于系列文章,若查看上文见:Fiddler除了抓包还能干些什么?一文全面讲解此工具的实用功能(上)发送请求在fiddler中也支持发送HTTP请求。就是....

本文属于系列文章,若查看上文见 : Fiddler除了抓包还能干些什么?一文全面讲解此工具的实用功能(上)

发送请求

在fiddler中也支持发送HTTP请求。就是通过Composer这个功能来进行发送请求

功能入口

功能介绍

  • Parsed:解析后的报文.它是已经格式化后的,在这里你只需要按照区域展示把相应的数据填写后就可以发送HTTP请求了。
  • Raw:原始报文 ,在此选项框中输入的请求必须按照HTTP请求格式输入,否则会报错。输入的HTTP请求也可以发送。
  • Scratchpad:可以保存多条原始报文,发送的时候,选中其中一条发送就可以了 。
  • Option:Inspector Session:使用同一个 Session 进行连接(同一个域名或者主机的情况下)Fix Content-Length Header: 当你发送 Post,Put 请求时,自动加上或者修正 Header 中的 Content-Length.Follow Redirect:自动跟踪 HTTP 状态码为 3xx 返回带 Location 的请求。Automatically Authenticate:自动进行身份验证。Tear Off:将 Composer 变成一个浮动窗口。

案例实现

案例需求:通过fiddler请求禅道登录页面,登录地址:https://demo.zentao.net/user-login.html。

实现步骤:

  1. 首先通过抓包找到该地址所需要填写的请求方法,请求参数,请求地址(已知)
  2. 打开fiddler,选中Composer,这里以Raw选项为例(备注:填写到另外两个框也可以),点击Execute。
  3. 查看左侧的登录请求,你会发现刚才通过compose发送的HTTP请求通用也可以在fiddler中看到。

便捷操作

除了通过以上填写对应的数据请求以外,fiddler还提供了一种更便捷的操作,就是可以直接将抓到的包拖动Composer其中的一个选项卡中,然后进行请求调试后发送。

最后想说的是,虽说这个功能也能发送请求,但是如果说只是为了去发送请求或做接口测试。我们没理由不去选择更加专业的postman或者jmeter来完成。那么它的实际使用场景是什么呢 ?我在做接口调试或接口测试时,由于开发编写的接口文档并不完善,所以每个接口都需要借助抓包工具来确定其请求参数。只有知道了这些具体参数,我们才能往测试工具中填写接口请求数据 。那这里面就会涉及到每个接口的请求参数中那些是必填的,那些是非必填的;以及每个参数的数据类型,列表取值等都可以通过Composer这个工具进行快速测试。

性能监控

通过进行性能测试或监控都会用到专业的性能测试工具来完成,如jmeter,loadrunner等。但是在fiddler中其实也可以对每个请求报文的数据做性能分析。比如每个请求的响应时间以及响应时间中各阶段的所花时间。

Statistics

打开Statistics会看到一堆的数据展现,其实这些数据就是统计的某一个或多个请求报文的各项指标 。

  • Request Bytes,通过这几个数值,可以看到一个或多个请求的数据大小Request Count : 统计请求的总数,Bytes Sent: 发送字节数Bytes Received:接受的字节数 。
  • ACTUAL PERFORMANCE,实际的性能统计,在这一栏里完整地记录了一个请求从客户端发送发起经过fiddler,再到服务器再返回的整个过程。指标很多,主要看关键的。ClientConnected: 客户端连接时间 ClientBeginRequest: 客户端开始请求时间 GotRequestHeaders: 获取到请求头时间 ClientDoneRequest: 客户端完成发送时间 ... ServerConnected: 服务器收到连接时间 FiddlerBeginRequest: fiddler开始发送请求时间 ServerGotRequest: 服务端收到请求时间 ServerBeginResponse: 服务端开始响应时间 GotResponseHeaders: 获取响应头时间 ServerDoneResponse: 服务端完成响应时间 ClientBeginResponse: 客户端开始接受响应时间 ClientDoneResponse: 客户端完成响应时间
  • RESPONSE BYTES (by Content-Type) 响应字节数,数据不再展示
  • ESTIMATED WORLDWIDE PERFORMANCE : 世界各地的预估的性能时间

那么通过上面这个图以及根据我们说的性能时间做个比对,就会知道这个请求的响应时间是0.280s,客户端发送时间是:11:00:42.194 ;服务端开始返回时间:11:00:42.471,客户端接收完成时间:11:00:42.474 。

Timeline

在Timeline下,我们可以选择一个或者多个请求,就会查看到这些请求对应的响应时间。那么通过这些数据你就可以分析你的页面或接口的性能情况。

除了以上功能,还可以进行如下操作:

  • Copy Chart:右击选择Copy chart 可以将生成时间线图拷贝到其它地方 。
  • Mode选择:右击可以选择Mode,有三种Mode 分别是:TimeLine ,Client Pipe Map , Server Pipe Map ;
修改请求

标题:通过fiddler的AutoResponder修改请求,实现你的mock测试

有时候我们要测试的功能,因为会调用到第三方系统或接口,测试时就会受到很多限制,比如测试一个账户充值功能,如果第三方接口只提供了线上接口,那么我们测试时就需要真的要充值真金白银。那么有没有一个办法可以不需要充值真金白银也可以完全进行测试呢? 那就是通过mock测试 。 mock的实现方式有很多种,这里来介绍通过fiddler的AutoResponder来完成mock测试 。

功能入口

通过AutoResponder,可以实现将捕获到的请求进行修改其响应数据,从而来完成我们想要的结果。下面的就是AutoResponder入口。

功能介绍

既然是修改其响应数据,那么就需要添加规则,通过添加规则后,fiddler只要匹配到这些规则后,就会将修改后的数据返回给客户端。下面介绍其主要功能

选项说明

  • Enable Rules : 勾选该复选框,设置的规则生效,反之不会生效 。
  • Unmatched requests passthrough : 勾选该复选框 ,不匹配规则的请求会正常发送到服务器 。不勾选此复选框,不匹配的都返回404 。
  • Enable Latency : 为请求设置延时时间 ,单位毫秒 。

添加规则

添加规则有多种方式,具体如下:

  • 第一种:直接点击Add Rule ,就会在Rule Editor中生成字符串的规则,此规则是以正则匹配。匹配到此规则后将执行修改后的响应数据 。
  • 第二种:从左侧选择一条请求,点击Add Rule ,也会在Rule Editor中生成一条精确匹配URL的规则 。
  • 第三种:从左侧拖动一条请求到右侧,就会自动生成一条精准匹配的URL规则 。
  • 第四种:通过Import请求包后,生成规则 。

以上四种方法,除了第一种是通过正则匹配,其它三种都是精确匹配 。

Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图