概述
HTTPS全称为Hyper Text Transfer Protocol over Secure Socket Layer或者Hypertext Transfer Protocol Secure,被译为超文本传输安全协议。HTTPS是以安全为目标的HTTP通道,即HTTP下加入SSL层。HTTPS的安全集成是SSL。其中,HTTP协议时通过明文形式传输数据的。目前,大部分网站为了安全,都是要HTTPS协议。
TLS流
TLS(Transport Layer Security,传输层安全性协议)是SSL(Secure Sockets Layer,安全套接层)的继承者,目的是为了互联网通信提供安全及数据完整性保障。所以,对于捕获到HTTPS服务器传输的数据包,使用的协议为TLS协议。TLS流和HTTP流一样,如果响应的数据较多时,数据将被TCP分片传输。如果要想查看完整的会话,则必须跟踪流。在菜单栏中,依次选择“分析”|“追踪流”|TLS流命令,将弹出追踪TLS流对话框。
提示:如果用户要导出TLS流,则需要对捕获到的TLS包解密后才可以操作;否则,追踪到的TLS流对话框为空白。
HTTPS统计分析
wireshark中提供了一个HTTPS数据统计功能。用户可以通过查看HTTPS统计信息来查看各种数据包的情况。
菜单如下:
解密HTTPS数据
如果网站服务器使用的是HTTPS协议的话,则使用Wireshark捕获到的包都是加密的包。如果响应分析传输的内容,则需要进行解密。其中,解密后的内容为HTTP和HTTP2协议。
如果没有解密,则所有的数据包都是TLS协议。Wireshark中支持通过导入服务器证书和日志文件两种方式来解密HTTPS数据。
两种解密方式配置:
- 方式1:如上图所示的对话框中单击RSA keys list对应的Edit按钮,即可配置通过服务器证书来解密HTTPS数据。
- 方式2:单击(Pre)-Master-Secret log filename文本框对应的browser按钮,指定日志文件存储路径,即可使用日志文件的方式来解密HTTPS数据。
使用日志文件方式解密
对于普通用户来说,如果要拿到服务器证书,显然不是一件很容易的事。此时,使用日志文件的方式相对来说就比较简单了。Chrome、Firefox、Edege浏览器都支持使用日记文件的方式记录用来加密TLS数据包对称会话的密钥,然后再Wireshark中指定该日记文件,就可以快速地解密HTTPS数据了。
日记文件方式主要是通过在系统中配置一个环境变量SSLKEYLOGFILE来实现的。
当用户配置SSLKEYLOGFILE环境变量后,就表示告诉浏览器想知道其每次HTTPS会话的key记录。这样,浏览器将会在每次HTTPS会话结束后,将会话数据解密的key记录到keylog文件中,然后Wireshark通过访问keylog文件,使用里面的key就可以解密字节捕获到浏览器中产生的HTTPS会话数据流。
配置方式如下:文章来源:https://www.toymoban.com/news/detail-722740.html
- 系统配置SSLKEYLOGFILE变量
SSLKEYLOGFILE变量值可以随意指定,本例中是F:\sslkeylog.log。 - Wireshark中指定日志文件路径
在菜单栏中依次选择“编辑”|“首选项”|Protocols|TLS命令,打开TLS协议设置对话框,在其中指定日志文件的存储路径。
- 之后通过Chrome等浏览器访问HTTPS网站,并用Wireshark捕获到的包即可成功解密。
此时使用显示过滤器tls and http或者tls and http2即可过滤解密后的数据包。
从窗口中可以看到,成功显示过滤出了解密后的数据包。而且从状态栏上可以看到,出现了一个Decrypted TLS(被解密的TLS数据包)标签,表示解密成功。 - 我们可以通过追踪流来看到解密后的分组数据。
使用服务器证书方式解密
如果用户可以拿到服务器证书的话,则可以使用服务器证书方式解密HTTPS数据。文章来源地址https://www.toymoban.com/news/detail-722740.html
- 在菜单栏依次选择“编辑”|“首选项”|Protocols|TLS命令,打开TLS协议设置对话框。
- 单击RSA keys list对应的Edit按钮,将打开TLS解密对话框,如上图所示。
- 该对话框中共包括5列,分别是IP address、Port、Protocol、Key File和Password。
- IP address:服务器的IP地址。
- Port:HTTPS监听的端口,一般为443。
- Protocol:指定协议,一般为HTTP。
- Key File:指定从服务器上获取到的RSA Key。这个RSA Key需要是一个解密后的PKCS#8PEM格式的(RSA)Key。
- password:一般不填写。
到了这里,关于HTTPS报文分析(Wireshark)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!