上一篇通过宏哥的介绍想必各位小伙伴或者童鞋们对 Fiddler 已经有了一个理性地认识,今天宏哥在从 Fiddler 的外貌介绍和分享一下,让小伙伴们或者童鞋们再对 Fiddler 有一个感性的认识,今天主要是对 Fiddler 的界面进行一个详细的介绍。
Fiddler 的主界面分为:菜单栏(①)、工具面板(②)、会话面板(③)、监控面板(④)和状态面板(⑤)四部分组成,如下图所示:
Fiddler 的主界面概览,如下图所示:
Fiddler 的主界面详解,说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、寻找、保存会话、切图、计时、打开浏览器、清除 IE 缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助。如下图所示:
菜单栏的功能其实很简单主要包含:File(文件)、Edit(编辑)、Rules(规则)、 Tools(工具) 、View(视图) 和 Help(帮助) 六个板块。如下图所示:
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。
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.
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 请求,表示客户端缓存是最新的,当访问的站点无法正确的设置缓存失效日期时,该选项可以极大的提高性能。
Tools(工具菜单) 这个菜单多数是针对 fiddler 这款工具本身的一些网络设置。如下图所示:
各个按钮功能说明:
Options…:打开 Options 窗口,是 fiddler 抓包的一些设置项,包括对抓取接口是 http 还是 https://image.baidu.com/search/down?url=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 文件内容。
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 刷新。
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 的相关信息。
工具栏上的快捷按钮,也是平常我们在抓包过程当中经常会使用到的。如下图所示:
给 win 电脑上的应用程序 配置 fiddler 权限。windows 使用了一种叫做 “AppContainer” 的隔离技术,使得一些流量无法正常捕获,在 fiddler 中点击 WinConfig 按钮可以解除这个诅咒,这个与菜单栏 Tools→Win8 Loopback Exemptions 功能是一致的。如下图所示:
此按钮来给选定的 session 添加注释或者給会话添加备注。使用这个工具按钮你可以给某个会话添加一些描述或者备注信息。如下图所示:
重发按钮,选定请求重发按钮。
(1)这个按钮的作用其实就是,重新发一次当前你所选择的会话请求, 也就是说你点击一下 Replay 就会通过 Fiddler 来帮你发一次请求到服务器去,也可以通过选择一个会话之后点击键盘上的 R 键进行快速重放操作,如下图所示:
(2)如果你想一次性向某个会话发送 n 次请求, 那么可以先选择一个会话,然后按住 shift+R 或者 按住 shift+Replay 按钮或者 shift + u 来输入一个请求的次数。这种操作可以对一些普通的基础服务器做一个压力测试, 也就相当于一个简单并发测试。如下图所示:
删除会话按钮顾名思义就是用来删除列表中的会话, 它这个按钮内部包含了删除会话的一些过滤方法。移除按钮,其中有 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 的请求 |
重跑 sessions,依据断点暂停。打断点时使用。
流模式是一种实时通信模式,请求之后实时的返回,更接近浏览器真实行为,但 fiddler 默认是缓冲模式而不是流模式。
Fiddler 两种抓包模式
缓冲模式(Buffering Mode)Fiddler 直到 HTTP 响应完成时才将数据返回给应用程序。可以控制响应,修改响应数据。但是时序图有时候会出现异常。
流模式(Streaming Mode)Fiddler 会即时将 HTTP 响应的数据返回给应用程序。更接近真实浏览器的性能。时序图更准确,但是不能控制响应。
缓冲模式: 服务器把所有内容全部返回到 Fiddler 之后,Fiddler 在一次性发送到客户端。可以控制响应,修改响应数据,但是时序图有时候会出现异常。(这样就支持断点功能,伪造请求,伪造响应等)。
Fiddler 默认的模式为缓冲模式。
在缓冲模式下,可以进行 Fiddler 的其他功能,比如支持断点功能,伪造请求,伪造响应等。
流模式: Fiddler 会把收到内容立即发送给客户端。更接近真实浏览器的性能,速度快,时序图更准确(比如瀑布图),但是不能控制响应。换句话说,与浏览器实际请求的模式一致,服务器响应什么数据,立即返回前端。
如果不需要 AutoResponse 和 Fileters 功能的话,一般使用缓冲模式。
解码,这里可以将 session 中乱码进行解码方便查看。当把这个按钮点击上了之后,会对所有返回的请求会话进行解码。
第一种方法:要知道 http 有的时候返回的正文内容是被编码之后的,若要解码全部会话中的响应报文可以先把这个按钮点选上, 再抓包的时候响应报文就会自动解码其中的正文内容。如下图所示:
第二种方法:你也可以不用点选这个按钮,要解码那个会话,再选择会话的时候点击右边响应报文中的黄色部分提醒你解码:Response body is encoded click to decode(解码响应报文) 就可以了,如下图所示:
All sessions:这里可以保持 session 框中存在多少个 sessions。
点击此按钮并且拖动到你想要捕获的浏览器从而实现只捕获某个浏览器的请求。这个功能有点意思, 可以瞄准你想要抓取的对象。比如说: 我们现在要抓取一个ie浏览器
的请求数据包, 那么可以以下操作,如下图所示:
这个望远镜的图标是用来查询的,其他软件有类似的图标,调用这个查询功能的快捷键(Ctrl + F)。可以查找包含指定内容的请求(可单独指定请求过程或者响应过程,检测 header 或 body),默认以黄色高亮显示。如下图所示:
一些其他选项的含义如下表:
选项 | 描述 |
---|---|
Match case |
表示区分大小写 |
Regular Expression |
正则表达式 |
Search binaries |
搜索二进制文件 |
Decode compressed content |
解码压缩内容 |
Search only selected sessions |
只搜索选择的请求 |
Result Highlight |
搜索结果的强调颜色 |
保存按钮,保存所有的 session 成 SAZ 文件。
这里可不是用来拍照的而是用来截图的。把当前的屏幕截图以 jpg 的格式,添加到 web sessions 列表中如下图所示:
简单的计时功能。点击一下开始计时,再点击一下停止计时。
快捷的打开一个浏览器,打开浏览器来查看响应数据。如果选中了一个会话,会在浏览器中打开目标 URL。如果没有选中任何会话或者选中了多个会话,在浏览器中打开 about:blank。
清除 WinINET 的缓存,按住 CTRL 键并点击该按钮可以清除 WinINET 中保存永久的 cookies。
打开文本编码/解码小工具,以使文本在多种编码间转换。此工具可以将某一编码过的或者未编码过的字串拿到此处解码和编码,在菜单栏中的 Tools 中也有此项可以打开。如下图所示:
此功能用来将右边栏里的请求和响应部分给单独拆成一个新窗口,方便视察。点击分离出的窗口 X 关闭按钮,即可复原窗口。如下图所示:
在网页版的微软开发中去搜索。在 MSDN 的 web sessions 区域进行搜索,在微软开发者社区的搜索,一般都不会用。
fiddler 的在线帮助网站。
鼠标放在上面,会显示一些本机的在线信息。如 IP 信息。用来指示当前是在线的还是离线的。如果在线,把光标停留在该按钮上方会显示包含本地计算机的主机名和 IP 的提示。双击该按钮会打开系统的 Network Connections 控制面板。如下图所示:
用来关闭工具栏的按钮,在 View 中可以打开工具栏。如果要恢复工具栏,可以点击菜单栏 View —> Show Toolbar ,进行恢复。
好了,到此宏哥就将 Fiddler 的工具栏常用的基本上全都讲解和分享完了,今天时间也不早了,就到这里!感谢您耐心的阅读~~