您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

Fiddler抓取HTTPS最全(强)攻略!后悔没有早知道

时间:2022-03-31 15:26:27  来源:  作者:软件测试小p
Fiddler抓取HTTPS最全(强)攻略!后悔没有早知道

 

对于想抓取HTTPS的测试初学者来说,常用的工具就是fiddler。

但是初学时,大家对于fiddler如何抓取HTTPS难免走歪路,也许你一步步按着网上的帖子成功了,这自然是极好的。

但也有可能没那么幸运,这时候你就会很抓狂。

为此我把一些我自己的安装经验和网络上的教程进行了整合

下面为大家演示如何用fiddler抓取HTTPS的详细教程。如若失败,请先仔细检查,避免错过细节!然后重新重试!

01

浅谈HTTPS

我们都知道HTTP并非是安全传输,在HTTPS基础上使用SSL协议进行加密构成的HTTPS协议是相对安全的。目前越来越多的企业选择使用HTTPS协议与用户进行通信,如百度、谷歌等。HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。网上有诸多资料,有些写得过于晦涩难懂,尤其是需要密码学的一些知识。我做了一下简单的整理,刨除复杂的底层实现,单从理解SSL协议的角度宏观上认识一下HTTPS。一言以弊之,HTTPS是通过一次非对称加密算法(如RSA算法)进行了协商密钥的生成与交换,然后在后续通信过程中就使用协商密钥进行对称加密通信。HTTPS协议传输的原理和过程简图如下所示:

Fiddler抓取HTTPS最全(强)攻略!后悔没有早知道

 

HTTPS协议传输原理

一共有8个步骤,我们针对每一步,具体看看发生了什么事:

第一步,客户端发起明文请求:将自己支持的一套加密规则、以及一个随机数(Random_C)发送给服务器。

第二步,服务器初步响应:服务器根据自己支持的加密规则,从客户端发来的请求中选出一组加密算法与HASH算法,生成随机数,并将自己的身份信息以证书(CA)的形式发回给浏览器。CA证书里面包含了服务器地址,加密公钥,以及证书的颁发机构等信息。这时服务器给客户端的包括选择使用的加密规则、CA证书、一个随机数(Random_S)。

第三步,客户端接到服务器的初步响应后做四件事情:

(1)证书校验: 验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等)。

(2)生成密码:浏览器会生成一串随机数的密码(Pre_master),并用CA证书里的公钥加密(enc_pre_master),用于传给服务器。

(3)计算协商密钥:

此时客户端已经获取全部的计算协商密钥需要的信息:两个明文随机数 Random_C 和 Random_S 与自己计算产生的 Pre-master,计算得到协商密钥enc_key。

enc_key=Fuc(random_C, random_S, Pre-Master)

(4)生成握手信息:使用约定好的HASH计算握手消息,并使用协商密钥enc_key及约定好的算法对消息进行加密。

第四步,客户端将第三步产生的数据发给服务器:

这里要发送的数据有三条:

(1)用公钥加密过的服务器随机数密码enc_pre_master

(2)客户端发给服务器的通知,"以后我们都要用约定好的算法和协商密钥进行通信的哦"。

(3)客户端加密生成的握手信息。

第五步,服务器接收客户端发来的数据要做以下四件事情:(1)私钥解密:使用自己的私钥从接收到的enc_pre_master中解密取出密码Pre_master。

(2)计算协商密钥:此时服务器已经获取全部的计算协商密钥需要的信息:两个明文随机数 Random_C 和 Random_S 与Pre-master,计算得到协商密钥enc_key。

enc_key=Fuc(random_C, random_S, Pre-Master)

(3)解密握手消息:使用协商密钥enc_key解密客户端发来的握手消息,并验证HASH是否与客户端发来的一致。

(4)生成握手消息使用协商密钥enc_key及约定好的算法加密一段握手消息,发送给客户端。

第六步,服务器将第五步产生的数据发给客户端:

这里要发的数据有两条:

(1)服务器发给客户端的通知,”听你的,以后我们就用约定好的算法和协商密钥进行通信哦“。

(2)服务器加密生成的握手信息。

第七步,客户端拿到握手信息解密,握手结束。

客户端解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束。

第八步,正常加密通信

握手成功之后,所有的通信数据将由之前协商密钥enc_key及约定好的算法进行加密解密。

