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

如何使用tcpdump确认双向SSL连接中客户端证书是否已发送

结论

你提供的两处排查信息已经可以100%确认当前建立的是单向SSL连接,未启用双向SSL校验。

判定依据

双向SSL(mTLS)的标准握手流程存在强制要求:

  • 服务端在发送自身证书后,必须发送CertificateRequest报文要求客户端提交证书,该报文中会携带服务端信任的CA列表,也就是openssl s_client测试中会展示的「acceptable CAs」信息
  • 你提供的ssldump日志中,服务端在ServerHello、Certificate报文后直接发送了ServerHelloDone,完全没有CertificateRequest环节,客户端后续也仅发送了ClientKeyExchange,没有出现客户端证书上传的步骤,完全符合单向SSL的握手特征

正确的tcpdump抓包验证操作指引

你可以按照以下步骤重新抓包确认结果:

  • 先停止Apache服务,执行以下命令确认无存量的OAM 5575端口连接:
    ss -nt dst 172.31.xx.yy:5575
    确认输出为空后再继续操作。
  • 在webgate机器执行tcpdump抓包命令:
    tcpdump -i any -w oam_ssl_handshake.pcap host 172.31.xx.yy and port 5575
    参数说明:
    • -i any:抓取所有网卡的流量
    • -w oam_ssl_handshake.pcap:将原始流量写入pcap文件,方便后续分析
    • 后面的过滤规则仅保留和OAM服务器5575端口的通信,避免冗余包干扰
  • 保持tcpdump运行,启动Apache,通过浏览器发送请求触发webgate和OAM的连接建立,等待10秒后按Ctrl+C停止抓包。
  • 可以通过两种方式分析包:
    • 用ssldump解析:ssldump -r oam_ssl_handshake.pcap
    • 用Wireshark打开pcap文件,输入过滤规则tls.handshake.type == 11,如果没有匹配结果,说明服务端从未发送证书请求,确认是单向SSL。

后续排查建议

如果预期要启用双向SSL,需要检查OAM服务器端的SSL配置,确认是否开启了客户端证书校验选项、信任CA库配置是否正确,服务端未开启相关配置的情况下不会主动发送CertificateRequest报文。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 09:36:02