『言善信』Fiddler工具 — 4、Fiddler界面布局详解【工具栏】

(一)工具栏详细介绍

Fiddler工具栏就是平时比较常用功能的一个快捷方式。

如下图所示:

image

下面对每个工具进行详解的介绍。

1、第一组工具:

如下图所示:

image

  • WinConfig:可以在里面配置一些windows系统的应用程序,配置在里面的应用的请求Fiddler都可以抓到,Fiddler5新增功能。
    换句话说:就是有些应用Fiddler默认是抓不到包的,需要WinConfig添加配置一下,就能抓到了。
  • 一个消息的图标:点击该按钮可以为所有选定的session添加comment(对会话进行备注)。
  • Replay:向服务器重新发送该请求。(重放)
  • 叉子Remove:从web sessions中删除sessions的菜单(删除会话)。
  • Go:恢复执行在request或response断点处暂停的所有sessions。(在打断点的时候使用)

2、第二组工具:

如下图所示:

image

  • Stream:打开stream开关,取消所有没有设置中断的相应的缓存。即:点击为流模式,不点击为缓冲模式。
    • 缓冲模式:服务器把所有内容全部返回到Fiddler之后,Fiddler在一次性发送到客户端。可以控制响应,修改响应数据,但是时序图有时候会出现异常。(这样就支持断点功能,伪造请求,伪造响应等)
      Fiddler默认的模式为缓冲模式。
      在缓冲模式下,可以进行Fiddler的其他功能,比如支持断点功能,伪造请求,伪造响应等。
    • 流模式:Fiddler会把收到内容立即发送给客户端。更接近真实浏览器的性能,速度快,时序图更准确(比如瀑布图),但是不能控制响应。
      换句话说,与浏览器实际请求的模式一致,服务器响应什么数据,立即返回前端。
      如果不需要AutoResponseFileters功能的话,一般使用缓冲模式.
  • Decode:打开decode,会对所有会话请求进行解码。(解码操作,默认勾选)
    或者点击Response body is encoded. Click to decode.进行单个会话请求的解码。
    image
  • Keep: All sessions:在下拉选项框中选择在web sessions(左侧会话列表)列表中保存多少个sessions。
    如果机器性能比较低的话,可以选择少保存一些会话,因为保存会话是需要占用内存的,但一般不做修改。
  • Any Process/pick target...:任何你要监听的进程(程序),精准定位。
    当点击上面的Any Process图标并将其移动到指定浏览器页面(或者其他程序界面)后,会单独记录这个页面的通信情况。
    只能监听一个程序,在点击一次把心图标,则取消监听。
    注意:记录Fiddler访问过程中发生的主要事件的日志,每当更新一次页面时,eventlog会自动刷新一次。。
  • Find:打开Fiddler Sessions窗口,进行相关查找。
  • Save:把会话窗口中所有的sessions保存到.saz格式的文件中。
    把该文件发送给相关人员即可,他们打开后Fiddler的状态和你保存时候的Fiddler状态一样。

3、第三组工具:

如下图所示:

image

  • 小相机:把当前的桌面的屏幕截图以jpeg的格式,添加到web sessions列表中。(截屏)
    点击后会倒数5秒进行桌面截图,可以把截图好的图片作为数据进行数据发送。(并没什么用,用的很少)
  • 小秒表:简单的计时功能。
    点击一下开始计时,在点击一下停止计时。
  • Browse:快捷的打开一个浏览器
    如果选中了一个session,在浏览器中打开该URL。
    如果没有选中任何sessions,会在IE浏览器中打开aboutblank
  • Clear Cache:清空WinINET的缓存文件,即:清除浏览器缓存功能。
  • TextWizard:打开文本编码/解码小工具。
    image
    支持编码和解码,比如base64,urlencode,urldecode,md5等。例如模拟get请求,可以将请求参数转为urlencode尽情编码。

4、第四组工具:

如下图所示:

image

  • Tearoff:分离面板。一般不会使用。
    image
    点击叉子关闭,即可复原窗口。
  • MSDN Search:在MSDN的web sessions区域进行搜索。
    在微软开发者社区的搜索,一般都不会用。
  • 问号:打开Fiddler的帮助窗口。
  • Online:鼠标放在上面,会显示一些本机的在线信息。如IP信息。
  • 小红叉:删除工具栏
    注意:如果要恢复工具栏,可以点击菜单栏view —> show toolbar,进行恢复。

(二)工具栏使用说明

这里举例几个例子,说明工具栏中的工具怎么使用,没有说明的工具,在上一点中介绍的很详细了。

1、Fiddler修改代理端口:

在Fiddler点击Tools —> Options... —> Connections选项中

image

上图说明:

  • Fiddler listens on port:Fiddler监听的端口是8888。
  • Act as system proxy on startup:Fiddler在启动时充当系统代理。(如果你不想代理系统的代理,这一项可以取消勾选)

注意:

  • Google浏览器和IE浏览器默认访问的系统代理,Fiddler 就会自动代替。
  • 而火狐浏览器需要自己手动配置。
  • Fiddler监听的端口是可以自定义配置的,1024到65535的端口都可以,只要不冲突即可。

2、过滤Tunnel to...443请求链接

当我们使用浏览器发送请求的时候,例如访问百度。

使用Fiddler进行抓取,如下结果:

image

可以看到有很多Tunnel to...443,图标是一把锁形状的链接。

