玩转Fiddler抓包教程(3)-再识Fiddler让你感性认识一下

1.简介

上一篇通过介绍想必各位小伙伴或者童鞋们对Fiddler已经有了一个理性地认识,今天在从Fiddler的外貌介绍和分享一下,让小伙伴们或者童鞋们再对Fiddler有一个感性的认识,今天主要是对Fiddler的界面进行一个详细的介绍。

2.Fiddler主界面

Fiddler的主界面分为:菜单栏(①)、工具面板(②)、会话面板(③)、监控面板(④)和状态面板(⑤)四部分组成,如下图所示:

2.1Fiddler主界面概览

Fiddler的主界面概览,如下图所示:

3.Fiddler主界面详解

Fiddler的主界面详解,说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、寻找、保存会话、切图、计时、打开浏览器、清除IE缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助。如下图所示:

3.1菜单栏

菜单栏的功能其实很简单主要包含:File(文件)、Edit(编辑)、Rules(规则)、 Tools(工具) 、View(视图) 和Help(帮助)六个板块。如下图所示:

3.1.1 File

File菜单主要包含新建视图、加载一个保存好的抓包会话文件、保存所有会话列表数据到一个.saz文件中等等。如下图所示:

各个按钮功能说明:

Capture Traffic:默认勾选,勾选此项才可抓包,与点击左下角状态栏的 Capture 效果一样。New Viewer:开启一个新的 fiddler 的 viewer,注意这里不是再开一个新的 fiddler,而是开一个新的fiddler的viewer。Load Archive…:用于重新加载之前捕获到的 SAZ 文件格式保存的流量。Session Archive Zip 文件,用于保存 http 请求信息。Recent Archives:查看最近之前捕获到的 SAZ 文件格式保存的流量。Save:保存。Import Sessions…:从目标文件夹及其子文件夹加载所有 SAZ 文件。缓存和重用密码。支持导入从其他工具获得的流量。Export sessions:支持用fiddler把捕捉到的 sesison 用多种方式保存。CURL 脚本由 CURL 回放。Exit:退出 Fiddler。

3.1.2 Edit

Edit菜单主要包含一些编辑的功能,例如对会话的:复制 粘贴 拷贝等操作。如下图所示:

各个按钮功能说明:

Copy:用来拷贝请求的相关信息。有用于复制在 web session 列表中选中的 session 信息,包括 just URL(选中的 session 的 URL 复制到剪切板中)、this column(拷贝菜单所在列的文本)、terse summary(选中 session 的简要说明复制到剪切板里)、header only (把 session 请求头复制到剪切板里)、session(把整个的 session 列表都复制到剪切板里)、full summary(把列表中显示的所有 session 信息复制到剪切板里)这些功能。Remove:主要是用来移除左侧边栏中的session。Select All:全选左侧边栏中 session。Undelete:恢复之前删除的 session。Paste as Sessions:把剪切板里的 sesisongs 复制到 web sessions 中,把以前的会话粘贴回来.Mark:自定义不同 session 的显示颜色.Unlock for Editing:把锁定的 session 进行解锁,可以进行编辑,默认情况下是不可进行编辑的,默认可以看到选定的 session 前是“锁”的图形 ,点击此按钮后变成可编辑按钮 。Find Sessions…:搜索 session.

3.1.3 Rules

Rules规则菜单所谓规则 指的也就是抓包的规则, 按照设置的一系列规则来显示抓取的数据会话。如下图所示:

各个按钮功能说明:

