IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 第九:Fiddler抓包教程(9)-Fiddler如何设置捕获Https会话 -> 正文阅读

[网络协议]第九:Fiddler抓包教程(9)-Fiddler如何设置捕获Https会话

一.简介

1.由于近几年来各大网站越来越注重安全性都改成了https协议,不像前十几年前直接是http协议直接裸奔在互联网。还有的小伙伴或者童鞋们按照上一篇的配置都配置好了,想大展身手抓一下百度的包,结果一试傻眼了,竟然毛都没有抓到,怀疑是不是上了当了。不是的哈,今天趁热打铁接着讲解如何抓取https协议会话。

二.什么是HTTPS?

1.HTTPS就是加过密的HTTP。使用HTTPS后,浏览器客户端和Web服务器传输的数据是加密的,只有浏览器和服务器端知道内容。

2.HTTPS = HTTP + TLS或者SSL。采用HTTPS的网站需要数字证书认证机构(Certificate Authority,CA)申请证书。

3.通过这个证书,浏览器在请求数据前与Web服务器有几次握手验证,以证明相互的身份,然后对HTTP请求和响应进行加密。

三.HTTPS协议传输的原理

在这里插入图片描述

四.Fiddler捕获Http协议会话

1.Fiddler是很好的抓包工具,默认是抓Http协议请求的(经过上一篇的配置就可以成功捕获),但是不会捕获Https协议会话,需要你进一步配置才能抓取Https会话。

在这里插入图片描述

五.Fiddler抓取HTTPS原理

1.现在无论是网站还是APP中的数据传输基本上都使用HTTS传输,传输的数据都是经过加密的,这增加了分析数据包的难度,还好Fiddler除了可以抓取HTTP数据包,还可以抓取HTTPS数据包。由于HTTPS传输需要使用到CA证书,所以抓取抓取HTTPS数据包时需要做一些特殊配置。

2.Fiddler截取HTTPS报文的流程大致如下

在这里插入图片描述

3.上图图解说明

3.1.客户端请求建立HTTPS链接,发送客户端支持的加密协议及版本列表等信息给服务器端。
3.2.Fiddler接受客户端请求并伪装成客户端向WEB服务器发送相同的请求。
3.3.WEB服务器收到Fiddler的请求以后,从请求中筛选合适的加密协议。并返回服务器CA证书,证书中包括公钥信息。
3.4.Fiddler收到WEB服务器的响应后保存服务器证书并自签名一个CA证书,伪装成服务器,把该证书下发给客户端。
3.5.客户端验证证书合法性。(Fiddler能否抓取到HTTPS报文关键看这一步)。
3.6.客户端生产对称密钥,通过证书的公钥加密发送给服务器。
3.7.Fiddler拦截客户端的请求以后,使用私钥解密该报文,获取对称加密秘钥,并使用服务器证书中带的公钥加密该对称密钥发送给WEB服务器。此时对称密钥已经泄露了,以后可以使用该秘钥界面客户端和服务器端传输的数据。
3.8.WEB服务器接收到客户端发送的加密的对称密钥后使用私钥解密,并使用对称密钥加密测试数据传给客户端。
3.9.Fiddler使用前面获取的对称密钥解密报文。
3.10.客户端验证数据无误以后HTTPS连接就建立完成,客户端开始向服务器发送使用对称密钥加密的业务数据。
3.11.Fiddler使用前面获取的对称密钥解密客户端发送的数据并重新加密转发给客户端。

六.Fiddler捕获Https协议会话

1.默认情况下,Fiddler不会捕获HTTPS请求,需要进行设置。

2.当浏览器访问HTTPS网页的时候,Fiddler能捕获到很多握手验证的请求,比如用浏览器访问:Https://www.baidu.com ,在Fiddler中就能抓到很多“Tunnel to”的请求

在这里插入图片描述

