腾讯质量中心总结的Fiddler工具使用

工作原理

Fiddler是以代理web服务器的形式工作的。如下图所示,相当于在客户端和服务器设置了一个中间层,客户端将请求数据发送出去后,会先经过中间层,中间层可以对请求做处理再发送给服务器;同理,服务器的响应数据返回给客户端,也会先通过中间层,中间层也可做相应的修改,返回给客户端。

基本操作

连上代理

要使用Fiddler做抓包和其他操作,首先应用程序需要连接上Fiddler代理。Fiddler代理默认的服务器是127.0.0.1环回地址,默认端口号为8888(可修改)。这里分为两种连接方式:

1、本机电脑浏览器

首先,火狐浏览器的配置如下图所示:

正常来说,我们一般是用chrome浏览器。用chrome浏览器,启动Fiddler后是直接连上了Fiddler代理。如果没有连上,也是类似的进入网络配置设置代理。

2、手机连接

手机的代理有别于电脑的,手机一般是走https代理配置,首先需要配置Fiddler,打开HTTPS开关。

Tools -> Fiddler Options 进行如下配置(配置好后重启生效)

配置手机端,手机端需要连上和电脑同一网段的网络。

手机浏览器打开 :8888 (其中111.23.119.24是电脑的ip,8888是设置的代理端口),在打开的页面上下载FiddlerRoot.cer证书并安装。这里如果自带浏览器不能安装,可以换其他浏览器打开安装

iOS手机安装的时候还需要信任该证书。信任路径在 设置->通用->关于本机->证书信任设置。对刚刚安装的证书进行勾选信任即可。

连上Fiddler代理后,就可以对手机进行抓包等测试了。

简单操作

Fiddler的基本操作如下图,左边是抓的数据包,右边是功能区:

左边也就是session,下面是一些session的基本操作:

左边session的快捷操作;

ctrl+x 清除所有session;

shift+delete 删除选择外的session;

r 重发请求;

u 无条件重发请求;

快速查看请求包。

简单修改请求包:

自动响应

AutoResponder应该是在我们测试过程中经常使用的功能点。自动响应可以在测试过程中,依据我们的需要,响应我们想要的数据,达到模拟的效果。下面简单介绍一下:

首先基本配置如下,在右边区域的AutoResponder一栏:

启动之后,需要你配置匹配规则,这里分两步,一个是匹配规则,另一个是匹配后的action。

匹配规则可设置模糊匹配、精确匹配、正则匹配,这里不作详细说明。action其实是匹配成功后对应的操作,Fiddler其实有很多action选项,我们常用的是filename,也就是一个对应的文件,匹配成功时返回。比如替换一个css文件。另外还有如下的action说明,需要使用的时候可以具体查找。

willow配置

willow的配置和autoresponder的配置类似,也是需要匹配规则和匹配规则后的action。不过willow这里还可以配置Host和extention。Fiddle安装后,一般会安装好willow用于配置代理hosts。在NOW测试过程中,经常需要将请求链接到测试环境服务器,这样的需求就需要配置Host。配置也是类似的,就不多说了。

以上只是 Fiddler的简单介绍,Fiddler 功能非常强大,不仅对我们测试工作十分有帮助,也可以DIY篡改网站内容等,有兴趣的读者可以尝试一下。