Hide Image Requests:可以隐藏图片请求,让图片类的 session 不在 session 框中显示出来。Hide CONNECTs:可以隐藏 CONNECT 方法的请求,让这类 session 不在 session 框中显示出来。Automatic Breakpoints:自动断点,控制是否自动在 Before Request 或 After Request 处断点,来修改请求或响应的内容。Customize Rules…:来打开 fiddler script 工具,调取脚本操作,多用于网络修改,其他自定义时使用。Require proxy authentication:若选中此项,则所有未提交 Require proxy authentication 的请求头的请求会返回 HTTP/407 响应,要求客户安装证书。Apply GZIP Encoding:请求 GZIP 编码,若选中此项,则只要请求包含了 gzip 标识的 Accept-Encoding 请求头就会对除了图片以外的所有相应使用 GZIP HTTP 进行压缩。Remove All Encoding:若选中此项,会删除所有请求相应的 http 内容编码和传输编码。Hide 304s:在session框中隐藏所有的 304 的 session。Request Japanese Content:把所有的 Accept-Encoding 请求头设置替换成 ja 标示,标示客户端希望以日语的形式发送。Automatically Authenticate:自动进行身份验证。User-Agents:选择相应的用户代理模式,默认是选择 disabled。那什么是 user-agent 呢?ua 是头域的组成部分,简单来说就是你向访问的网站提供你所用的浏览器的类型等信息,ua 字符串在每次浏览器 http 请求时发送到服务器端。Performance:此项提供影响 web 性能的简单选项。若选中了 simulate modem speeds,它会设置所有后续 session 的 flag,把 request-trickle-delay 标志设置为 300,所有上传数据延迟 300ms/kb,若把 response-trickle-delay 标志位设为 150,会使所有下载数据延迟 150ms/kb。若选中了 disable caching,将会删除所有 If-None-Match和If-Modified-Since 请求头,并添加 Pragma:no-cache 请求头,选中该项还会删除响应中的所有 Expires 头,并把 Cache-Control 响应头设置成 no-cache,该项无法阻止浏览器重用在所用该选项之前所缓存的响应,在选中该选项后,为了得到最佳结果,最好是清空浏览器中缓存。若选择 Catch Always Fresh 会自动响应所有包含 http/304 响应的有条件的 http 请求,表示客户端缓存是最新的,当访问的站点无法正确的设置缓存失效日期时,该选项可以极大的提高性能。

3.1.4 Tools

Tools(工具菜单) 这个菜单多数是针对fiddler这款工具本身的一些网络设置。如下图所示:

各个按钮功能说明:

Options…:打开 Options 窗口,是 fiddler 抓包的一些设置项,包括对抓取接口是 http 还是 https 的设置,获取证书,设置代理端口号等功能。WinINET Options…:打开IE浏览器的 options 进行设置。Clear WinINET Catch:清空 IE 和其他应用中所使用的 WinINET 的缓存文件。Clear WinINET Cookies:清空 IE 和其他应用中所使用的 WinINET 的 Cookies 文件。TextWizard:文本向导工具,是一个非常好用的可以轻松将 text 文本 encode 和 decode 的小工具。Compare Sessions:比较 session,可以在 session 框中选中两个 session,然后点击此按钮,可以来比较两个 session,正常情况下需要安装插件。Reset Script:重置脚本。Sandbox:fiddler sanbox 官方文档。View IE Cache:打开本地文件系统,查看ie缓存。Win8 Loopback Exemptions:Win8 回环豁免工具,这个时候会弹出一个“AppContainer 回环豁免实用程序”的窗口,若要将所有的程序使用豁免,点击“全部免除”,然后点击“保存更改”New Session Clipboard…:打开一个新的 session 剪贴板,可以把侧边栏中的 session 拖到这个剪贴板中具体来查看。HOSTS…:主机重定向工具。若在其中勾选 Enable 框,然后在下面加入 host 配置,点击保存之后,这个配置并不会修改到本地 hosts 中,取消勾选就会失效,若点击 Import Windows Hosts File 将会导入本地的 host 文件内容。

3.1.5 View

View(视图菜单) 这个菜单是针对fiddler显示界面与视图的一些设置,如果有些工具栏和按钮没有显示,就可以在这里来查找。如下图所示:

各个按钮功能说明:

Show Toolbar:显示工具栏,默认是勾选的。Default Layout:默认 layout,session 在左,请求和响应在右边的上下处。Stacked Layout:session 在上,请求在下方。Wide layout:session 在上,请求和响应在下方的左右处。Tabs:打开标签页面,其中有三个标签可以打开,分别是 Preferences(fiddler 偏好属性),AutoSave(fiddler 自动保存的设置),APITest(api 的测试)。Statistics:查看一个请求的统计数据。Inspectors:嗅探,用来查看会话的内容,上面是请求,下面是响应Composer:设计构造,在 Composer 中进行请求的修改,可以把 session 框中的数据先清除,然后点击 Composer 中的 Excute 按钮来发送请求,请求出现在 session 框中Minimize To Tray:最小化托盘。Stay On Top:保持置顶。Squish Session List:挤压 session 框。AutoScroll Session List:自动滚动会话列表,默认是勾选此项的,勾选此项后,session 框中的每出现新的 session,session 框中就会不断向下滚动,若不勾选此项,就很方便具体某一个 session 的定位,即使出现了新的 session 也不会自动向下滚动。Refresh:刷新功能,按 F5 刷新。

3.1.6 Help