3.在没有进一步配置之前用Fiddler抓包时候,分别用FireFox和Chrome浏览器打开百度网页:https://www.baidu.com 可以在会话面板看到百度信息,但是进行查看是Fiddler的监控面板出现黄色的告警“Https decryption is disabled click to configure”(翻译:https 解密被禁用 ,点击配置)。至于IE浏览器,微软已经官宣它已经要落幕退役,这里就不做过多的介绍了。当然了Firefox浏览器有些版本也会有特殊情况需要你进一步配置,这个在后边会做介绍的。

4.从图中可以清楚地看到Host列中出现Tunnel to…字样”,总之以后如果会话列表中的Host列中出现Tunnel to…字样都说明是证书的问题,这种就不能抓取到我们想要的会话。那么要抓取https协议的会话需要打开配置安装证书才可以,毕竟目前很多网站都是https协议的,所以在抓包之前,我们还要配置一下证书 否则无法抓包。那么接下来跟随看看Fiddler如何配置证书。

在这里插入图片描述

七.Fiddler证书配置

1.启动FIddler,然后在菜单栏点击Tools---->Options---->HTTPS 。

在这里插入图片描述

2.依次勾选“Capture HTTPS CONNECTs”(捕获HTTPS连接)和勾选“Decrypt HTTPS traffic”(解密HTTPS流量),然后会弹出一个对话框 直接点击YES即可。

在这里插入图片描述

3.敲黑板!!!

3.1.第一次安装的Fiddler那么正常情况下会弹出证书安装的相关提示。如果有的小伙伴或者童鞋们没有弹出提示,也不要着急上火和担心,可以点击Actions—> Trust Root Certificate(信任根证书)就会弹出一模一样的证书安装相关提示。

在这里插入图片描述

3.2.点击“Yes”后,接下来弹出的对话框全部傻瓜式地点击“是”即可。

在这里插入图片描述

3.3.弹出“Added Fiddler’s root certificate to the Machine Root list”(将Fiddler的证书添加到机器根目录列表中) ,点击“确定”。

在这里插入图片描述

3.4.最后把下面的:“Ignore server certificate errors(unsafe)”忽略服务器证书错误(不安全)和“check for certificate revocation ”(证书撤销检查)这两个选项也勾选上。到此证书也已经安装到Fiddler上了。

在这里插入图片描述

八.查看安装到Fiddler的证书

1.方法一

1.1.可以点击Actions中选择Open Windows Certificate Manager这一个选项, 打开打开Windows证书管理器去查看。

在这里插入图片描述

1.2.打开打开Windows证书管理器 之后点击菜单栏上的 操作—>查找证书然后输入Fiddler 就会查找出证书了(如果没有说明没有安装成功)

在这里插入图片描述

1.3.证书名为DO_NOT_TRUST_FiddlerRoot 大家可以对照着看看。

在这里插入图片描述

2.方法二

2.1.WIN+R打开运行,输入certmgr.msc回车,点击“受信任的根证书颁发机构—>点击“证书”,查看

在这里插入图片描述

九.信任证书

1.证书安装了之后,还要设置一下信任才行。

1.1.直接选择Tools—>Options---->HTTPS---->Actions—>Trust Root Certificate 。

在这里插入图片描述

1.2.在接下来弹出的对话框中直接点击确定或yes就行了。好了到此为止,大功告成!现在如果不出意外的话就可以进行正常的抓取HTTPS包了。

在这里插入图片描述

3.敲黑板!!!

3.1.如果还是不行,那么最好重置一下证书 在Actions中选择Reset All Certificates(重置所有证书) 然后点击确定删除Fiddler所配置的证书,最后重新执行之前的步骤就可以。

在这里插入图片描述

十.小结

1.会遇到的问题:证书导出失败,出现如下提示:Unable to configure Windows to Trust the Fiddler Root…

在这里插入图片描述

2.解决方案:找到fiddler->工具栏tools->options,再选择HTTPS,点击CertEnroll engine,选择MakeCert即可点击OK保存,最后切记重启fiddler!!!

在这里插入图片描述

十一.拓展

1在Skip decryption中输入ip地址或者域名可以用来跳过该主机或域名的https数据抓取,这个也相当是过滤功能!

在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-09-25 23:23:31  更:2022-09-25 23:24:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:46:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码