Fiddler运行原理
Fiddler
的原理简单点说就是通过改写HTTP代理
然后让网络数据
从Fiddler
这边通过 这样子来监控并且截取到网络信息数据。当你打开Fiddler
的时候, 就已经设置好了浏览器的代理了。当你关闭的时候,它会自动的帮你把代理还原
之前也说过了 B/S
架构就是客户端
和服务器
之间的 请求和响应
, 刚刚我们也知道了Fiddler
通过代理
的形式来进行监听,它在请求和响应
中起到一个什么样的角色呢?
这里还要清楚一点的就是 浏览器
默认走的是我们的系统代理
其实这里的代理监听
就是在 请求和响应
之间插了一脚, 让fiddler
成为系统代理
在你安装好Fiddler
之后启动,并可以打开菜单栏中的Tools--->options--->Connections
如下图
看到了吧,这里有一句Act as system proxy on startup
意思就是(在启动时充当系统代理)
,并且默认监听端口设置为了8888
如图
)
这里以chrome浏览器
为例:
只要fiddler
一旦启动并开始监听
的时候,就会默认成为系统代理
, 所以你的网络请求 也就会被fiddler
所抓取到!
如图
或者如下图一样Fiddler
就是一个中间的proxy(代理服务器)
当关闭fiddler
的时候,手动设置代理
选项就会被清空
所以我们才会说Fiddler
是介于客户端
和服务器
中间的一个角色, 监控客户端
和服务器
所有通信的过程!
小结
Fiddler
是以代理WEB服务器
的形式工作的,浏览器与服务器
之间通过建立TCP连接以HTTP协议
进行通信,
浏览器默认通过自己发送HTTP请求
到服务器
,本地使用代理地址:127.0.0.1, 端口:8888
.
而当Fiddler
开启会自动设置系统代理
, 退出的时候它会自动注销代理
,这样就不会影响别的程序。
但是如果Fiddler
非正常退出,这时可能会因为Fiddler
没有自动注销,而会造成网页无法访问。
解决的办法是重新启动下Fiddler
就可以了, 这也是有很多新手安装了Fiddler
之后导致一些网络无法访问的原因之一!