5GC基础自学系列 | Wireshark解密HTTPs,还原HTTP2

Posted COCOgsta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5GC基础自学系列 | Wireshark解密HTTPs,还原HTTP2相关的知识,希望对你有一定的参考价值。

视频来源:51学通信《5G核心网基础、协议与信令流程》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,谢谢支持!

附上汇总贴:5G基础自学系列 | 汇总


主要内容

介绍通过Chrome浏览器、Wireshark还原HTTPs方法

介绍抓取HTTP2报文,并还原成明文

HTTPs解密的背景

HTTPs采用了非对称加密(公钥加密、私钥解密),wireshark抓包默认是无法解析的。如图:

遗憾的是,很多网站都启用了HTTPs加密。

在学习5GC时, 会用到HTTP 2协议, 很多网站也都支持HTTP 2, 但只支持启用了HTTPs的HTTP2。即使抓到了包, 也无法解析, 不利于我们的学习。

HTTPs解密方法

方法一:能获取到私钥, 导入到Wireshark中。

方法二:某些浏览器(如Google的Chrome)支持将TLS(HTTP本身不是一个协议,其加密依赖的是下层的TLS)会话中使用的密钥保存在外部文件中,供Wireshark解密使用。

实验环境:

  • Wireshark 3.2.1
  • Chome版本79.0.3945.130
  • Win 10(win 7也可以)

下测试通过。

HTTPs解密步骤

步骤:

1)添加windows的环境变量:

变量名:SSLKEYLOGFILE

值:c:\\temp\\key.log(这个文件用来存放密钥)

2)设置Wireshark中的TLS参数:

编辑->首选项->Protocol->TLS,填写(pre)-master-secret log filename为c:/temp/key.log(与第1步文件名相同)

抓取HTTP2网站报文

上述步骤完成, Wireshark此时已经可以解密了。百度下找一些支持HTTP 2的网站来尝试抓包, 可以看到, 可以解析出明文的HTTP 2报文。

从图中可以看到, 先是TCP三次握手, 然后是Client和Server完成TLS的协商(互相发Hello),推送密钥。然后Chrome拿到密钥,写入到文件里,并解密。还原成明文。后面看到的HTTP 2都是明文了。

以上是关于5GC基础自学系列 | Wireshark解密HTTPs,还原HTTP2的主要内容,如果未能解决你的问题,请参考以下文章

5GC基础自学系列 | 5GC基础之网络切片

5GC基础自学系列 | 5GC基础之5GC网络架构及网元

5GC基础自学系列 | 5GC基础之移动性管理

5GC基础自学系列 | 5GC基础之5GC中的网元发现与选择

5GC基础自学系列 | 5GC基础之:计算与存储资源的解耦

5GC基础自学系列 | 5GC基础之ULI参数(用户位置信息)