文章目录

* Fiddler的工作原理
<https://blog.csdn.net/qq_34659777/article/details/82665183#Fiddler_3>
* Fiddler的代理模式
<https://blog.csdn.net/qq_34659777/article/details/82665183#Fiddler_7>
* 1.流模式(Streaming):
<https://blog.csdn.net/qq_34659777/article/details/82665183#1Streaming_8>
* 2.缓冲模式(Buffering):
<https://blog.csdn.net/qq_34659777/article/details/82665183#2Buffering_11>
* Fiddler工具条按钮介绍
<https://blog.csdn.net/qq_34659777/article/details/82665183#Fiddler_19>
* 如何使用Fiddler抓取https包
<https://blog.csdn.net/qq_34659777/article/details/82665183#Fiddlerhttps_49>
* 如何使用Fiddler抓取手机包
<https://blog.csdn.net/qq_34659777/article/details/82665183#Fiddler_62>
* Fiddler状态栏详解
<https://blog.csdn.net/qq_34659777/article/details/82665183#Fiddler_88>
* 使用fiddler的过滤条件
<https://blog.csdn.net/qq_34659777/article/details/82665183#fiddler_93>
* 1. 域名过滤 <https://blog.csdn.net/qq_34659777/article/details/82665183#1__94>
* 2.类型过滤 <https://blog.csdn.net/qq_34659777/article/details/82665183#2_99>
* 3.根据返回状态码 <https://blog.csdn.net/qq_34659777/article/details/82665183#3_105>


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

<>Fiddler的工作原理


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

<>Fiddler的代理模式

<>1.流模式(Streaming):

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

<>2.缓冲模式(Buffering):

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

在实际的使用过程中,我们根据不同的场景需求来选择不同的代理模式。
在界面上我们使用一个按钮来切换这两种模式。Fiddler默认为缓冲模式。


<>Fiddler工具条按钮介绍

*
给捕捉到的绘画增加一个备注,不太常用

*
用于重播会话,快捷键是R。按住CTRL无条件补发,按住SHIFT多次补发。

*
用来清空监控面板,右侧的小三角形可以选择条件清空。
对应的中文版为

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

*
这个按钮就是切换模式的按钮,之前已经讲过了,这里略过。

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

*
保持会话,保存的越多,内存占用越大

*

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

*
查找功能,在会话比较多的时候点击这个可以查找指定会话并标记颜色,点开之后是这个样子的
中文版就是这张图

当我们标记之后想取消标记怎么办,点击这个按钮就可以了。


*
保存按钮,可以保存为有密码的saz文件,也可以是没有密码的。

*
五秒钟之后会把截图保存下来

*
计时器,点击一下开始,再单击一下停止,第三下清零或右键清零。

*
可以快速启动下拉菜单中的浏览器

*
快速清除缓存,一般在抓包之前要做的事情

*
文字编解码,点开后选择解码方式就可以编解码了

*
将右侧面板变成浮窗,关闭浮窗之后就变回原样。

*
MSDN首座和帮助按钮,不常用到。

<>如何使用Fiddler抓取https包

因为证书问题的解决方案

有时候我们抓不到包是由于证书的问题,所以先要给fiddler支持https的捕获和解析功能。具体步骤如下图:


这样我们就获得了fiddler的证书,然后我们将这个证书导入到浏览器中(这里以火狐浏览器为例)。
在浏览器中找到查看证书:

然后再导入:

然后我们将fiddler和火狐浏览器重启一下看能否抓包。

<>如何使用Fiddler抓取手机包

*
首先打开fiddler,Tools>>Options,在Connections和HTTPS中分别进行设置:

然后重启fiddler使修改生效。

*
使用WIN+R,输入cmd打开命令提示符,输入ipconfig查看本机IPv4的地址,记住它。


*
在手机中设置。要求要在同一局域网下,就是都连接同一个wifi就可以。在这里我使用夜神模拟器进行示范:
要给模拟器设置锁屏密码,然后点开设置>>WLAN>>长按连接的wifi,然后进行如下操作:

操作完成之后点击保存,这时候我们就已经可以抓到http的包了,如果需要抓取https的包,还需要进行下一步。

*
需要给手机安装fiddler的证书,打开手机浏览器,输入本机地址和端口号,建议使用本地浏览器打开:

此处容易出现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

然后就能够下载证书啦。
下载证书之后本地浏览器是默认打开的,将证书名称改了之后就直接访问浏览器进行抓包操作。

经过试验之后发现抓不到模拟器的包???所以我们在手机上进行之前的操作,并且在手机上打开浏览器。
这时候我们可以看到已经抓到了https包:

打开某个会话我们可以看到这个字段这个标记头表示手机端 。

<>Fiddler状态栏详解

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

* 这个位于左下角长长的一条是控制台,可以在里面输入命令行。比如输入help就可以打开使用说明。
* 这是点击会话的详情。
<>使用fiddler的过滤条件

<>1. 域名过滤

只显示特定域名的记录:

设置好了后一定要点击Actions生效;

<>2.类型过滤

一般对各种图片、CSS、JS这类的静态素材也不需要看的情况下,直接全部过滤掉,需要过滤多少自己直接加入就好了。
.*\.(bmp|css|js|gif|ico|jp?g|png|swf|woff)


<>3.根据返回状态码

比如只想显示200的状态,其他的不显示:

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信