Fiddler工作原理

Fiddler作为http代理服务器,工作在应用层,能捕获HTTP(S)请求。它通过设置代理(默认127.0.0.1:8888)使得浏览器请求经Fiddler转发,实现请求的解析、修改和重定向。代理模式分为流模式和缓冲模式,分别对应实时返回和延迟返回。Fiddler常用功能包括解析请求、修改请求、重定向和构造请求,是HTTP协议调试的重要工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Fiddler工作原理:
浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器。 而Fiddler是http代理服务器,fiddler工作于七层中的应用层能够捕获到通过的http(s)请求。fiddler启动后会自动将代理服务器设置为本机,端口是fiddler监听端口。监听的端口号在fiddler 菜单 Tools- TeleriK Fiddler options-connections中可以修改。
所以,fiddler作为一个代理服务器,跟浏览器建立连接之后,浏览器像目标服务器发送的请求都会经过fiddler代理,所以fiddler可以捕获到http(s)请求,从而可以解释、分析、甚至重写发出去的http(s)请求。

简单说就是:
浏览器 < -> Fiddler < -> 服务器

Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,它使用代理地址:127.0.0.1, 端口:8888。当Fiddler开启会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。
不过如果Fiddler 非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

代理模式:流模式与缓冲模式
流模式:fiddler会实时把服务器返回给客户端的数据进行返回。
缓冲模式:fiddler会等待所有的请求都准备好之后才返回给客户端。
区别:缓冲模式下可以控制最后的服务器响应;而流模式下不能控制,是什么就是什么,更接近浏览器本身的真实行为。

在平常的调试中,fiddler常用于:
1、解析请求:如:解析http请求状态,请求头,请求正文,返回头,返回正文等
2、修改请求,如:设置断点,则可以修改发出去的请求数据,或者修改请求返回的数据
3、重定向请求,如:替换远程文件,则可以调试线上的js/css代码
4、构造请求,如:构造请求发送数据,比如可以用于的测试网站安全性

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式,Fiddler 是用C#写出来的,它包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,它的灵活性非常棒,可以支持众多的http调试任务,并且能够使用.net框架语言进行扩展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值