在商用密码应用安全性评估(简称「密评」)项目中,验证应用系统是否真正合规地启用了国密通信链路,最直接、最无懈可击的技术证据就是网络抓包与密码套件分析。本文将记录一套精简、高效的国密传输验证方案:不需要繁杂的中间代理,直接通过网卡捕获国密浏览器与国密网关的交互流量,并利用现代版 Wireshark 深度剖析 TLCP(GB/T 38636) 协议及 SM2 / SM3 / SM4 密码套件。
一、核心工具准备
| 角色 | 工具 | 说明 |
|---|---|---|
| 测试环境 | 具备国密的测试环境 | 传输加密验证 |
| 抓包工具 | Linux 服务端原生 tcpdump |
网卡级捕获,无中间代理干扰 |
| 国密客户端 | 奇安信可信浏览器 | 原生支持国密 NTLS / TLCP 协议直连 |
| 分析工具 | Wireshark 4.0 及以上 | 老旧版本无法正确解析国密 TLCP 协议树 |

二、服务端纯净抓包
为了确保抓到的流量是标准的国密握手协议,不被任何国际标准中间代理干扰,应让国密浏览器与目标服务建立直连。
在服务器端,绑定对应的公网网卡(例如 ens33),对业务端口(如 4443)进行流量捕获:
tcpdump -i ens33 -nn -w /tmp/pure_gm_verify.pcap port 4443
随后,使用奇安信可信浏览器直接访问国密服务地址(如 https://your-server-ip:4443)。业务交互完成后,在终端按下 Ctrl + C 停止抓包,生成 .pcap 取证文件。

三、Wireshark 流量加载与精准过滤
将抓包文件下载到本地,用4.0以上版本的 Wireshark 打开。由于抓包中会夹杂大量 TCP 基础状态包,需使用显示过滤器提升分析效率。
在顶部显示过滤器输入框中输入:tls后剩下的大部分就是TLCP协议了,这个TLCP就是我们要的国密通信包协议,对应国标GB/T 38636-2020

四、锁定核心硬核证据(协议版本与密码套件)
在 Wireshark 展开的包详情中,可直接提取密评所需的关键合规证据。
- 确认国密 TLCP 协议版本
在 Client Hello 与 Server Hello 报文中,协议版本清晰显示为:
Version: TLCP (0x0101),对应国家标准 GB/T 38636。
Cipher Suite: ECC_SM4_CBC_SM3 (0xe013)

这一行密码套件直接给出了合规判定依据,其算法分工如下:
| 组件 | 算法 | 作用 |
|---|---|---|
| ECC | SM2 | 通信双方的身份鉴别与密钥协商 |
| SM4_CBC | SM4 | 应用层业务数据对称加密传输(机密性) |
| SM3 | SM3 | 消息杂凑与报文校验(完整性) |
五、总结
通过上述精简的「直连抓包 + 现代 Wireshark 验证」方案,可直击底层协议本质。
评论列表