Help(帮助菜单) 一些关于fiddler和网络的帮助信息文档,有兴趣的可以去查查看。如下图所示:

各个按钮功能说明:

Help:进入 fiddler 的帮助的网页中。Get Fiddler Book…:fiddler book 的网页。Discussions:fiddler 的讨论网页,这个需要魔法上网。Http Preferences:进入 http preferences 相关网站。Troubleshoot…:会捕获所有请求,对于哪些被过滤的请求用删除线表示出来并给出原因,使用时候会打开一个网页。Get Priority Support…:打开网页购买 fiddler 的优先级服务。Check for Updates…:检查软件更新情况。Send Feedback…:意见反馈。About:当前 fiddler 的相关信息。

3.2工具栏

工具栏上的快捷按钮,也是平常我们在抓包过程当中经常会使用到的。如下图所示:

3.2.1 WinConfig

给win电脑上的应用程序 配置fiddler权限。windows 使用了一种叫做“AppContainer”的隔离技术,使得一些流量无法正常捕获,在 fiddler 中点击 WinConfig 按钮可以解除这个诅咒,这个与菜单栏 Tools→Win8 Loopback Exemptions 功能是一致的。如下图所示:

3.2.2气泡图标

此按钮来给选定的 session 添加注释或者給会话添加备注。使用这个工具按钮你可以给某个会话添加一些描述或者备注信息。如下图所示:

3.2.3 Replay

重发按钮,选定请求重发按钮。

(1)这个按钮的作用其实就是,重新发一次当前你所选择的会话请求, 也就是说你点击一下Replay就会通过Fiddler来帮你发一次请求到服务器去,也可以通过选择一个会话之后点击键盘上的R键进行快速重放操作网页中列表的类型有,如下图所示:

(2)如果你想一次性向某个会话发送n次请求, 那么可以先选择一个会话,然后按住shift+R 或者 按住shift+Replay按钮或者shift + u来输入一个请求的次数。这种操作可以对一些普通的基础服务器做一个压力测试, 也就相当于一个简单并发测试。如下图所示:

3.2.3 Remove

删除会话按钮顾名思义就是用来删除列表中的会话, 它这个按钮内部包含了删除会话的一些过滤方法。移除按钮,其中有 Remove all 移除所有,Images,CONNECTs,Non-200s,Non-Browser,Complete & Unmarked,Duplicate response bodies,这些都是移除 session 中的这些状态的选项。如下图所示:

选项的含义如下表:

选项

描述

Remove All

删除全部会话 快捷键为ctrl+x

Images

删除图片相关的请求会话

CONNECTs

删除连接相关的请求会话

Non-200s

删除非200状态的请求会话

Non-Browser

删除非浏览器的请求会话

Complete & Unmarked

删除已完成且未添加备注的请求

Duplicate response bodies

删除没有响应bodies或者重复响应bodies的请求

3.2.4 Go

重跑 sessions,依据断点暂停。打断点时使用。

3.2.5 Stream

流模式是一种实时通信模式,请求之后实时的返回,更接近浏览器真实行为,但 fiddler 默认是缓冲模式而不是流模式。

Fiddler两种抓包模式

缓冲模式(Buffering Mode)Fiddler直到HTTP响应完成时才将数据返回给应用程序。可以控制响应,修改响应数据。但是时序图有时候会出现异常。

流模式(Streaming Mode)Fiddler会即时将HTTP响应的数据返回给应用程序。更接近真实浏览器的性能。时序图更准确,但是不能控制响应。

缓冲模式: 服务器把所有内容全部返回到Fiddler之后,Fiddler在一次性发送到客户端。可以控制响应,修改响应数据,但是时序图有时候会出现异常。(这样就支持断点功能,伪造请求,伪造响应等)。

Fiddler默认的模式为缓冲模式。

在缓冲模式下,可以进行Fiddler的其他功能,比如支持断点功能,伪造请求,伪造响应等。

流模式: Fiddler会把收到内容立即发送给客户端。更接近真实浏览器的性能,速度快,时序图更准确(比如瀑布图),但是不能控制响应。换句话说,与浏览器实际请求的模式一致,服务器响应什么数据,立即返回前端。

如果不需要AutoResponse和Fileters功能的话,一般使用缓冲模式。

3.2.6Decode

解码网页中列表的类型有,这里可以将 session 中乱码进行解码方便查看。当把这个按钮点击上了之后,会对所有返回的请求会话进行解码。

本文到此结束,希望对大家有所帮助!

关于作者:

生活百科常识网