这个是什么原因呢?

  • connect请求是为了建立http tunnel(通道),connect是HTTP请求方法中的其中一种,它和GET、POST、PUT、DELETE请求方法是并列的。
  • 因为网络环境受限,客户端无法直接访问某些网络,所以只能通过代理服务器访问网络,然后将内容转发给客户端,从宏观上看客户端与服务器端就像建立了一条隧道一样。
  • 当使用https通信时,客户端使用http connect请求代理服务器,代理服务器使用connect方法与目标服务器建立http tunnel,通道建立后,客户端与服务器进行通信,代理服务器就像透明一样,只是接收、转发tcp stream
  • Fiddler抓包出现大量connect tunnel连接
    是因为Fiddler是一个代理服务,访问百度网页(使用了https协议),满足了使用connect条件,所以客户端会使用connect方法与目标服务器建立http tunnel,一旦connection建立完成,后续Fiddler会转发、接收所有的tcp stream
  • 对于connect tunnel连接,服务器通常会进行限制,一般只开放SSL的443端口。

总结:可以理解成connect请求表示https的握手动作。也就是认证信息,只要是https就要进行认证。只要不是满篇的Tunnel to….443,就没有任何问题。

如果我们对看到很多的Tunnel to...443链接比较头疼,或者不方便找到我们需要抓取的请求链接时,我们就可以把这些Tunnel to...443请求链接全部过滤掉。

操作:菜单栏Rules —> 勾选Hide CONNECTs选项,即可。

提示:一般Hide CONNECTsHide 304选项一起勾选。

3、给抓到的请求添加备注

当我们使用Fiddler抓取到一个请求后,可以选中该请求,点击工具栏中的如下图标,即可给该请求添加备注。

image

添加备注和未添加备注的请求如下:

image

在实际的工作中,不一定非要每个请求都要添加备注。

但是请求添加备注后,当请求导出文件给其他人看的时候,别人能很快能识别你这个请求是用来干什么的。

4、Replay工具的使用

Replay:重放工具,向服务器重新发送该请求。

使用方法很简单,选用需要重新发送的请求(一个或多个),点击Replay工具按钮即可。

image

每点击一次Replay工具按钮,就重发送一次所选中的请求到服务器。

把鼠标悬停在Replay工具上会出现一些提示,如下:

  • Reissue the selected requests.:重新发出选定的请求。

  • Hold CTRL to reissue unconditionally:按住CTRL可无条件重新发出。

    这里翻译的不准确,其实选中一个请求,直接点击r键即可重新发送一次该请求。

  • Hold SHIFT to reissue multiple times.:按住SHIFT键可重新发出多次。

    选中一个或者多个请求,按SHIFT + r 组合键,会弹出一个对话框,
    输入数字,就表示重新发送多少次所选请求到服务器。

    这样的操作也就是模拟了一次"重放攻击"的操作。

5、移除工具(黑叉子)

移除工具有很多选项在下拉菜单中:

  • Remove all:清除所有请求。
  • Images:清除图片类请求。
  • Connects:清除中间连接请求。
  • Non-200s:清除响应状态非200的请求。
  • Non-browser:清除非浏览器请求。
  • Complete&Unmarked:清除已完成且未添加备注的请求。
  • Duplicate response bodies:清除重复响应bodies相同的请求。

扩展:删除会话列表(web sessions)中的请求会话

(1)删除所有选中的会话请求:

  • 选中的会话上右键 —> Remove —> Selected Sessions。
  • 或者直接按键盘上的Delete键即可。

(2)删除选中外的所有会话请求:

  • 选中的会话上右键 —> Remove —> Unselected Sessions
  • 快捷键:Shift + Delete

(3)删除会话窗口中的所有请求会话:

  • 任意会话上右键 —> Remove —> All Sessions
  • 快捷键:Ctrl + X
  • 黑叉移除工具 —> Remove all

提示:浏览器去缓存刷新快捷键:Shift + F5。

6、查找功能

查找功能在工具栏中的Find或者快捷键Ctrl + f

可以查找包含指定内容的请求(可单独指定请求过程或者响应过程,检测header或body),默认以黄色高亮显示。

image

  • Search:搜索范围
    • Requests and responses:在请求和响应的所有数据中搜索。
    • Requests only:仅在请求中的数据进行搜索。
    • Responses only:仅在响应中的数据进行搜索。
    • URLs only:在URL中搜素。
  • Examine:检查,也是选择搜索范围的
    • Headers and bodies:在Headers 和bodies中搜索。
    • Headers only:仅在Headers 中搜索。
    • Bodies only:仅在bodies中搜索。
  • Match case:大小写敏感
  • Regular Expression:使用正则表达式
  • Search binaries:二进制搜索,如音频,视频,Flash对象等
  • Decode compressed content:解码压缩内容,返回的body是encoded的,将所有的Responses decode后进行搜索,比较耗时。
  • Search only selected sessions:只搜索选中的回话。选中多个Sessions会默认激活选中。
  • Select matches:选择匹配。选中符合条件的搜索结果。
  • Unmark old results:取消标记旧的搜索结果。
  • Unmark old results:当不勾选Unmark old results时,每次搜索的结果会在Unmark old results循环使用不同的颜色作为背景高亮显示。
posted @ 2021-06-07 11:32  繁华似锦Fighting  阅读(866)  评论(1编辑  收藏  举报