美文网首页
使用Wireshark抓包分析HTTPS报文-TLSv1.2单向

使用Wireshark抓包分析HTTPS报文-TLSv1.2单向

作者: StarDustMrsu | 来源:发表于2019-11-14 14:20 被阅读0次

准备工作

1.获取本机器的IP。
[root@localhost ~]# ip addr | grep global | awk '{print $2}'
192.168.113.128/24

2.使用nslookup获取目标域名的IP信息。
[root@localhost ~]# nslookup www.baidu.com
Server:     192.168.113.2
Address:    192.168.113.2#53

Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 180.101.49.11
Name:   www.a.shifen.com
Address: 180.101.49.12

3.使用curl请求同时配合Wireshark进行抓包。
[root@localhost ~]# curl https://www.baidu.com
<!DOCTYPE html>......

抓包分析

HTTPS-DH基本通信过程.jpg
这是一个基于Diffie-Hellman的握手过程。
  • 1.客户端192.168.113.128向服务端180.101.49.11发送Client Hello报文。报文中包含明文传输的客户端所支持的TLS协议版本号Version,生成的随机数Random,加密套件候选列表Cipher Suites,压缩方法Compression Methods等。 001_Client_Hello.jpg
  • 2.服务端向客户端发送Server Hello报文,报文中包含服务端选用的TLS版本号Version,服务端生成的随机数Random,服务端确认使用的加密套件Cipher Suite等。 002_ServerHello.jpg
  • 3.服务端向客户端发送Certificate报文,报文包含服务端的证书链和公钥信息。 003_Certificates.jpg
  • 4.服务端向客户端发送Server Key Exchange,Server Hello Done报文。报文中主要包含客户端随机数,服务端随机数,服务端随机数三个随机数通过私钥签名,同时告诉客户端Server Hello阶段结束。 004_ServerKeyExchange_ServerHelloDown.jpg
  • 5.客户端向服务端发送Client Key Exchange,Change Cipher Spec,Encrypted Handshake Message报文。客户端检查证书链信息无误之后,利用公钥验证服务端的签名,客户端利用服务端发来的DH参数生成预主密钥,再通过预主密钥和客户端随机数,服务端随机数生成主密钥。客户端发送客户端的DH参数。 005_ClientKeyExchange_ChangeCipherSpec_EncryptedHandshakeMessage.jpg
  • 6.服务端向客户端发送Change Cipher Spec报文。服务端根据客户端的DH参数,生成预主密钥,通过预主密钥和随机数生成主密钥,表示随后信息都将使用双方协商好的加密算法和密钥传输。 006_ChangeCipherSpec.jpg
  • 7.服务端向客户端发送Encrypted Handshake Message报文。 007_EncryptedHandshakeMessage.jpg

相关文章

网友评论

      本文标题:使用Wireshark抓包分析HTTPS报文-TLSv1.2单向

      本文链接:https://www.haomeiwen.com/subject/jxjrictx.html