【Fiddler】从零开始学习Fiddler

文章目录

        • Fiddler的工作原理
        • Fiddler的代理模式
          • 1.流模式(Streaming):
          • 2.缓冲模式(Buffering):
        • Fiddler工具条按钮介绍
        • 如何使用Fiddler抓取https包
        • 如何使用Fiddler抓取手机包
        • Fiddler状态栏详解
      • 使用fiddler的过滤条件
        • 1. 域名过滤
        • 2.类型过滤
        • 3.根据返回状态码

因为要开始学习接口测试,fiddler是一个很好的抓包工具而且免费好用,特开一贴来记录fiddler的学习历程。

Fiddler的工作原理

【Fiddler】从零开始学习Fiddler_第1张图片
打开Fiddler之后会自动给电脑创建一个系统代理,默认端口为8888,。在客户端和服务器之间获得通讯的信息,并且以会话的形式呈现给我们。

Fiddler的代理模式

1.流模式(Streaming):

可以理解为一种实时通信的模式,请求之后实时返回。
更接近浏览器本身真实的行为。

2.缓冲模式(Buffering):

等所有的请求都到了之后再一起返回。
可以用来控制最后的服务器响应。

在实际的使用过程中,我们根据不同的场景需求来选择不同的代理模式。
在界面上我们使用一个按钮来切换这两种模式。Fiddler默认为缓冲模式。
【Fiddler】从零开始学习Fiddler_第2张图片

Fiddler工具条按钮介绍

  • 这里写图片描述给捕捉到的绘画增加一个备注,不太常用

  • 这里写图片描述用于重播会话,快捷键是R。按住CTRL无条件补发,按住SHIFT多次补发。

  • 这里写图片描述用来清空监控面板,右侧的小三角形可以选择条件清空。
    【Fiddler】从零开始学习Fiddler_第3张图片对应的中文版为【Fiddler】从零开始学习Fiddler_第4张图片

  • 这里写图片描述这个要结合状态栏的断点使用,这里简单插播一下状态栏的图标介绍:
    这里写图片描述右下角的状态栏中如果有这个图标的话表示正在捕获会话中,点击一下就停止捕获
    【Fiddler】从零开始学习Fiddler_第5张图片这个是指捕获的哪些进程,第一个是指全部进城,第二个是web浏览器,第三个是非浏览器,最后一个是隐藏所有。
    这里写图片描述这个就是添加断点功能,就在上个图标后面小白框框内点击一下就有了。当对指定进程设置断点之后,点击这里写图片描述,就会在断电进程停止,必须点击这里写图片描述才能够继续捕获后面的会话。
    如果我再次点击这里写图片描述,就会变成箭头向下的这个图标这里写图片描述,这个意思是指客户端发送个已请求在服务器未返回请求时停止捕获,再点击这里写图片描述继续。

  • 列表内容这个按钮就是切换模式的按钮,之前已经讲过了,这里略过。

  • 这里写图片描述解码按钮,就是帮我们将http中的东西解压出来,能够帮助我们更好的查看数据。适用于下次捕获的会话。

  • 【Fiddler】从零开始学习Fiddler_第6张图片保持会话,保存的越多,内存占用越大

  • 这里写图片描述这个按钮很重要,当这样显示的时候表示捕捉的所有进程的信息。当我只想捕捉某一个进程的信息时,我们将把心拖动到此进程的图标之上,例如只想捕获谷歌浏览器的会话,就把靶心拖动到下方谷歌浏览器的图标上面,成功后按钮变成这里写图片描述就说明已经锁定了这个进程。辣么后面再捕获的进程就不会有其他的会话了。

  • 这里写图片描述查找功能,在会话比较多的时候点击这个可以查找指定会话并标记颜色,点开之后是这个样子的【Fiddler】从零开始学习Fiddler_第7张图片
    中文版就是这张图
    【Fiddler】从零开始学习Fiddler_第8张图片
    当我们标记之后想取消标记怎么办,点击这个按钮就可以了。
    【Fiddler】从零开始学习Fiddler_第9张图片

  • 列表内容保存按钮,可以保存为有密码的saz文件,也可以是没有密码的。

  • 这里写图片描述五秒钟之后会把截图保存下来

  • 这里写图片描述计时器,点击一下开始,再单击一下停止,第三下清零或右键清零。

  • 这里写图片描述可以快速启动下拉菜单中的浏览器

  • 这里写图片描述快速清除缓存,一般在抓包之前要做的事情

  • 这里写图片描述文字编解码,点开后选择解码方式就可以编解码了

  • 这里写图片描述将右侧面板变成浮窗,关闭浮窗之后就变回原样。

  • 这里写图片描述MSDN首座和帮助按钮,不常用到。

