2020-03-21 18:51:11
由于需要定位一个问题,在服务器上tcpdump抓取http数据包,然后下载到本地打开wireshark分析。然后我们下载域名私钥配置到wireshark,发现数据包居然无法解密。是wireshark配置密钥的方法不对?但谷歌了好多文章都是说这样配置的。由于对HTTPS认识不够深,一时不知道如何入手解决。没办法,只能先了解tls这个协议了,于是查看了TLS1.2的RFC文档,终于勉强解答了这个疑惑。
在解决这个问题之前,先整体了解一下TLS的握手全过程。省略了不常见的过程。如图:
下面按顺序介绍各握手步骤。
这是TLS握手的第一步,由客户端发起请求。此协议主要包括了一个客户端生成的随机字符串(用来下面生成session key),还有客户端支持的加密套件列表。如图:
服务器收到客户端的Client Hello数据包之后,根据客户端发来的加密套件列表,选择一个加密套件,也生成一个随机字符串返回给客户端。我们看到下图中的加密套件为,密钥交换算法使用ECDHE_RSA,对称加密算法使用AES_256_GCM_SHA384,如图:
接着服务器再返回证书列表,包括证书链及域名证书。返回的证书用来给客户端验证当前连接服务器的身份,防止中间人攻击。
Server Key Exchange协议包,由服务器返回,主要目的是与客户端交换用于数据对称加密的密钥。如图:
服务器返回此协议数据,告诉客户端已经完成返回所需用于密钥交换的数据。服务器等待客户端响应。
客户端根据服务器返回的DH密钥数据生成DH公共数据也发给服务器,用来生成最终的pre-master-secret。如图:
此协议用于客户端和服务器相互告知也完成密钥交换过程,可以切换到对称加密过程。
到这里大概的TLS握手过程就结束了。为解决本文中的问题,还需要了解密钥交换的算法,RSA和Diffie–Hellman。
密钥交换算法目前常用的有RSA和Diffie-Hellman。
对于密钥交换使用RSA算法,pre-master-secret由客户端生成,并使用公钥加密传输给服务器。
对于密钥交换使用Diffie-Hellman算法,pre-master-secret则通过在Key Exchange阶段交换的信息,由各自计算出pre-master-secret。所以pre-master-secret没有存到硬盘,也没有在网络上传输,wireshark就无法获取session key,也就无法解密应用数据。那我们是否可以反向计算出pre-master-secret呢?理论上可以,但是非常困难。
对Diffie-Hellman算法感兴趣的可以参考http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange
说了这么多,究竟有什么办法可以让wireshark解密数据?我们可以通过下面几种方法来使wireshark能解密http数据包。
Wireshark如何捕获网络流量数据包
06-02
Wireshark实战分析之TCP协议 三次握手
07-18
CentOS7安装配置PostgreSQL数据库服务器
06-20
MySQL笔记之数据备份与还原的使用详解
07-07
PostgreSQL数据库修改表增加主键
07-12
Postgresql数据库主从流复制
06-14
Ubuntu下迁移通过apt安装的MySQL数据库文件目录
07-18
在系统处于睡眠状态时访问自加密驱动器上的数据
07-11
如何使用联想数据盾牌创建安全USB盘(用指纹对u盘加密)
06-13
开天6600使用满意办公V5.2,重装系统,如何恢复以前备份在联想通讯录里的数据
06-12
更改MySQL数据文件目录位置
06-05
移动硬盘复制文件夹提示无法复制tuiche-2:数据错误(循环沉余检查)
07-03
联想笔记本随机软件数据拯救者安装和使用方法
06-12
记录一次Zabbix-server由于磁盘空间不足迁移数据库的过程
07-19
通过mariadb二进制日志实现数据库增量备份
06-05
Debian系统apt-get包管理命令用法
05-25
Linux行匹配命令grep介绍
02-12
Nginx写IO占用高故障处理
02-23
RedHat6.5系统LVM扩容根文件系统
06-16
Ubuntu系统配置samba实现文件夹共享
06-22
Wireshark 64位 v2.6.5.0
56.78 MB
下载HTTPSniffer绿色版 v1.2
255.1K
下载EasyRecovery 13 (mac数据恢复工具)专业破解版
12.99MB
下载HeidiSQL(MySQL服务器数据管理工具) v11.0.0.6055 免费版
10.1M
下载PDF解密工具下载
15.4M
下载activesync(电脑数据同步工具) v6.1 免费版
22.72MB
下载easyrecovery pro(硬盘数据恢复工具) v14.0.0.4 免费版
78.6M
下载easyrecovery pro(硬盘数据恢复工具) v14.0.0.4 官方版
87.8M
下载pdf解密软件下载
2.7M
下载小牛文件恢复软件(数据恢复工具) v4.8.0 最新版
6.1M
下载手机管理软件(手机数据传输管理工具) v5.1.3.317最新免费版
24.5M
下载硬盘保护卡克星(数据破解抹除工具) 1.2 免费版
0.11MB
下载阿里云盘(数据同步软件) v1.4 电脑版
42.4M
下载顶尖数据恢复软件(电脑数据恢复工具) 6.30 破解版
7.5M
下载activesync下载
22.72MB
下载pl sql developer下载
25.2M
下载powerdesigner下载
615.07MB
下载互盾安卓恢复大师下载
529KB
下载后羿采集器下载
45.0M
下载