[https][tls] 如何使用wireshark查看tls/https加密消息--使用私钥
之前总结了使用keylog进行https流量分析的方法:
[https][tls] 如何使用wireshark查看tls/https加密消息--使用keylog
今天总结一下使用服务器端证书私钥进行https加密信息解密的方法,如下:
一 server端
首先我有一个在4040端口开启了https服务的nginx server。使用如下证书与服务配置
╰─>$ ll ~/Keys/https/sni/ |grep test2
-rw-r--r-- tong tong .4K Sep : sni_test2.cer
-rw------- tong tong .7K Sep : sni_test2.key
二 client 端
服务启用后,在client端,分别使用DHE与AES算法进行秘钥协商通信,如下:
curl --cacert ~/Keys/https/root/root.cer https://test2.www.local:4040 -v
* SSL connection using TLSv1. / ECDHE-RSA-AES256-GCM-SHA384
... ... curl -k --cacert ~/Keys/https/root/root.cer --ciphers AES128-GCM-SHA256 https://test2.www.local:4040 -v
* SSL connection using TLSv1. / AES128-GCM-SHA256
... ...
curl的算法支持列表,见如下链接的openssl小节
https://curl.haxx.se/docs/ssl-ciphers.html
使用tcpdump抓取以上两侧通信的pcap包
-rw-r--r-- root root .4K Oct : -aes128.pcap
-rw-r--r-- root root .5K Oct : -dhe.pcap
三 wireshark
DHE协商算法,是不能被该方法解析的,只能使用keylog方式。任何一次一密的通信方式(完美前向加密)都不能使用该方法解析。
接下来,只分析aes128的数据包。
使用wireshark打开
在 edit->Preferences->Protocols->TLS->RSA keys list 中进行编辑,并将上文中提到的私钥sni_test2.key配置其中。如图:

之后,保存配置。可以看到加密的tls流量已经被成功解析了。

注意:
需要注意的是,key文件的格式,以及是否有密码。我的是没有密码的,格式如下:
╰─>$ file ~/Keys/https/sni/sni_test2.key
/home/tong/Keys/https/sni/sni_test2.key: PEM RSA private key
根据以前的经验,有密码的key可能会有一下问题。https://www.cnblogs.com/hugetong/p/6845436.html
[https][tls] 如何使用wireshark查看tls/https加密消息--使用私钥的更多相关文章
- [https][tls] 如何使用wireshark查看tls/https加密消息--使用keylog
姊妹篇: [ipsec][strongswan] 使用wireshark查看strongswan ipsec esp ikev1 ikev2的加密内容 [https][tls] 如何使用wiresha ...
- [ipsec][strongswan] 使用wireshark查看strongswan ipsec esp ikev1 ikev2的加密内容
一,编译,启用strongswan的save-keys plugin ./configure --prefix=/root/OUTPUT --exec-prefix=/root/OUTPUT --en ...
- 开启 TLS 1.3 加密协议,极速 HTTPS 体验
随着互联网的发展,用户对网络速度的要求也越来越高,尤其是目前在大力发展 HTTPS 的情况下,TLS 加密协议变得至关重要.又拍云在 HTTPS 的普及和性能优化上,始终做着自己的努力和贡献.2018 ...
- HTTPS详解二:SSL / TLS 工作原理和详细握手过程
HTTPS 详解一:附带最精美详尽的 HTTPS 原理图 HTTPS详解二:SSL / TLS 工作原理和详细握手过程 在上篇文章HTTPS详解一中,我已经为大家介绍了 HTTPS 的详细原理和通信流 ...
- 为什么Wireshark无法解密HTTPS数据
为什么Wireshark无法解密HTTPS数据 导读 由于需要定位一个问题,在服务器上tcpdump抓取https数据包,然后下载到本地打开wireshark分析.然后我们下载域名私钥配置到wires ...
- SSL/TLS协议详解(下)——TLS握手协议
本文转载自SSL/TLS协议详解(下)--TLS握手协议 导语 在博客系列的第2部分中,对证书颁发机构进行了深入的讨论.在这篇文章中,将会探索整个SSL/TLS握手过程,在此之前,先简述下最后这块内容 ...
- 内网Https 自签Https证书 配合Tomcat 实现内网Https详细图文
内网项目启用Https配置手册 软件需求: OpenSSL https://www.openssl.org/ 已经安装了Java Jdk环境 制作前的需求: 已经配置了Jdk环境变量 安装好OpenS ...
- Android Https相关完全解析 当OkHttp遇到Https
一.概述 其实这篇文章理论上不限于okhttp去访问自签名的网站,不过接上篇博文了,就叫这个了.首先要了解的事,okhttp默认情况下是支持https协议的网站的,比如https://www.baid ...
- HTTPS系列干货(一):HTTPS 原理详解
HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),其实 HTTPS 并不是一个新鲜协议,Google 很早就开始启用了,初衷 ...
随机推荐
- LeetCode 993. Cousins in Binary Tree(判断结点是否为Cousin)
993. Cousins in Binary Tree In a binary tree, the root node is at depth 0, and children of each dept ...
- IISExpress.无法启动IIS Express Web 服务器.Starting IIS Express... IIS Express is running
x 提示: 无法启动IIS Express Web 服务器. 来自IIS Express的输出: Starting IIS Express... IIS Express is running 总结: ...
- H5混合开发中android终端和ios终端常见的兼容问题1
转自 https://blog.csdn.net/xuehu837769474/article/details/80603898 1.安卓浏览器看背景图片,有些设备会模糊. 用同等比例的图片在PC机上 ...
- docker笔记1--了解docker
1 docker是什么 (1)背景 docker是基于go语言实现的开源容器项目.目标是实现"build ship and run any app,anywhere",通过对应用的 ...
- C++中int型数据的十六进制写法
C++中int类型数据的十六进制写法 在C++中,int类型一般表示一个有符号的32位整数.在一些情况下(例如进行位操作时)我们需要使用十六进制的方式来表示int类型.int32的取值范围:最大值:2 ...
- spring security实现记住我下次自动登录功能
目录 spring security实现记住我下次自动登录功能 一.原理分析 二.实现方式 2.1 简单实现方式 2.2 数据库实现方式 三.区分是密码登录还是rememberme登录 spring ...
- 【vim小记】自动保存配置
刚接触vim会发现有很多不习惯,其中,不能自动保存当前配置,每次退出要重新配置,很麻烦,好在vim早就为我们想到这些,在看手册的时候,发现里面有session, 这是用户手册的介绍: “会话保存所有 ...
- 18 Ajax、Json以及jackson框架解析json的基本应用
1. Ajax (1)概念:ASynchronous JavaScript And XML 异步的JavaScript 和 XML 异步和同步:客户端和服务器端相互通信的基础上 * 客户端必须等待服务 ...
- 【转帖】从原理到应用,Elasticsearch详解
从原理到应用,Elasticsearch详解 https://segmentfault.com/a/1190000020022504 elasticsearch 2.1k 次阅读 · 读完需要 4 ...
- Prometheus入门到放弃(6)之AlertManager进阶
前面几个篇幅,我们介绍了alertmanger报警配置,在实际运维过程中,我们都会遇到,报警的重复发送,以及报警信息关联性报警.接下来我们就介绍下通过alertmanger对告警信息的收敛.一.告警分 ...