fiddler常用命令:
selelct xx: 高亮显示所有的text,js,image等响应类型
?xxx:匹配所有url、protocol、host中包含xxx的会话
=404:选择响应状态码为404的会话
@host:选择包含指定host的会话
>6k:高亮所有尺寸大于6KB的会话
cls:清空所有会话,类似于ctrl+x
dump:将所有的会话打包成 .zip 压缩包的形式保存到 C 盘根目录下。
g 或 go:放行所有中断下来的会话。
hide:将fiddler隐藏;
allbut或keeponly:跟 select 类似,不过 allbut 和 keeponly 会将所有无关的会话删除。

功能点:

AutoResponder:自动回复,将本地资源代替服务端的网络资源传给客户端。添加会话,添加规则,选择正则匹配规则,选择 本地文件,保存。
composer:组合器,克隆之前的请求。拖动请求至右端,自行修改参数,执行。

fiddler的工作原理:
首先fiddler截获客户端浏览器发送给服务器的https请求, 此时还未建立握手。

第一步, fiddler向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。

第二步, fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器, 客户端浏览器做跟fiddler一样的事。

第三步, 客户端浏览器生成https通信用的对称密钥, 用fiddler伪造的证书公钥加密后传递给服务器, 被fiddler截获。

第四步, fiddler将截获的密文用自己伪造证书的私钥解开, 获得https通信用的对称密钥。

第五步, fiddler将对称密钥用服务器证书公钥加密传递给服务器, 服务器用私钥解开后建立信任, 握手完成, 用对称密钥加密消息, 开始通信。

第六步, fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端浏览器。

第七步, 客户端向服务器发送消息, 用对称密钥加密, 被fidller截获后, 解密获得明文。

由于fiddler一直拥有通信用对称密钥, 所以在整个https通信过程中信息对其透明。

所有发往服务器的请求都会被fiddler截获。
浏览器打开后就会产生很多进程,每个进程又对应着一个或多个端口,打开一个网页的过程中,操作系统给浏览器的某个进程分配一个端口,动态分配,即为源端口,去访问服务器端的80端口。

最新文章

  1. android 开发高仿QQ表情选择、输入框
  2. js及jQuery实现checkbox的全选、反选和全不选
  3. 10670 Work Reduction (贪心 + 被题意坑了- -)y
  4. debian安装mono环境
  5. Swift基本语法学习笔记
  6. JSON基础知识总结
  7. FTP主动模式和被动模式的区别
  8. 通过window.location.search获取页面url传递的参数
  9. 我眼中的 Nginx(三):Nginx 变量和变量插值
  10. odoo 配置文件参数大全
  11. 【小工具】根据定义的白名单字段进行Bean的拷贝
  12. 十九、Spring框架(注解方式测试)
  13. python linux 下开发环境搭建
  14. Django项目之cookie+session
  15. LruCacahe在美团DSP系统中的应用演进
  16. WPS 2019 去除自动升级 和 广告、及优化的点
  17. Hibernate有五大核心接口,分别是:Session Transaction Query SessionFactoryConfiguration
  18. go语言操作mongodb
  19. idea创建maven多应用工程
  20. 线程相关函数(4)-pthread_mutex_lock(), pthread_mutex_unlock() 互斥锁

热门文章

  1. 【Python3网络爬虫开发实战】 分析Ajax爬取今日头条街拍美图
  2. Java多态之向上转型
  3. win7再分配磁盘新加卷
  4. python数据结构——单向链表
  5. Jenkins编译过程中出现ERROR_ Failed to parse POMs错误
  6. Vue中无法检测到数组的变动
  7. 【CentOS7】设置静态IP地址
  8. 《大型网站系统与Java中间件》读书笔记(上)
  9. 一起学Spring之Web基础篇
  10. Yii2 框架整体结构