01.Fiddler工具简介及安装

Fiddler简介

Fiddler是一个HTTP协议的代理调试工具,他本身是一个HTTP代理工具,同时可以查看,中断或修改通过其的HTTP报文,以达到调试诊断的目的,Fiddler要比其他的网络调试器要更加简单,因为它不仅仅暴露HTTP通讯还提供了一个用户友好的格式。

Fiddler的安装

Fiddler是基于c#.NET平台开发而成的,有.NET2.0和.NET4.0的两个版本,没有功能呢上的区别,目前仅支持Windows系统上的安装,需要机器上提前装好对应的.NET Framework的版本即可,下载地址在http://www.telerik.com/download/fiddler可以找到。

下载完成后直接安装即可,安装过程中没有需要设置的项目,安装完成后可以在应用程序中打开Fiddler软件。

初识Fiddler

安装好的Fiddler启动后界面如下,在启动时Fiddler会自动注册为系统的HTTP代理服务,因此所有的系统HTTP请求都会显示在Fiddler中,此时在浏览器(如Chrome,IE)访问网页就可以看到Fiddler中有数据欢快的跑了起来。这里顺手提一句的是,Fiddler在启动时会自动注册为系统的HTTP代理服务,在退出时会取消这个注册让系统能够正常进行HTTP访问,如果Fiddler是由于某些原因异常退出的(比如被进程管理器杀死),就不会出现这个去注册的过程,系统由于找不到代理服务器就无法正常上网了,这种情况下启动关闭下Fiddler就好了。

01.Fiddler工具简介及安装_第1张图片

Fiddler的主界面大概分成了如下的几个部分:

  • 最上方的菜单栏
  • 其下的快捷工具栏
  • 主屏幕左边的Session列表区
  • 主屏幕右边的Session查看及工具区
  • 屏幕下方的黑条是快捷命令的输入区
  • 最下方为状态栏
    我们会在之后的几讲中详细的介绍每一个区域功能的用法,大家也要跟着节奏边学变练哦

代理机制简介

之前一直在讲Proxy代理,可能有些同学对这个概念还不是特别理解,在开启正文之前我们先对这个概念做一个简单的介绍。

应用程序与网络的交互如果选择HTTP协议,那么基本流程便是向服务器发送一个请求,等待服务器返回的响应,接着又是下一组。代理服务器的作用相当于一个中转站,在设立代理服务器后HTTP请求不再直接发往服务器而是发往代理服务器,经代理服务器转发后发送给目标服务器,服务器的返回报文也不是直接发送给客户端,而是经代理服务器的转发后才发送给客户端。代理服务器参与后的网络结构如下:


01.Fiddler工具简介及安装_第2张图片

那么有同学就要问了,你这不是画蛇添足么?好像没看出来代理服务器的插入有什么好处啊,且听我细细说来。代理服务器主要能起到如下的几个方面的作用:

  • 数据缓存:将外网中常访问的大文件缓存到代理服务器中,在内网用户请求时便可以直接返回而节省时间和带宽
  • 数据监控:由于所有的网络流量都会经过代理服务器,代理服务器就可以监控到内外网的相关数据信息,也可以用于地域外部网络的攻击(这个有点类似于路由器的相关功能)
  • 网络隔离:部分公司出于信息安全的角度是隔离的外网的,那么需要在内网访问外网信息的时候便可以通过特定的代理服务器来访问外网信息
  • 隐藏真实IP:在服务器看来所有的请求都是来自代理服务器而不是真实客户端,这样可以避免真实客户端的IP被攻击的风险

说了这么多,Fiddler代理又有什么不一样呢?Fiddler做为一个本地代理主要起到的是一个数据监控的作用,通过可视化UI将通过Fiddler代理的流量展示出来,并可以针对每一条具体的请求做停止、暂停甚至是篡改其内容的操作,以达到Debug网络请求的目的,随着教程的深入我们会手把手的教会大家一步步的完成这些操作,是不是有些期待了呢,记得要关注我们并向你身边的朋友们推荐哦。

Fiddler的所能及其所不能

在第一讲的最后我们先给大家来说说Fiddler工具的优缺点吧,以便大家能够在第一时间判断哪些情况下可以使用Fiddler而哪些情况是Fiddler无能为力的。

Fiddler之所能

  • 查看Web流量及其顺序
  • 查看每一对Request/Response的Header,Cookies,Cache,正文等信息及请求时间等
  • 保存已经产生的请求序列用于后续查看或回放
  • 解密HTTPS并查看其内容
  • 修改Request/Response以满足特殊的测试或Hack需求
  • 通过FiddlerScript和FiddlerExtention可以完成强大的可编程网络功能

Fiddler之所不能

  • Fiddler只能用于HTTP/HTTPS/FTP请求的debug,而对那些直接使用TCP协议,或者使用SMTP, POP3, Telnet, IRC等协议的数据包就无能为例了
  • Fiddler只能检测到通过Fiddler代理的流量
  • Fiddler所有的请求都是直接存储在内存中的,因此在处理很大的包时速度会比较慢

总而言之,Fiddler是一个非常强力的HTTP协议调试工具,无论是用于网页测试还是客户端API测试都是一把利器,掌握好这个工具一定能让你在以后的工作中事半功倍。当然由于是和HTTP协议强相关的,大家还需要对HTTP协议有一个基本的了解,推荐大家去看《HTTP权威指南》啦。

你可能感兴趣的:(01.Fiddler工具简介及安装)