如何使用Fiddler抓取https包

因为证书问题的解决方案

有时候我们抓不到包是由于证书的问题,所以先要给fiddler支持https的捕获和解析功能。具体步骤如下图:
【Fiddler】从零开始学习Fiddler_第10张图片
【Fiddler】从零开始学习Fiddler_第11张图片
这样我们就获得了fiddler的证书,然后我们将这个证书导入到浏览器中(这里以火狐浏览器为例)。
在浏览器中找到查看证书:
【Fiddler】从零开始学习Fiddler_第12张图片
然后再导入:
【Fiddler】从零开始学习Fiddler_第13张图片
然后我们将fiddler和火狐浏览器重启一下看能否抓包。

如何使用Fiddler抓取手机包

  • 首先打开fiddler,Tools>>Options,在Connections和HTTPS中分别进行设置:
    【Fiddler】从零开始学习Fiddler_第14张图片【Fiddler】从零开始学习Fiddler_第15张图片
    然后重启fiddler使修改生效。

  • 使用WIN+R,输入cmd打开命令提示符,输入ipconfig查看本机IPv4的地址,记住它。
    【Fiddler】从零开始学习Fiddler_第16张图片

  • 在手机中设置。要求要在同一局域网下,就是都连接同一个wifi就可以。在这里我使用夜神模拟器进行示范:
    要给模拟器设置锁屏密码,然后点开设置>>WLAN>>长按连接的wifi,然后进行如下操作:
    【Fiddler】从零开始学习Fiddler_第17张图片【Fiddler】从零开始学习Fiddler_第18张图片
    操作完成之后点击保存,这时候我们就已经可以抓到http的包了,如果需要抓取https的包,还需要进行下一步。

  • 需要给手机安装fiddler的证书,打开手机浏览器,输入本机地址和端口号,建议使用本地浏览器打开:
    【Fiddler】从零开始学习Fiddler_第19张图片
    此处容易出现No root certificate was found,Have you enabled HTTPS traffic decryption in Fiddler yet?这个问题,解决方法就是在本机命令提示符中进入到Fiddler的安装目录中,并运行下面这一段话
    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/05/2012
    【Fiddler】从零开始学习Fiddler_第20张图片
    然后就能够下载证书啦。
    下载证书之后本地浏览器是默认打开的,将证书名称改了之后就直接访问浏览器进行抓包操作。
    【Fiddler】从零开始学习Fiddler_第21张图片
    经过试验之后发现抓不到模拟器的包???所以我们在手机上进行之前的操作,并且在手机上打开浏览器。
    这时候我们可以看到已经抓到了https包:
    【Fiddler】从零开始学习Fiddler_第22张图片
    打开某个会话我们可以看到这个字段这里写图片描述这个标记头表示手机端 。

Fiddler状态栏详解

之前有介绍了一丢丢状态栏按钮,这里再详细介绍一下其他的按钮。

  • 【Fiddler】从零开始学习Fiddler_第23张图片这个位于左下角长长的一条是控制台,可以在里面输入命令行。比如输入help就可以打开使用说明。
  • 这里写图片描述这是点击会话的详情。

使用fiddler的过滤条件

1. 域名过滤

只显示特定域名的记录:
【Fiddler】从零开始学习Fiddler_第24张图片
设置好了后一定要点击Actions生效;

2.类型过滤

一般对各种图片、CSS、JS这类的静态素材也不需要看的情况下,直接全部过滤掉,需要过滤多少自己直接加入就好了。

 .*\.(bmp|css|js|gif|ico|jp?g|png|swf|woff) 

【Fiddler】从零开始学习Fiddler_第25张图片

3.根据返回状态码

比如只想显示200的状态,其他的不显示:
【Fiddler】从零开始学习Fiddler_第26张图片

你可能感兴趣的:(软件测试工具学习)