Fiddler的下载与使用
下载地址:Download Fiddler Web Debugging Tool for Free by Telerik
解压后安装(直接下一步)
安装完后桌面没有Fiddler图标,可在安装位置中找到Fiddler.exe,创建其快捷方式到桌面上。
点击Fiddler图标(弹出一个对话框时选No)
Fiddler启动后界面如图:
Fiddler原理:
Fiddler其实就是对服务器或者是客户端的代理。无论是客户端在给服务器发送请求,还是服务器给客户端响应,都会经过Fiddler这个代理服务器,这个代理服务器可以监听到客户端发送的请求报文的内容和服务器给客户端响应的内容。
查看计算机中是否使用了代理服务:
在Chrome浏览器中点击右上角的三个点,找到设置选项,点击进入,向下找到“打开您的计算机的代理设置”(或者是点击进入设置选项后的界面的搜索框中输入“代理”,即可找到)。打开代理设置后如图所示:
Fiddler代理的默认端口号为8888。
关闭Fiddler后进入“打开您的计算机的代理设置”后如图所示:
可以看到代理已经关掉了。
界面的主要功能详解:
Fiddler启动后界面如图:
点击Capturing后,Capturing将消失,此时Fiddler不再作代理,也就不会抓到包。(一般都是Capturing)
在命令行中输入 help + 回车 ,即可打开一个 此命令行中的一些可以使用的命令 的页面。
快捷菜单栏:
Replay:选中回话区中的一个请求后,点击Replay后会重新发送一次这个请求。可使用R键来重新发一次选中的请求
使用shift+R键,可以指定次数重发选中请求信息。(多个请求时串行发送的,与JMeter中的并行送不同)
叉号:叉号中有一个Remove All,删除回话区中所有的请求信息,可使用快捷键Ctrl+X来删除
选中其中一个请求,按下Del键就可将这个请求删掉。
Go:设置局部或全局断点后,请求经过断点时就会停止,点击Go按钮,就会放行此请求
Keep:All sessions:如下图:
Keep:All sessions下的选项中点击其中的一个,回话区中就会显示相应数量的会话数(默认是全部显示)
Find:如图所示:
点击Find显示出相应的会话框。
在这个会话框中输入请求信息的关键字,含有此请求的关键字的所有请求信息均高亮显示。如下图:
save:将当前回话区中显示的所有的请求信息全部保存到一个.saz文件中(可以留下你想要的的信息,将其余的请求信息留下,再保存)
点击File --> Save ,如图所示:
TextWizard:编码小工具,用于对数据的编码、转码、解码等。
Browse:快速打开指定的浏览器。
Clear cache:清空浏览器缓存
断点
除此之外,还有上述的断点设置。点击一次后为请求到服务器前的断点,再点击一次后为服务器接受请求后的响应断点,再点击一次为撤销断点。此外还可以在菜单栏中的Rules–>
Before Request:请求到服务器前的断点
After Responses:服务器接收请求后的响应断点
Disabled:撤销断点
上述的断点为全局断点,下面是局部断点
在命令行中,输入 “bpu 关键字” ,即可给带有关键字的请求信息在请求到服务器前设置断点;输入 “bpafter 关键字” ,即可给带有关键字的请求信息在服务器接收请求后的响应设置断点
在设置响应后断点时,可以去篡改响应报文(修改响应体)。如图:
选中一个请求后,界面的右边的部分如图所示:
辅助标签+工具中包含请求相关信息和响应相关信息。
常用的Inspectors、AutoResponder和Composer
**Inspectors:**点击Inspectors,再上边的状态栏和下边的状态栏都点击Raw,如图所示:
Raw显示的就是请求报文的具体信息以及响应报文的具体信息。
还是Inspectors,点击WebForms,如图所示:
WebForms显示的就是post请求提交的表单的信息,可以在这里面修改表单中提交的数据。
还是Inspectors,点击Cookies显示发送请求时携带的Cookie信息。
AutoResponder:自动响应器,如图所示:
上面选择完成后,进行如下图所示的操作:
再发送这个请求时,就会返回我们的自定义响应。
总之,AutoResponder可自定义响应规则。
Composer:设计请求报文,然后执行(简单的接口测试工具,也是发包工具)。如图所示:
Composer的具体操作如下图:
拖拽后的Composer下的界面如图所示:
总之,Composer可在发送请求前设置请求头信息。
弱网测试:
点击Rules—>Performance—>Simulate Modern Speeds(模拟网络限速)。如图所示:
上面是采用默认流量限速,流量限速可自定义设置。
点击Rules—>Customize Rules(自定义设置规则)
进入自定义设置规则后是一个js脚本,在这个脚本中找到设置流量速度的代码,如图所示:
Https抓包:(Chrome浏览器)
https在http的基础上对传送的报文进行加密,加密是通过加密算法来实现的(包括对称加密算法和非对称加密算法)。
客户端和服务器端在建立连接之前,服务器端首先要发送一个证书给客户端,通过这个证书使客户端和服务器端之间就建立起了安全连接。
打开Tools–>Options–>HTTPS,勾选Decrypt HTTPS traffic(解密HTTPS流量)
如果不能抓到Https的包,点击Actions,选择Reset All Certificates(重置证书)