十四、Fiddler抓包工具详细教程 — Fiddler抓包HTTPS请求(一)
###文章内容有配套的 学习视频和笔记都放在了文章末尾###
1、Fiddler抓取HTTPS过程
- 第一步:Fiddler截获客户端发送给服务器的HTTPS请求,Fiddler伪装成客户端向服务器发送请求进行握手 。
- 第二步:服务器发回相应,Fiddler获取到服务器的CA证书, 用根证书(这里的根证书是CA认证中心给自己颁发的证书)公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。
然后Fiddler伪造自己的CA证书(这里的CA证书,也是根证书,只不过是Fiddler伪造的根证书), 冒充服务器证书传递给客户端浏览器。(也就服务器发给客户端的证书被Fiddler留下了,伪造了一个证书发给客户端) - 第三步:与普通过程中客户端的操作相同,客户端根据返回的数据进行证书校验、生成密码
Pre_master
、用Fiddler伪造的证书公钥加密,并生成HTTPS通信用的对称密钥enc_key
。 - 第四步:客户端将重要信息传递给服务器,又被Fiddler截获。
Fiddler将截获的密文用自己伪造证书的私钥解开,获得并计算得到HTTPS通信用的对称密钥enc_key
。
Fiddler将对称密钥用服务器证书公钥加密传递给服务器。 - 第五步:与普通过程中服务器端的操作相同,服务器用私钥解开后建立信任,然后再发送加密的握手消息给客户端。
- 第六步:Fiddler截获服务器发送的密文,用对称密钥解开,再用自己伪造证书的私钥加密传给客户端。
- 第七步:客户端拿到加密信息后,用公钥解开,验证HASH。握手过程正式完成,客户端与服务器端就这样建立了”信任“。
2、拓展:SSL/TLS证书握手原理
普及下SSL/TLS证书握手原理,SSL/TLS证书分为单向认证和双向认证,通过下面的两张图可以简单的了解一下原理。
单向认证:
双向认证:
3、Fiddler抓取https原理总结
在之后的正常加密通信过程中,Fiddler如何在服务器与客户端之间充当第三者呢?
服务器—>客户端:Fiddler接收到服务器发送的密文,用对称密钥解开,获得服务器发送的明文。再次加密,发送给客户端。
客户端—>服务端:客户端用对称密钥加密,被Fiddler截获后,解密获得明文。再次加密,发送给服务器端。由于Fiddler一直拥有通信用对称密钥enc_ke
y, 所以在整个HTTPS通信过程中信息对其透明。
4、Fiddler抓取HTTPS设置
因为Fiddler是一个HTTP代理服务,它位于客户端和服务器端之间,而安装好Fiddler的只可以对HTTP协议进行抓包。
如果需要对HTTPS的协议进行抓包分析,就需要对Fiddler工具进行配置,使得Fiddler工具也可以抓到HTTPS协议的包。
如果没有进行任何的配置就想用Fiddler来抓包分析是实现不了的,即使抓出来也是看不懂的加密内容。因为没有受信任的Fiddler根证书,不能让客户端相信Fiddler伪造的CA证书,从而得到Pre_master
。
步骤1:配置证书
Tools菜单 —> Options... —> HTTPS —> 勾选Decrypt HTTPS traffic
如下图:
说明:
勾选Decrypt HTTPS traffic选项:Decrypt HTTPS traffic
:意思是解密HTTPS流量(请求)。
然后会弹出一个对话框,如下图:
意思是:为了能够拦截HITTPS通信,Fiddler生成了唯一的根证书。您可以将Windows配置为信任此根证书,以禁止显示安全警告。单击“是”以重新配置Windows的受信任CA列表。
然后接着弹出对话框如下:点击是,确认安装此证书。
是否确认将证书添加到计算机根目录列表?点击是。
最后提示:成功将Fiddler的根证书添加到计算机根列表中。
步骤2:勾选设置
当勾选Decrypt HTTPS traffic
选项的时候,会提示你安装证书,安装好证书之后,HTTPS选项界面如下:
我们在继续勾选Ignore server certificate errors (unsafe)
选项:忽略服务器证书错误(不安全)。
之后点击OK就可以抓取HTTPS的请求了(我试过了不需要重启)。
重点:配套学习资料和视频教学
那么在这里我也精心准备了上述大纲的详细资料在下方链接如下
相关文章
- glassfish安装教程_Glass Shatters
- 批量筛选QQ靓号教程
- 抓包工具Charles使用教程
- Spring batch教程 之 spring batch简介
- SM2258XT固态硬盘不认盘量产修复开卡工具 SM2258XT开卡教程
- Navicat Premium 15 破解激活工具及安装教程(永久激活亲测可用)
- 电信光纤友华PT921G,烽火HG220光猫激活成功教程关闭自带路由改桥接拨号教程「建议收藏」
- 羊了个羊APP/H5网页/小程序游戏系统开发搭建教程及部署源码
- Windows下的labelme数据标注工具安装教程[通俗易懂]
- CAD安装包2023软件中文汉化版安装教程
- [哎]关于ftp扫描工具的激活成功教程问题
- vue devtools使用教程_vue debug
- jadxgui反编译教程_apktool工具反编译apk
- 没想到一个在线qPCR工具这么火爆,再写个文字教程吧~
- 开心档之Vue教程1
- 工具系列 | Casbin在PHP中的使用教程
- AppUploader教程:如何使用该工具制作Apple证书
- 「Docker学习系列教程」基础篇小总结及高级篇预告
- PDF编辑工具-Adobe Acrobat Pro DC 2020 软件保姆式安装教程
- AutoCAD2020软件下载与安装教程 cad软件全版本下载
- Jetbrains IDEA 2020最新安装破解教程,JetBrains编程工具全家桶
- 火爆全网的ChatGPT,傻妞对接OpenAI人工智障的小白搭建教程
- Office365中文版激活,Office2021办公软件下载安装激活工具教程
- InCopy(Ic)是一种什么软件可以用来做什么?Ic详细下载安装教程
- sql编程工具Sql Prompt下载及安装破解图文教程
- MySQL Workbench使用教程
- 轻松学习Oracle 10使用技巧(oracle10使用教程)
- 教程Redis延时队列视频教程让你真正掌握缓存技术(延时队列redis视频)