使用Wireshark抓包分析TLS协议

TLS握手协议介绍

参考:用Wireshark看见TLS握手过程

这篇博客写得特别好,我在此基础上针对自己的情况写下这篇。

TLS握手过程

Wireshark抓取内容

wireshark

00 TCP的三次握手

参考:TCP通信及基于OpenSSL实现TLS

本人关于TCP的文章,TLS是一种安全协议,建立在TCP协议之上,服务于应用层。

01 Client Hello (客户端–>服务端)

TLS握手过程中,客户端向服务器发出 “Client Hello” 消息,以启动握手过程并提供有关其支持的加密算法和其他参数的信息。

02 Server Hello (服务端->客户端)

TLS握手过程中,服务器接收到客户端的 “Client Hello” 消息后,会向客户端发送 “Server Hello” 消息,其中包含有关服务器支持的加密算法和其他参数的信息,以及服务器的证书。

Certificate 证书

服务端向客户端发送证书清单。
证书

Server Hello Done

“Server Hello Done” 是TLS握手过程中的一部分,表示服务器已经发送了 “Server Hello” 消息,并完成了握手过程的一部分。这个消息通知客户端,服务器已经完成了握手,可以继续下一步操作,如客户端验证服务器的证书、生成密钥、发送密钥等。

03 ClientKeyExchange (客户端–>服务端)

当密码套件中包含 RSA 时, 会随ClientKeyExchange消息一起发送经过加密的预备主密码。
03

ChangeCipherSpec

实际上,ChangeCipherSpec消息并不是握手协议的消息,而是密码规格变更协议的消息 。

ChangeCipherSpec消息之前,客户端和服务器之间已经交换了所有关于密码套件的信息,因此在收到这一消息时,客户端和服务器会同时切换密码 。

在这一消息之后, TLS 记录协议就开始使用双方协商决定的密码通信方式了 。

Encrypted Handshake Message

The TLS handshake is concluded with the two parties sending a hash of the complete handshake exchange, in order to ensure that a middleman did not try to conduct a downgrade attack.

04 New Session Ticket(服务端–>客户端)

服务器发送了一个新的会话票据(Session Ticket),用于启动新的会话或恢复之前的会话。
04

ChangeCipherSpec

这次轮到服务端发送 ChangeCipherSpec 消息了。

服务端:“好,现在我要切换密码了 。

Encrypted Handshake Message

介绍同03

05 到此,握手结束,之后可以传送加密消息流(客户端<–>服务器)

05
在此之后,客户端和服务器会使用应用数据协议和TLS记录协议进行密码通信 。

这里的Hypertext Transfer Protocol即HTTP,是一种用于传输超文本的应用层协议。

HTTPS通过在HTTP和TCP之间添加SSL/TLS协议层来加密通信内容,提供了更高的安全性,防止数据在传输过程中被窃取或篡改。

HTTPS默认端口为443(就是TLS的默认端口)。

完整代码

参考:TCP通信及基于OpenSSL实现TLS

本人实现TCP及TLS的完整代码,以供参考

拓展(UDP)

udp
参考:Wireshark抓取网卡协议分析(TCP,UDP,ARP,DNS,DHCP,HTTP超详细版本)

本人在上个月实现了设备搜索和固件升级的功能,其中涉及到UDP协议,UDP是User Datagram Protocol用户数据报协议的简称。

目标IP地址为239.0.0.1,这个IP地址是一个组播地址,用于多播通信。

UDP协议特点

  • UDP是一种无连接协议,无连接也就代表着传输不可靠

  • 不需要建立连接,一台服务器可以向多个客户机传输相同的消息

  • UDP信息包的标题很短,只有8个字节的大小,相比于TCP的20字节信息包,额外开销非常的小

  • 吞吐量不受拥塞控制算法的调节,只受软件生成数据速率、传输宽带、源端和目标端主机性能的限制

  • UDP使用尽最大努力交付

  • UDP是面向报文的

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值