一、Fiddler简介:

Fiddler是一款免费且功能强大的数据包抓取软件。是位于客户端和服务器端之间的http(s)代理,它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,记录所有客户端和服务器间的http请求,针对特定的http(s)请求,分析网络传输的数据,支持监视,还可以设置断点、修改请求的数据和服务器返回的数据。Fiddler包含了一个强大的基于事件脚本的子系统,并且能够使用.net框架语言扩展。

二、Fiddler工作原理:

Fiddler工作于OSI七层模型中的应用层,Fiddler在浏览器与服务器之间建立一个代理服务器,能够捕获通过的http(s)请求。Fiddler启动后会自动将代理服务器设置成本机,默认端口为8888。Fiddler不仅能记录PC上浏览器的网络请求数据,还可以记录同一网络中的其他设备的HTTP(S)请求数据。数据传递流程大致如下:

三、Fiddler抓取HTTPS原理:

现在APP中的数据传输基本上都使用HTTS传输,传输的数据都是经过加密的,这增加了我们分析数据包的难度,还好Fiddler除了可以抓取HTTP数据包,还可以抓取HTTPS数据包。由于HTTPS传输需要使用到CA证书,所以抓取https数据包时需要做一些特殊配置。Fiddler截取HTTPS报文的流程大致如下:

(1) 客户端请求建立HTTPS链接,发送客户端支持的加密协议及版本列表等信息给服务器端。

(2) Fiddler接受客户端请求,并伪装成客户端向WEB服务器发送相同的请求。

(3) WEB服务器收到Fiddler的请求以后,从请求中筛选合适的加密协议。并返回服务器CA证书,证书中包括公钥信息。

(4)Fiddler收到WEB服务器的响应后,保存服务器证书并伪造一个自签名的CA证书,伪装成服务器,把该证书下发给客户端。

(5)客户端验证证书合法性。(Fiddler能否抓取到HTTPS报文关键看这一步)

(6)客户端生产对称密钥,并使用伪造的公钥证书进行加密,发送给服务器。

(7)Fiddler拦截客户端的请求以后,使用伪造的私钥解密该报文,获取对称加密秘钥,并使用真正服务器证书中带的公钥加密该对称密钥发送给WEB服务器。(此时对称密钥已经泄露了,以后可以使用该秘钥解密客户端和服务器端传输的数据)

(8)WEB服务器接收到客户端发送的加密的对称密钥后,使用私钥解密,并使用对称密钥加密测试数据传给客户端。

(9)Fiddler使用前面获取的对称密钥解密报文。

(10)客户端验证数据无误以后,HTTPS连接就建立完成,客户端开始向服务器发送使用对称密钥加密的业务数据。

(11)Fiddler使用前面获取的对称密钥解密客户端发送的数据,并重新加密转发给服务器端。

Fiddler抓包原理解析相关推荐

  1. Fiddler 抓包工具解析(保存)

    阅读目录 1. Fiddler 抓包简介 1). 字段说明 2). Statistics 请求的性能数据分析 3). Inspectors 查看数据内容 4). AutoResponder 允许拦截制 ...

  2. Fiddler-2 Fiddler抓包原理

    1 fiddler抓包是在 客户端和服务器之间建立一个代理服务器,监听本机发出的请求和服务器返回的响应结果. 截一张官网的图: 2 启动fiddler之前,[dinghanhua]先来看一下代理服务器 ...

  3. Fiddler抓包简易教程

    由于本人能力有限,文中若有错误之处,欢迎指正. 转载请注明出处:http://www.jianshu.com/p/9e05a2522758 Fiddler是什么? Fiddler是一个http协议调试 ...

  4. Fiddler 抓包工具“测试人员”高频使用方法

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 抓包工具简介 一.Fiddler 抓包原理 二.Fiddler 的下载安装 1. [下载地址](https://www.te ...

  5. 网络抓包原理及Fiddler的使用

    一. 什么是抓包? 在应用的开发调试中,查看软件实际运行时HTTP/HTTPS通信的请求数据和返回数据,从而分析问题的过程就叫做抓包.通常我们说的抓包主要是分为两种: 使用Wireshark抓取传输层 ...

  6. 利用Fiddler抓包解析,轻松下载m3u8格式网络视频

    前言:有老师上课需要视频资料,联系我能不能把微信小程序中的视频课程下载下来,我说当然可以! 1. Fiddler抓包 Fiddler是一款很牛逼的抓包工具. 1.下载并打开fiddler软件: 2.微 ...

  7. Fiddler抓包使用教程-扫盲篇

    Fiddler抓包使用教程-扫盲篇 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72823370 本文出自[赵彦军的博客] 1.什 ...

  8. [JavaWeb开发中]HTTP 协议的基本格式和Fiddler抓包工具

    目录 1.HTTP是什么? 2.经典的模型图 3.当我们按下回车发生了什么? 4.理解 HTTP 协议的工作过程 5.HTTP 协议格式 1.常用的抓包工具 2.抓包原理 3.抓包结果 4.协议格式总 ...

  9. Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二)

    [网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持.MAC泛洪)及数据流追踪和图像抓取(二) 2019年09月22日 21:55:44 Eastmount 阅读数 3515 文章标签:  ...

最新文章

  1. Python之父重回决策层,社区未来如何发展?
  2. 小学教师计算机国培培训总结,小学教师国培个人研修总结
  3. cv python 样例_【CV实战】OpenCV—Hello world代码示例
  4. NSOprationQueue 与 GCD 的区别与选用
  5. IntelliJ IDEA绑定Github报Error 403: Not Authorized没有授权问题解决方法
  6. ubuntu16.04安装,使用redis布隆过滤器示例
  7. Mind_Manager_2
  8. 关于 try catch 捕捉不到异常
  9. 谈谈spring-boot不同包结构下,同样的类名冲突导致服务启动失败解决方案
  10. 文件管理类函数(1)
  11. Web Server 配置及上传文件
  12. html中复选框只能选一个,HTML选择三个不同的复选框并显示它们
  13. 计算几何 - 你绝对找不到比这更好的计算几何
  14. Django 文档 -- 记录我的Django学习之旅
  15. Just For Fun(乐者为王)——Linux创始人
  16. 7-4 平面向量加法 (15 分)---->c语言的深度刨析
  17. 人脸识别原理:(初级篇)内含PPT
  18. benchmark测试
  19. Android代码报错:setContentView(R.layout.activity_main)
  20. 华为服务器上传文件,云服务器上传文件方式

热门文章

  1. 七十一、Python | Leetcode字符串系列(上篇)
  2. R中方差,协方差,相关系数
  3. 被忽视的fuzzywuzzy库
  4. Apache配置虚拟主机三大问题--自己的相关坑
  5. 算法改进有多快?是否比迭代硬件收益更大?这是MIT的结论
  6. ACM公选课第八节DP基础3 2020.4.23-5.10补
  7. java编程数据溢出问题_Java数据溢出代码详解
  8. 【LeetCode】LeetCode之打家劫舍Ⅱ——暴力递归+动态规划解决循环问题+DP空间优化
  9. Shiro+springboot+mybatis+EhCache(md5+salt+散列)认证与授权-03
  10. 牛客题霸 NC5 二叉树根节点到叶子节点的所有路径和