Fiddler 操作说明文档

Fiddler 操作说明文档

最后修改时间:6 months ago

# 一、Fiddler介绍

​ Fiddler是最强大最好用的Web调试工具之一, 它能记录所有客户端和服务器的http和https请求。允许你监视、设置断点、甚至修改输入输出数据。Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。换言之,你对HTTP 协议越了解,你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能帮助你了解HTTP协议。Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。

Fiddler下载链接 (opens new window)

# 二、Fiddler的工作原理

​ Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。Fiddler是一个抓包工具,当浏览器访问服务器会形成一个请求,此时,Fiddler就处于请求之间,当浏览器发送请求,会先经过Fiddler,然后在到服务器;当服务器有返回数据给浏览器显示时,也会先经过Fiddler,然后数据才到浏览器中显示,这样一个过程,Fiddler就抓取到了请求和响应的整个过程。

Fiddler界面介绍:功能区工具区会话列表区命令行区请求、响应区

image-20210425151606804

(1)抓取HTTPS数据包设置:

点击“Tools->Options...->HTTPS”初始情况:

image-20210426113037185

修改完成后界面:

image-20210426113107794

在首次设置该配置的时候会有提示安装证书弹窗显示,点击安装,安装完成后,点击OK,重启Fiddler就可以了。

但有时候没有弹窗安装证书或根本就没有提示,这种情况一般在Win7中较多出现,Win7的系统https方面 在.net Framework4.0上有bug 解决方式: 1.cmd 命令行,找到fiddler的安装目录; 2.然后执行以下命令:   makecert.exe -r -ss my -n “CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com” -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/11/2099   注意:这个命令最后的日期 09/11/2099 一定要大于现在的日期,否则创建证书是过期的;这样执行完之后,再去重新配置一次,就可以正确安装证书了。

(2)设置远程连接及端口

点击“Tools->Options...->Connections”初始情况:一般端口默认为8888,自己也可以自定义端口,点击OK

image-20210426133240604

会话列表区界面展示

image-20210425153541129

#:HTTP Request的顺序,从1开始,按照页面加载请求的顺序递增

Result:HTTP响应的状态

Protocol:请求使用的协议(如HTTP/HTTPS)

Host:请求地址的域名/ip

URL:请求的服务器路径和文件名,也包含GET参数

Body:请求的大小,以byte为单位

Caching:请求的缓存过期时间或缓存控制header的值

Content-Type:请求响应的类型

Process:发出此请求的Windows进程及进程ID

Comments:用户通过脚本或者菜单给此session增加的备注

Custom:用户可以通过脚本设置的自定义值

请求、响应区显示

image-20210425152742139

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

inspectors检查页签:它提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息,它分为上下两部分:上部分为HTTP Request(请求)展示,下部分为HTTPResponse(响应)展示

AutoResponse自动响应页签:在开发或测试过程中,由于各种原因不能得到想要的数据,所以利用相关技术模拟出想要的数据,这种技术也就是Mock挡板技术。在软件测试中,特别是外接第三方接口时,经常用挡板技术模拟相关数据进行开发测试。我们这里只是简单用Fiddler工具来实现挡板技术,模拟服务器响应数据,并把数据自动返给客户端。Fiddler工具中设置AutoResponder选项就可以实现档板技术,自动返回自定义响应数据

AutoResponder 可用于拦截某一请求,进行如下操作:

  1. 重定向到本地的资源;
  2. 使用fiddler的内置响应;
  3. 自定义响应;

composer构建页签:支持手动构建和发送HTTP, HTTPS和FTP请求, 我们还可以从web session列表中拖曳session, 把它放到composer选项卡中, 当我们点击Execute按钮, 把请求发送到服务器端

log日志页签:打印日志

Filters过滤页签:多维度的过滤规则,可根据主机、进程、请求头、响应头、状态码、响应类型和大小、断点进行请求的过滤

image-20210426134247082

Timeline时间轴页签:时间轴,也称为Fiddler的瀑布图,展示网络请求时间的功能。 每个网络请求都会经历域名解析、建立连接、发送请求、接受数据等阶段。把多个请求以时间作为 X 轴, 用图表的形式展现出来, 就形成了瀑布图。 在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间

# 三、模拟网络环境

(1)模拟网络延迟

单击选择Rules->Performance->Simulate Modem Speeds

image-20210426135226493

再次打开浏览器访问系统,网络延迟几秒后打开页面。

(2)精准控制网速

点击选择Rules->Customize Rules...(或者快捷键Ctrl+R),打开Fiddler ScriptEdittor文件,并在该文件找到该部分

if (m_SimulateModem) {
        // Delay sends by 300ms per KB uploaded.
        oSession["request-trickle-delay"] = "300"; 
        // Delay receives by 150ms per KB downloaded.
        oSession["response-trickle-delay"] = "150"; 
    }

image-20210426135823387

根据实际修需修改网速后保存

- 更新中 -

留下一条留言?
默认颜色

主题颜色

标准颜色

更多颜色...