TLS 1.3协商异常:基于PCAP抓包时机的不一致行为问题
TLS 1.3协商异常:基于PCAP抓包时机的不一致行为问题
我遇到了一个特别诡异的TLS版本协商问题,想跟大家说说具体情况和我已经做的尝试:
环境与异常现象
- 客户端:仅支持TLS 1.3
- 服务端:初始配置为仅支持TLS 1.2,后续升级为支持TLS 1.3
- 抓包时机不同,出现了完全不一致的流量行为:
- 先启动服务,再启动PCAP抓包:所有通信流量都是预期的TLS 1.3
- 先重启服务,再启动PCAP抓包:抓到的却是TLS 1.2流量
我已经尝试过的操作
为了排查问题,我一步步做了这些验证:
- 服务端配置:先将服务端设置为仅支持TLS 1.2
- 客户端配置:保持客户端仅支持TLS 1.3
- 启动服务后,此时双方不会完成握手(因为客户端只认TLS 1.3,服务端不支持该版本)
- 接着把服务端升级为支持TLS 1.3
- 升级完成后,双方成功协商并传输应用数据,但之前的异常场景还是会出现:
- 如果我重启服务再启动抓包,依然会抓到TLS 1.2的流量
备注:内容来源于stack exchange,提问作者Ninjavas
相关产品推荐
相关产品推荐