这里客户端与服务器互相发送加密的握手消息并验证,目的是为了保证双方都获得了一致的密码,并且可以正常的加密解密数据,为后续真正数据的传输做一次测试。另外,HTTPS一般使用的加密与HASH算法如下:非对称加密算法:RSA,DSA/DSS对称加密算法:AES,RC4,3DESHASH算法:MD5,SHA1,SHA256其中非对称加密算法用于在握手过程中加密生成的密码,对称加密算法用于对真正传输的数据进行加密,而HASH算法用于验证数据的完整性。由于浏览器生成的密码是整个数据加密的关键,因此在传输的时候使用了非对称加密算法对其加密。非对称加密算法会生成公钥和私钥,公钥只能用于加密数据,因此可以随意传输,而服务器的私钥用于对数据进行解密,所以服务器都会非常小心的保管自己的私钥,防止泄漏。

Fiddler抓取HTTPS最全(强)攻略!后悔没有早知道

 

02

Fiddler抓取HTTPS协议原理

我们都知道,Fiddler是个很好的代理工具,可抓取协议请求用于调试。关于Fiddler抓取HTTP协议的原理和配置比较简单,对Fiddler和客户端稍作配置,便能使得Fiddler轻易地获取HTTP请求。但是由于HTTPS协议的特殊性,要进一步地配置Fiddler,我们首先要了解一下fiddler抓取HTTPS协议的原理才能更好地理解如何对fiddler进行配置。Fiddler本身就是一个协议代理工具,在上一节HTTPS原理图上,客户端与服务器端进行通信的过程全部都由Fiddler获取到,也就是如下图所示:

Fiddler抓取HTTPS最全(强)攻略!后悔没有早知道

 

Fiddler抓取HTTPS协议原理图

我们看到Fiddler抓取HTTPS协议主要由以下几步进行:

第一步,Fiddler截获客户端发送给服务器的HTTPS请求,Fiddler伪装成客户端向服务器发送请求进行握手 。

第二步,服务器发回相应,Fiddler获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。然后Fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器。

第三步,与普通过程中客户端的操作相同,客户端根据返回的数据进行证书校验、生成密码Pre_master、用Fiddler伪造的证书公钥加密,并生成HTTPS通信用的对称密钥enc_key。

第四步,客户端将重要信息传递给服务器, 又被Fiddler截获。Fiddler将截获的密文用自己伪造证书的私钥解开, 获得并计算得到HTTPS通信用的对称密钥enc_key。Fiddler将对称密钥用服务器证书公钥加密传递给服务器。

第五步,与普通过程中服务器端的操作相同,服务器用私钥解开后建立信任,然后再发送加密的握手消息给客户端。

第六步,Fiddler截获服务器发送的密文, 用对称密钥解开, 再用自己伪造证书的私钥加密传给客户端。

第七步,客户端拿到加密信息后,用公钥解开,验证HASH。握手过程正式完成,客户端与服务器端就这样建立了”信任“。

在之后的正常加密通信过程中,Fiddler如何在服务器与客户端之间充当第三者呢?

服务器—>客户端:Fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端。

客户端—>服务端:客户端用对称密钥加密,被Fiddler截获后,解密获得明文。再次加密,发送给服务器端。由于Fiddler一直拥有通信用对称密钥enc_key, 所以在整个HTTPS通信过程中信息对其透明。

从上面可以看到,Fiddler抓取HTTPS协议成功的关键是根证书(具体是什么,可google),这是一个信任链的起点,这也是Fiddler伪造的CA证书能够获得客户端和服务器端信任的关键。

接下来我们就来看如果设置让Fiddler抓取HTTPS协议。

03

Fiddler抓取HTTPS设置

注意以下操作的前提是,手机已经能够连上Fiddler,这部分的配置过程简单就不赘述了,可参考:手机如何连接Fiddler 。

如何继续配置让Fiddler抓取到HTTPS协议呢?

(一)首先对Fiddler进行设置:打开工具栏->Tools->Fiddler Options->HTTPS

Fiddler抓取HTTPS最全(强)攻略!后悔没有早知道

 

选中Capture HTTPS CONNECTs,因为我们要用Fiddler获取手机客户端发出的HTTPS请求,所以中间的下拉菜单中选中from remote clients only。选中下方Ignore server certificate errors.

(二)然后,就是手机安装Fiddler证书。

这一步,也就是我们上面分析的抓取HTTPS请求的关键。

操作步骤很简单,打开手机浏览器,在浏览器地址输入代理服务器IP和端口,会看到一个Fiddler提供的页面。

