首页/安全/加密与证书速查/TLS 抓包分析入门
TLS 与 HTTPS60 条

TLS 抓包分析入门

抓包定位 TLS 问题:用过滤条件观察握手消息、证书与警报;需要解密时通过客户端密钥日志(SSLKEYLOGFILE)配合分析工具,服务端私钥无法解密 ECDHE/TLS 1.3 会话。

加密与证书速查安全更新于 2026-10-13

抓包分析入门

抓包定位问题的方法围绕握手消息、证书与警报三类内容展开:用过滤条件只看握手阶段,用证书消息确认服务端下发的链,用警报消息定位失败原因。需要解密时,客户端可以导出会话密钥日志供分析工具载入;服务端私钥无法解密具备前向保密的会话,这一点常被误解。

基本信息

过滤表达式按握手消息类型过滤(问候、响应、证书)
警报查看告警级别与描述编号
解密前提只有不具前向保密的旧式密钥交换可用私钥解
密钥日志由客户端导出,分析工具载入

典型使用场景

  • 握手失败排错:从警报信息定位原因
  • 证书链核对:确认服务端下发的链内容
  • 性能分析:查看握手往返次数
  • 自研客户端调试:确认消息顺序与内容
  • 安全排查:确认是否存在异常降级

常用命令

常用命令
tshark -i eth0 -f 'tcp port 443' -Y 'tls.handshake' -T fields -e ip.src -e tls.handshake.type | head -20
tshark -r tls.pcap -Y 'tls.alert_message' -T fields -e tls.alert_message.desc | head
tshark -r tls.pcap -Y 'tls.handshake.type == 11' -V | head -40

消息类型与用途

消息用途排错价值
客户端问候发起握手,携带扩展确认客户端能力
服务端响应选定套件与参数确认协商结果
证书下发服务端证书链核对链内容与顺序
警报通报错误定位失败原因
生产环境抓包要注意隐私与合规:载荷可能包含用户数据,留存与共享前先脱敏并限定范围,密钥日志要按高敏感文件管理。

落地建议

  • 抓包文件设置采集范围与时长上限
  • 密钥日志单独存放并严格限制访问
  • 分析结论与配置变更记录关联留档
  • 把常见警报编号整理成排查对照表
试图用私钥解密具备前向保密的会话不可行;这类会话只能通过客户端导出的会话密钥日志解密,不要在生产环境尝试绕过。

易错点

  • 试图用私钥解密具备前向保密的会话,实际不可行
  • 抓包文件旁存了完整密钥日志,却没有按高敏感文件管控
  • 过滤条件过宽导致信息淹没,错过关键警报
  • 只看服务端视角抓包,忽略客户端与中间设备
  • 在生产长期留存全量抓包,带来合规与存储风险
  • 抓包点选错位置,观测到的现象并非用户实际路径

数据来源与参考

  • Wireshark 官方文档(TLS 解析与密钥日志)
  • RFC 8446 §6(警报)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