共发布了 104 篇文章,最近更新于 2026-08-09

密评学习(一):用wireshark抓包证明国密通信链路

cesii 28 公众号已发布

在商用密码应用安全性评估(简称「密评」)项目中,验证应用系统是否真正合规地启用了国密通信链路,最直接、最无懈可击的技术证据就是网络抓包与密码套件分析。本文将记录一套精简、高效的国密传输验证方案:不需要繁杂的中间代理,直接通过网卡捕获国密浏览器与国密网关的交互流量,并利用现代版 Wireshark 深度剖析 TLCP(GB/T 38636) 协议及 SM2 / SM3 / SM4 密码套件。

一、核心工具准备

角色 工具 说明
测试环境 具备国密的测试环境 传输加密验证
抓包工具 Linux 服务端原生 tcpdump 网卡级捕获,无中间代理干扰
国密客户端 奇安信可信浏览器 原生支持国密 NTLS / TLCP 协议直连
分析工具 Wireshark 4.0 及以上 老旧版本无法正确解析国密 TLCP 协议树

注意:使用wireshark版本一定是4.0+版本,从github官方得知只有4.0以上的版本才支持国密

密评学习(一):用wireshark抓包证明国密通信链路

二、服务端纯净抓包

为了确保抓到的流量是标准的国密握手协议,不被任何国际标准中间代理干扰,应让国密浏览器与目标服务建立直连
在服务器端,绑定对应的公网网卡(例如 ens33),对业务端口(如 4443)进行流量捕获:
tcpdump -i ens33 -nn -w /tmp/pure_gm_verify.pcap port 4443

随后,使用奇安信可信浏览器直接访问国密服务地址(如 https://your-server-ip:4443)。业务交互完成后,在终端按下 Ctrl + C 停止抓包,生成 .pcap 取证文件。

密评学习(一):用wireshark抓包证明国密通信链路

三、Wireshark 流量加载与精准过滤

将抓包文件下载到本地,用4.0以上版本的 Wireshark 打开。由于抓包中会夹杂大量 TCP 基础状态包,需使用显示过滤器提升分析效率。

在顶部显示过滤器输入框中输入:tls后剩下的大部分就是TLCP协议了,这个TLCP就是我们要的国密通信包协议,对应国标GB/T 38636-2020

注意: 在 Wireshark 底层实现中,我国的国密 TLCP 协议解析模块被统一归纳在 tls 协议树下。

密评学习(一):用wireshark抓包证明国密通信链路

四、锁定核心硬核证据(协议版本与密码套件)

Wireshark 展开的包详情中,可直接提取密评所需的关键合规证据。

  1. 确认国密 TLCP 协议版本
    在 Client Hello 与 Server Hello 报文中,协议版本清晰显示为:

Version: TLCP (0x0101),对应国家标准 GB/T 38636

  1. 锁定国密密码套件(核心判定项)
    在 Server Hello 展开项中,可以看到成功协商出的国密套件:

Cipher Suite: ECC_SM4_CBC_SM3 (0xe013)

密评学习(一):用wireshark抓包证明国密通信链路

这一行密码套件直接给出了合规判定依据,其算法分工如下:

组件 算法 作用
ECC SM2 通信双方的身份鉴别与密钥协商
SM4_CBC SM4 应用层业务数据对称加密传输(机密性)
SM3 SM3 消息杂凑与报文校验(完整性)

五、总结

通过上述精简的「直连抓包 + 现代 Wireshark 验证」方案,可直击底层协议本质。

评论列表

表情
😀😂 🤣😅 😍🥰 😘😎 🤔😒 😭😱 😡🥺 😴🤯 👍👎 👏🙏 💪 ❤️💔 🎉🔥 💯 🤦🙄