Fiddler抓取HTTPS最全(强)攻略!后悔没有早知道

 

接着点击最下方的FiddlerRoot certificate,这时候点击确定安装就可以下载Fiddler的证书了。

下载安装完成好后,我们用手机客户端或者浏览器发出HTTPS请求,Fiddler就可以截获到了,就跟截获普通的HTTP请求一样。

好啦,以上就是关于HTTPS的简介以及Fiddler如何获取HTTPS协议的原理和配置,看到Fiddler整齐划一地截获到HTTP和复杂的HTTPS协议,心里还有点小激动呢



Tags:Fiddler   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
HTTPS采用高安全的TLS加密,可为什么Fiddler抓到HTTPS包能解密?
在网络安全领域,加密算法是确保数据传输安全的一部分,但TLS(传输层安全协议)的重要性远不止于此。它构建了一个更高层次的安全体系,涵盖了比简单加密更广泛、更深层次的安全考量...【详细内容】
2024-02-19  Search: Fiddler  点击:(50)  评论:(0)  加入收藏
简单说说,Fiddler 的工作原理
不知道读者在使用 Fiddler 软件时,是否考虑过 Fiddler 是怎样抓包的,原理是什么?Fiddler 本质上是一个 Web 代理服务器,默认的工作端口是 8888。查看端口方式为,点击菜单 “Tools...【详细内容】
2022-07-08  Search: Fiddler  点击:(548)  评论:(0)  加入收藏
这里有篇Charles详细教程,看完后就可以把Fiddler卸载了
相信测试的小伙伴在工作过程中,经常遇到没有接口文档,或者接口文档信息不明确,最终导致自己的接口测试、性能测试等工作任务因此被阻塞、延迟的情况。 如果你有这样的困扰,可以...【详细内容】
2022-05-07  Search: Fiddler  点击:(304)  评论:(0)  加入收藏
Fiddler移动端抓包
本篇文章,博主想使用通俗易懂的话语,让大家明白以下内容:什么是抓包哪些场景需要用到抓包Fiddler抓包的原理怎样使用Fiddler进行移动端抓包抓包包 (Packet) 是TCP/IP协议通信传...【详细内容】
2022-04-02  Search: Fiddler  点击:(374)  评论:(0)  加入收藏
Fiddler抓取HTTPS最全(强)攻略!后悔没有早知道
对于想抓取HTTPS的测试初学者来说,常用的工具就是fiddler。但是初学时,大家对于fiddler如何抓取HTTPS难免走歪路,也许你一步步按着网上的帖子成功了,这自然是极好的。但也有可...【详细内容】
2022-03-31  Search: Fiddler  点击:(638)  评论:(0)  加入收藏
Fiddler 抓包工具 - 全网最全最细教程,没有之一
Fiddler 简介Fiddler 是位于客户端和服务器端的 HTTP 代理 目前最常用的 http 抓包工具之一 功能非常强大,是 Web 调试的利器关注+转发+私信【软件测试】领取Fiddler安装包和...【详细内容】
2021-09-28  Search: Fiddler  点击:(430)  评论:(0)  加入收藏
抓包工具fiddler都有哪些高级功能,一文带你全面了解它
发送请求在fiddler中也支持发送HTTP请求。就是通过Composer这个功能来进行发送请求功能入口 功能介绍 Parsed:解析后的报文.它是已经格式化后的,在这里你只需要按照区域展示...【详细内容】
2021-06-10  Search: Fiddler  点击:(543)  评论:(0)  加入收藏
如何配置Fiddler抓HTTPS包?
Fiddler是HTTP代理,它位于客户端和服务器端之间。安装好Fiddler后直接可以对HTTP协议进行抓包。但很多时候我们也想对HTTPS的协议进行抓包分析,如果没有进行任何的配置就想用F...【详细内容】
2021-04-20  Search: Fiddler  点击:(670)  评论:(0)  加入收藏
优雅的进行远程调试APP,Fiddler+开源调试工具spy-debugger
笔者从事Web开发,不论是PC端还是APP端,调试抓包都是必不可少的环节,懂前端的人都知道,PC端调试非常方便,Chrome或者火狐等浏览器等都自带了非常方便且易于使用的开发者工具,便于我...【详细内容】
2020-12-30  Search: Fiddler  点击:(644)  评论:(0)  加入收藏
Fiddler 抓取 https 请求大全
Fiddler抓取PC端浏览器请求1、Fiddler代理浏览器设置注意浏览器代理区别 Chrome/IE浏览器使用的都是系统代理设置在chrome浏览器的设置中搜索代理,可以看到 打开IE浏览器,选择...【详细内容】
2020-07-24  Search: Fiddler  点击:(415)  评论:(0)  加入收藏
▌简易百科推荐
手机就可以修改WiFi密码,进行网络提速,还能防止别人蹭网
随着网络的普及和使用频率的增加,很多人可能遇到了一些网络管理上的问题,比如忘记了WiFi密码、网络速度缓慢、或者发现有不明设备在家中蹭网。相信朋友们也曾遇到过吧?但是,你知...【详细内容】
2024-04-03  老毛桃    Tags:WiFi密码   点击:(9)  评论:(0)  加入收藏
手机WiFi信号满格却接收消息延迟?这里有妙招帮你解决!
在现代社会,手机已经成为了我们生活中不可或缺的一部分。无论是工作、学习还是娱乐,手机都扮演着重要的角色。然而,有时我们会遇到一些令人烦恼的问题,比如明明手机WiFi信号满格...【详细内容】
2024-04-03  蔡前进    Tags:手机WiFi   点击:(8)  评论:(0)  加入收藏
SASE技术应用落地的五个关键趋势
在Gartner 最新发布的《2023网络技术成熟度曲线》报告中认为,SASE技术已经开始走出最初的技术炒作期,将逐步迈向新一轮的实用落地阶段。在Gartner发布的《Hype Cycle for Ente...【详细内容】
2024-04-01    安全牛  Tags:SASE   点击:(12)  评论:(0)  加入收藏
提示“该网站安全证书存在问题,连接可能不安全”如何解决
在你输入网址并浏览网页时,如果你的浏览器弹出一个警告,提示“网站的安全证书存在问题”,或是显示一个红色的锁标志,这些都是网站不安全的警示。这些提示通常是由HTTPS协议中的S...【详细内容】
2024-03-18  倏然间    Tags:网站安全证书   点击:(10)  评论:(0)  加入收藏
如何有效排除CAN总线错误
控制器局域网(CAN)控制器局域网(CAN)是现代车辆中电子元件无缝运行的基础。在远程信息处理领域,CAN总线系统的效率至关重要,其能够实现支撑当今汽车技术的复杂功能。然而,CAN总...【详细内容】
2024-02-20    千家网  Tags:CAN   点击:(52)  评论:(0)  加入收藏
网络连接受限或无连接怎么办?这里提供几个修复办法
可能错误提示 连接受限或无连接:连接具有有限的连接或无连接。你可能无法访问Internet或某些网络资源。 连接受限。排除和解决“连接受限或无连接”错误此错误可能由计算机上...【详细内容】
2024-02-06  驾驭信息纵横科技    Tags:网络连接受限   点击:(50)  评论:(0)  加入收藏
如何将Mac连接到以太网?这里有详细步骤
在Wi-Fi成为最流行、最简单的互联网连接方式之前,每台Mac和电脑都使用以太网电缆连接。这是Mac可用端口的标准功能。如何将Mac连接到以太网如果你的Mac有以太网端口,则需要以...【详细内容】
2024-02-03  驾驭信息纵横科技    Tags:Mac   点击:(67)  评论:(0)  加入收藏
简易百科之什么是端口映射
端口映射,也称为端口转发,是一种网络通信中的技术手段,通过将内网中的一个端口上的数据流量转发到另一个端口,使得外部网络能够访问到内部网络中的特定服务。在实现上,端口映射通...【详细内容】
2024-01-26    简易百科  Tags:端口映射   点击:(163)  评论:(0)  加入收藏
ip因频繁登陆已被禁止访问 无法显示图片 怎么办
首先,我们要明白,部分网站为了有效遏制数据爬取和非法攻击,保证访问速度和普通用户查询,会在系统中增加网络安全设备,加强安全防护机制,并提前设置安全访问规则。因此,一旦用户的行...【详细内容】
2024-01-20  何福意思    Tags:ip   点击:(68)  评论:(0)  加入收藏
电脑连上wifi却上不了网怎么办
当电脑连接上 WiFi 却无法上网时,可能会让人感到困惑和沮丧。这个问题通常会有多种可能的原因,包括网络配置问题、路由器故障、无线适配器问题等。在面对这个问题时,可以尝试以...【详细内容】
2024-01-16  编程资料站    Tags:wifi   点击:(72)  评论:(0)  加入收藏
站内最新
站内热门
站内头条