Fiddler工作原理
来源:互联网 发布:淘宝购买送货入户 编辑:程序博客网 时间:2024/06/15 20:22
1 fiddler抓包是在 客户端和服务器之间建立一个代理服务器,监听本机发出的请求和服务器返回的响应结果。
2 启动fiddler之前,先来看一下代理服务器设置. 默认没有代理服务器。
3 启动fiddler。再次查看代理服务器设置。
Fiddler工作原理:
浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器。 而Fiddler是c#开发(微软出品,主要作者Eric Lawrence)的http代理服务器,fiddler工作于七层中的应用层,能够捕获到通过的http(s)请求。fiddler启动后会自动将代理服务器设置为本机,端口是fiddler监听端口。监听的端口号在fiddler 菜单 Tools- TeleriK Fiddler options-connections中可以修改。
下面跟踪一下fiddler的运行过程:
1、在启动fiddler之前端口8888的状态
命令:netstat -ano|findstr “8888″
表示查不到占用状态
2、启动fiddler之后:
在启动fiddelr之后可以发现8888端口被5256线程给监听
可以查看到5256线程为fiddler程序:
命令:tasklist |findstr “5256″
3、然后启动Chrome浏览器,浏览网页就会发现:
5658进程与fiddler建立了tcp连接,发送端为5658进程占用3258端口,接收端为fiddler(5256)占用的8888端口
命令:netstat -ano|findstr “8888″
查看5568进程,为chrome程序
命令:tasklist |findstr “5568″
同理,打开Firefox浏览器,浏览网页也是如此:
7836进程与fiddler建立了tcp连接,发送端为7836进程占用3294端口,接收端为fiddler(5256)占用的8888端口
命令:netstat -ano|findstr “8888″
查看7836进程,为firefox程序:
命令:tasklist |findstr “7836″
ps:要注意的firefox中需要手工将代理设置成fiddler:127.0.0.1:8888,因为Firefox不是使用系统默认的winINET(不过刚亲自试验发现安装fiddler后,firefox会提示安装fiddler插件,之后就不需要在手动配置了,如果不能监听火狐,就手动配置一下吧~)
所以,fiddler作为一个代理服务器,跟浏览器建立连接之后,浏览器像目标服务器发送的请求都会经过fiddler代理,
所以fiddler可以捕获到http(s)请求,从而可以解释、分析、甚至重写发出去的http(s)请求。
简单说就是:
浏览器 < -> Fiddler < -> 服务器
在平常的调试中,fiddler常用于:
1、解析请求:如:解析http请求状态,请求头,请求正文,返回头,返回正文等
2、修改请求,如:设置断点,则可以修改发出去的请求数据,或者修改请求返回的数据
3、重定向请求,如:替换远程文件,则可以调试线上的js/css代码
4、构造请求,如:构造请求发送数据,比如可以用于的测试网站安全性
- Fiddler工作原理
- Fiddler 工作原理
- Fiddler工作原理
- Fiddler工作原理、使用场景
- fiddler工作原理和设置代理问题
- fiddler工作原理和设置代理问题
- Fiddler的工作原理(二)
- 测试工具Fiddler+jmeter+monkey工作原理总结
- fiddler原理
- Fiddler抓取https原理?
- Fiddler使用,http原理
- charles、Fiddler抓取https原理
- Fiddler抓取https的原理
- Fiddler--下载安装、原理、教程
- Fiddler的使用及原理
- 工作原理
- HTTPS-使用Fiddler抓取HTTPS数据包原理
- Fiddler
- 关于CSS布局的核心概念的快速入门指南
- 2013计算机视觉代码合集四
- 面试题24二叉搜索树的后序遍历序列
- 精品拍卖系统技术解析 拍卖会大厅
- tensorflow使用
- Fiddler工作原理
- NYOJ 113 字符串替换
- Java 二维数组的使用
- js实现倒计时
- JS中number数据类型
- 求助!!!求助啊!!!Android studio疯了...
- [DP套DP] BZOJ 3864 Hero meet devil
- Android 获取View的坐标
- 算法学习----合并两个有序的链表