历时一个多月,终于把Fiddler的所有功能整理完毕了。在之前的工作中,经常是对这些工具是知其然而不知所以然。总觉得会用就好,还总以为抓包就是它的全部,其它功能只是辅助而已。但是经过系统性的研究发现,是自己的无知蒙蔽了双眼,很多时候遇到了问题并不是没有现成的解决方案,而是你并不知道 。

Fiddler介绍

fiddler是一款非常流行的抓包工具,它除了有强大的抓包功能外,还可以设置断点篡改请求,支持请求的发送,以及通过无所不能的FiddlerScript进行功能扩展。是工作中必不可少的一款测试利器。

它支持多种浏览器代理设置,多种系统的安装 。




ios连上fiddler无互联网连接 fiddler没网_抓包


Fiddler中更加详细的功能介绍


ios连上fiddler无互联网连接 fiddler没网_请求报文_02


Fiddler配置

安装fiddler后,其实无需过多配置即可抓包,但是有时因为各种原因,在使用过程中有无法抓包 。到底有那些原因导致的呢?如果你的fiddler也遇到这样的问题,可以参考这篇文章:fiddler抓不到包,这些选项你都设置对了吗?

Fiddler抓包-Inspectors

抓包可以说是Fiddler的核心功能,基本每个使用fiddler的人都知道如何使用。但你知道每个请求中的数据都有那几部分组成 ? 数据报文的展示形式是怎样的呢 ? 在Inspectors中,各选项卡的作用和区别是什么? 这篇文章告诉你答案:如何通过fiddler的Inspectors功能,来解析报文的内部构造


ios连上fiddler无互联网连接 fiddler没网_请求报文_03


Fiddler抓取另外一台机器的报文

一般情况下,我们使用Fiddler抓取的报文数据来自本地主机,但是如果有多台主机,想通过一个Fiddler服务来对多个主机的流量进行监控 ,又该如何配置呢 ?


ios连上fiddler无互联网连接 fiddler没网_fiddler 抓包部分app没有网_04



Fiddler导入导出

Fiddler支持多种格式的导出和导入,导出的报文可以双击直接在cmd窗口再次发送请求 ;也可以直接导入到其它工具自动生成请求(如:postman);还可以进行分类管理进行快速回放 。


ios连上fiddler无互联网连接 fiddler没网_fiddler 抓包部分app没有网_05


无论以上那种方式,都可以提高我们的工作效率,想了解以上场景是如何实现的吗?

Fiddler设置过滤-Filters

常用fiddler的同学,基本都会通过Filters过滤掉无关请求,只保留我们所关注的 。那么你设置的过滤条件是否又仅限于主机呢 ? 如果我的需求是通过设置后只保留一个模块内的请求,或是把请求内无关紧要的头信息都去除掉 。该如何设置呢 ?


ios连上fiddler无互联网连接 fiddler没网_数据_06



Fiddler发送请求-Composer

如果说做接口调试或接口测试,我们首先会想到用比较流行的接口测试工具,如jmeter,postman来完成。但是你用过Fiddler做接口调试或测试 ?它也支持不同请求类型的接口请求,同时也支持进行批量接口的执行,最主要的是使用此功能和抓包结合起来使用,操作起来更加方便快捷 。


ios连上fiddler无互联网连接 fiddler没网_ios连上fiddler无互联网连接_07



Fiddler性能测试-Statistics

当我们想要关注某些页面或接口的响应时间时,我们该如何实现呢 ? 最简单的实现就是拿专业的性能工具先录制脚本,然后设置监控,最后回放脚本并查看监控数据 。在fiddler中,其实也支持简单的性能监控,但它无需脚本录制,配置监控等操作。你只要在APP内进行正常操作。它就已经搜集到了你APP的性能数据了 。是不是非常方便?在它的性能面板内有很多参数, 都是什么意思呢 ?


ios连上fiddler无互联网连接 fiddler没网_数据_08


Fiddler建立规则-AutoResponder

做业务测试时,是否会遇到因为某些条件受限(如:第三方)导致无法测试?如何配置地址重定向 ? 使用fiddler的AutoResponder功能,轻松搞定。感兴趣的话,戳这里:如何通过fiddler的AutoResponder修改请求,来实现你的mock测试


ios连上fiddler无互联网连接 fiddler没网_ios连上fiddler无互联网连接_09


Fiddler设置断点-Breakpoints

设置断点是我们测试过程中的一把利器,因为它不受各种条件限制,可改请求,可改响应,想让它返回啥它就能返回啥 。 Fiddler的断点功能非常强大,支持多处设置,多种场景的使用 。


ios连上fiddler无互联网连接 fiddler没网_ios连上fiddler无互联网连接_10


Fiddler命令执行-QuickExec

知道下面这个输入栏里支持多少命令吗?没有数过,但是很多 。那么都有那些命令呢 ?每个命令都用什么用途呢 ?


ios连上fiddler无互联网连接 fiddler没网_抓包_11


Fiddler自定义功能-FiddlerScript

如果说上面的这些功能还不能够满足你的需求,那就使用FiddlerScript来定制你的个人功能吧,因为通过它几乎可以实现fiddler支持的任何功能 ,就是这么的强大 。


ios连上fiddler无互联网连接 fiddler没网_抓包_12


Fiddler工具栏功能

fiddler工具栏的功能介绍,有部分功能可以帮我们提高工作效率,感兴趣的话可以查看这篇


ios连上fiddler无互联网连接 fiddler没网_请求报文_13



写在最后,小编致力于将服务器测试所使用到的常用工具和代码整理为更加系统全面、简单易懂、实用性强的教程,包括但不限于:postman,fiddler,jmeter,git,jenkins,docker,k8s,python,unittest,pytest,接口自动化,性能测试,devops,charles等.

有感兴趣的小伙伴可以关注我的头条号:雨滴测试,谢谢。