如何检测 TCP 数据包内的 TLS 数据?

问题描述 投票:0回答:2

我最近一直在尝试学习 TLS 协议的基础知识,但我不确定如何区分包含 TLS 数据的 TCP 数据包和不包含 TLS 数据的 TCP 数据包。

有人可以解释一下吗?

security networking tls1.2
2个回答
1
投票

TCP - 传输控制协议 - 是许多高层协议的底层协议;它没有指定它传输什么。它将尽力而为数据包协议 (IP) 转变为可以传输任何数据流的双向连接。

TLS - 传输层协议 - 在 TCP 等协议之上提供安全性。它有具体的协议描述,可以很容易区分握手记录。

但是,如前所述,TCP 可以传输任何数据。因此,如果您的协议与 TLS 略有不同,那么检测到这一微小变化并不容易。然而,像 WireShark 这样的工具非常有能力检测协议且具有很高的确定性

单独的数据记录更难检测,因为加密的数据包不包含太多区别特征。根据定义,加密数据本身看起来就像随机数据。因此,如果您只有几个数据包,那么您只有一些结构和其他随机数据。现在,此类随机数据可能已加密,但除此之外,它对于确定协议没有多大用处。


0
投票

我相信这里的主要区别因素是 TCP 端口。端口 443 是为 TLS/HTTPS 保留的,在该端口上发生的任何通信都将涉及 TLS 机制的启动。在 TLS 客户端,目标端口将为 443,在 TLS 服务器上,它将是源端口。然后,TLS 组件可以区分 TLS 握手消息与编码的应用程序数据(稍后由 TLS 记录协议处理)。

© www.soinside.com 2019 - 2024. All rights reserved.