You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Wireshark无法将自定义ClientHello识别为TLS 1.3?

问题:构造的TLS 1.3 ClientHello被Wireshark识别为TLS 1.2

为研究目的构造了TLS 1.3的ClientHello数据包,能被正常识别但Wireshark始终判定为TLS 1.2版本,相关数据如下:

完整帧原始数据包

0000   02 00 00 00 45 02 00 af a7 f2 40 00 80 06 00 00
0010   7f 00 00 01 7f 00 00 01 c4 0f d4 31 4f 7f e8 b3
0020   13 d7 3d b8 50 18 20 fa 1f 5c 00 00 16 03 03 00
0030   82 01 00 00 7e 03 03 31 32 33 34 35 36 37 38 39
0040   30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35
0050   36 37 38 39 30 31 32 20 31 32 33 34 35 36 37 38
0060   39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34
0070   35 36 37 38 39 30 31 32 00 04 13 03 13 04 01 00
0080   00 31 00 33 00 26 00 24 00 1d 00 20 e8 c6 6d fc
0090   ee 62 22 8d 82 d2 78 dd d5 1c 0b 92 3e 03 9f 00
00a0   d1 11 63 b8 7c 77 3f f7 a8 72 b9 47 00 2b 00 03
00b0   02 03 04

TLS起始原始数据包

0000   16 03 03 00 82 01 00 00 7e 03 03 31 32 33 34 35
0010   36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31
0020   32 33 34 35 36 37 38 39 30 31 32 20 31 32 33 34
0030   35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30
0040   31 32 33 34 35 36 37 38 39 30 31 32 00 04 13 03
0050   13 04 01 00 00 31 00 33 00 26 00 24 00 1d 00 20
0060   e8 c6 6d fc ee 62 22 8d 82 d2 78 dd d5 1c 0b 92
0070   3e 03 9f 00 d1 11 63 b8 7c 77 3f f7 a8 72 b9 47
0080   00 2b 00 03 02 03 04

Wireshark解析结果

Frame 16287: 179 bytes on wire (1432 bits), 179 bytes captured (1432 bits) on interface \Device\NPF_Loopback, id 0
Null/Loopback
    Family: IP (2)
Internet Protocol Version 4, Src: 127.0.0.1, Dst: 127.0.0.1
Transmission Control Protocol, Src Port: 50191, Dst Port: 54321, Seq: 1, Ack: 1, Len: 135
Transport Layer Security
    TLSv1.2 Record Layer: Handshake Protocol: Client Hello
        Content Type: Handshake (22)
        Version: TLS 1.2 (0x0303)
        Length: 130
        Handshake Protocol: Client Hello
            Handshake Type: Client Hello (1)
            Length: 126
            Version: TLS 1.2 (0x0303)
            Random: 3132333435363738393031323334353637383930313233343536373839303132
            Session ID Length: 32
            Session ID: 3132333435363738393031323334353637383930313233343536373839303132
            Cipher Suites Length: 4
            Cipher Suites (2 suites)
            Compression Methods Length: 1
            Compression Methods (1 method)
            Extensions Length: 49
            Extension: key_share (len=38)
                Type: key_share (51)
                Length: 38
                Key Share extension
                    Client Key Share Length: 36
                    Key Share Entry: Group: x25519, Key Exchange length: 32
                        Group: x25519 (29)
                        Key Exchange Length: 32
                        Key Exchange: e8c66dfcee62228d82d278ddd51c0b923e039f00d11163b87c773ff7a872b947
            Extension: supported_versions (len=3)
                Type: supported_versions (43)
                Length: 3
                Supported Versions length: 2
                Supported Version: TLS 1.3 (0x0304)
            [JA3 Fullstring: 771,4867-4868,51-43,,]
            [JA3: cfa5afddedc4688ce18a7378a388d916]

期望Wireshark能正确识别该数据包为TLS 1.3版本。


原因与解决方法

核心原因

这是TLS 1.3协议本身的向后兼容设计导致的:

  • TLS 1.3的ClientHello在Record Layer和Handshake结构的Version字段中,必须使用0x0303(即TLS 1.2的版本号),目的是让不支持TLS 1.3的老服务器能识别并处理这个握手包。
  • Wireshark的解析逻辑会优先根据Record Layer的Version字段标记协议版本,所以会显示为TLSv1.2 Record Layer,但实际上它已经识别到了supported_versions扩展中的TLS 1.3(从解析结果里的Extension部分可以看到)。

让Wireshark正确识别为TLS 1.3的调整

如果你希望Wireshark将整个握手包标记为TLS 1.3,需要做以下调整:

  1. 完善supported_versions扩展内容:协议允许只指定TLS 1.3,但部分解析工具期望同时包含TLS 1.2(0x0303),即扩展内容改为02 0303 0304(对应调整扩展长度字段),这样Wireshark会更明确地识别出这是一个TLS 1.3的握手请求。
  2. 升级Wireshark版本:较旧版本的Wireshark对TLS 1.3的解析支持可能不完善,升级到最新版本可以提升识别准确性。

补充说明

实际上你的ClientHello完全符合TLS 1.3规范,Wireshark只是在Record Layer的显示上沿用了字段中的版本号,它已经正确识别了supported_versions和key_share这些TLS 1.3特有的扩展。如果服务器支持TLS 1.3,后续的握手流程会正常协商到TLS 1.3版本,此时Wireshark也会将后续的Record标记为TLS 1.3。


内容的提问来源于stack exchange,提问作者Gabriel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 18:47:21