Fiddler原理~知多少?
首先我们学习Fidder这个工具,我们就应该去了解它的基本东西,比如这个单词的意思。Fiddler叫:小提琴、骗子的意思。
那么它是干什么的呢?
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式,Fiddler 是用C#写出来的,它包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,它的灵活性非常棒,可以支持众多的http调试任务,并且能够使用.net框架语言进行扩展。
那么从简介中可以看到,他是一个http协议的调试工具,那HTTP协议是干什么呢?
HTTP(HyperText Transport Protocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。
刚才我说fiddler是个骗子,那它怎么骗的啊,我们来打开一下。
刚刚打开没多久,这些列表就会慢慢的加进来,这是什么呢?这是来自于你电脑上的http请求的信息。实际上fiddler打开之后就已经进行代理了。
Fiddler的原理
左侧是我们的客户端,就是一些终端,那它访问各种网站的时候,会通过http请求通过进行fiddler进行代理,然后再通过fiddler的转发请求服务器,服务器再通过response进行响应,反正就是通过fiddler是个中间层。就是这么个意思。当然,在打开fiddler的时候就已经打开代理了。它是如何进行代理的呢?
为什么我们打开应用或者说软件就会被fiddler进行代理呢?我们随便打开个页面,例如百度新闻。
我们发现,我们只要干什么事,都被会被他们截取,他们究竟是干了什么邪门的事情?我们打开浏览器的设置-搞基-系统-代理。
如下图,我们逐一打开,发现其中的端口号和我们的Fiddler工具中的设置端口一毛一样,这就是代理工具关键。当然这也是fiddler修改的。意思就是中间经过了个人,就是这个代理工具,fiddler,所以它能抓到这个包。
其中需要注意的是,当fiddler一关闭,那么这个代理就会被关闭,也就变成灰色的了。
如果是其他浏览器,有可能打开fiddler那个代理可能不会自动开启,需要你自己找,自己开,自己关。。。。