HTTPS协议下Fiddler抓包

简介: https就是加过密的http,使用https后,浏览器客户端和web服务器传输的数据是加密传输的,只有客户端和服务端知道具体内容。采用HTTPS的网站都需要去数字证书认证机构(Certificate Authority,CA)申请证书。通过这个证书,浏览器在请求数据前与web服务器有几次握手验证,以证明相互的身份,然后对http请求和响应进行加密。

浏览器通过http协议发送给服务器的内容很容易被拦截,因此,用http协议传输一些敏感数据的话是非常危险的,因此,现在好多网站都采用的是https协议。

   fiddler默认情况下只会捕获http请求,需要设置后才能捕获https,接下来让我们一起简单了解一下https协议,以及如何通过fiddler对其进行抓包。


1

什么是HTTPS


简单理解,https就是加过密的http,使用https后,浏览器客户端和web服务器传输的数据是加密传输的,只有客户端和服务端知道具体内容。

采用HTTPS的网站都需要去数字证书认证机构(Certificate Authority,CA)申请证书。通过这个证书,浏览器在请求数据前与web服务器有几次握手验证,以证明相互的身份,然后对http请求和响应进行加密。


2

Fiddler如何捕获https会话


默认情况下,fiddler不会捕获https协议的会话,需要进行设置:

菜单栏->Tools->Options->Https页签,按照下图进行勾选:


微信图片_20220113224125.png


如果有弹出其他弹窗,选择yes进行证书安装:


微信图片_20220113224129.png


微信图片_20220113224131.png


安装完整后,打开浏览器访问一下百度首页,检查是否可以捕获到请求信息。



3

https证书的安装和查看 


证书安装:

如果浏览器访问https网址出现提示说 此连接不被信任时,可以在fiddler中导出证书文件,安装到浏览器中。

导出证书步骤:


微信图片_20220113224134.png


证书安装步骤(以谷歌浏览器为例,不同浏览器操作大同小异):


微信图片_20220113224136.png


证书查看:

1、用键盘上的Win+R快捷键,然后输入certmgr.msc命令


微信图片_20220113224138.png


2、通过fiddler工具https协议配置页面的actions下的一个选项进行打开:


微信图片_20220113224140.png


打开本地证书管理器页面如下:


微信图片_20220113224142.png


Fiddler捕获https的握手验证请求


在使用浏览器访问百度首页的时候,可以查看到,fiddler的会话列表会出现很多“Tunnel to”的请求,如下图所示:


微信图片_20220113224145.png


Http协议在客户端和服务器之间传输的时候,需要建立一个通道,这个通道称为Tunnel,客户端和服务器之间的通信都是在这条Tunnel的基础之上实现的。

当客户端无法直接访问某些网络时,只能通过代理服务器访问网络,然后,将内容转发给客户端,从宏观上看,客户端与服务器端就像建立了一条隧道一样。但是由于http tunnnel可控性不强,所以,服务器通常会限制”可connect的端口”(一般只开放SSL的443端口)。因为fiddler是代理软件,访问百度网页(使用了https协议),会使客户端用connect方法与目标服务器建立http tunnel,一旦connection建立完成,后续fiddler会转发、接收所有的tcp stream。

当然,并不是所有的受限网络(restricted network),https通信时,都会使用connect建立http tunnel,如果目标服务器限制connect方法,那么就会使用其它方法来建立通道(post/get)

如果觉得会话列表的tunnel to请求信息太多,影响使用的话,可以设置隐藏掉(Rules->Hide CONNECTs)


微信图片_20220113224148.png

相关文章
|
4月前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
17天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
74 1
|
2月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
77 11
|
2月前
|
缓存 安全 网络协议
HTTPS协议的历史发展
HTTPS协议的历史发展
51 8
|
2月前
|
安全 应用服务中间件 Linux
判断一个网站是否使用HTTPS协议
判断一个网站是否使用HTTPS协议
136 4
|
3月前
|
安全 网络协议 算法
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
284 4
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
|
3月前
|
存储 网络安全 对象存储
缺乏中间证书导致通过HTTPS协议访问OSS异常
【10月更文挑战第4天】缺乏中间证书导致通过HTTPS协议访问OSS异常
171 4
|
4月前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
183 8
|
4月前
|
安全 网络协议 网络安全
在实现HTTPS时,有哪些常见的安全协议
在实现HTTPS时,有哪些常见的安全协议
252 1
|
4月前
|
监控 安全 应用服务中间件
如何配置HTTPS协议?
如何配置HTTPS协议?
405 4