引言
- 为什么会突然有使用wireshark学习TLS的想法,主要是为了一个抢票设计,结果一入TLS,无法自拔,最后发现路子好像走歪了,唯一的价值好像就是多了这么一篇博客,查阅了很多有根据,没根据的博客内容,总结出这篇自以为还算全面的文章。如有问题,欢迎讨论交流。
- 学习网络协议之前,必须先找对最基本的协议学习网站,
rfc协议官网 https://www.rfc-editor.org
ietf协议官网 https://www.ietf.org/ ,其实这个网站,我经常搜索不出比较理想的文件,标题不直观,杂七杂八的会议记录文件一大堆夹杂在规范文件之中。 - 通过上面的网站,我们可以获取到tls的几个协议说明链接.
TLS1.0: https://www.rfc-editor.org/rfc/rfc2246.html
TLS1.2: https://www.rfc-editor.org/rfc/rfc5246.html https://tools.ietf.org/html/rfc5246
1. 写在解密前
- 这个分析TLS报文的环节中引出很多问题,一步步被引入深坑。
- 学习的时候,被不少没有实践的博客坑得浪费了不少时间,之前参考过下面的内容:
1.1 安装wireshark
- 从Wireshark官网下载软件wireshark官网下载略慢,
也可以选择从下面链接获取:
链接:Wireshark-win64-3.2.4.exe
提取码:t4om
1.2 有用的知识
- 从wireshark的wiki中,https://wiki.wireshark.org/, 可以查阅到网络协议在wireshark上使用相关的教程,比如本文中TLS,https://wiki.wireshark.org/TLS
1.2.1 易混淆点
- SSLv2/SSLv3不安全,因此,发展出了使用TLS来代替,利用传输层的TCP协议来传输报文,端口号 443, 将应用层(HTTP)封装在tls的加密密文中。
- X.509 认证证书有时候也叫 SSL 证书。
- 由于一些历史原因, 诸多的软件中(包括wireshark)提到 SSL 或者 SSL/TLS ,指的都是 目前大家都在使用的TLS协议,比如 wireshark早些版本就叫SSL,现在都统一成TLS。
- 典型地, TLS使用TCP 作为他的传输层协议, 这几年也逐步发展出了DTLS(Datagram TLS), 也就是基于UDP传输的TLS报文协议。 UDP传输协议(英语:User Datagram Protocol,用户数据包协议),网络编程的时候,经常通过SOCK_DGRAM参数来配置socket。
- 自从wireshark 3.0之后, TLS解析工具就从SSL改成了TLS, 如果使用SSL的话,软件将会发出警告。
1.2.2 wireshark 使用技巧
- 配置过滤选项为:
tcp.port = 443,便可以过滤TLS报文 - 当我们想追踪某一次数据通信的相关报文的时候, 可以右键该报文,然后选择追踪流,
追踪TLS 协议,便可以将相关的TLS报文 都筛选出来, 也有其他选项,比如追踪 TCP报文之类的,我们就可以很清晰观察到报文的一些 握手, 挥手信息, TLS的交换密钥的报文信息。 - 配置过滤的时候, 同样可以右键报文的ip地址 ,选择作为过滤器使用,然后可以组合各种过滤的逻辑语法, 之后会作用到 Current Filte中
- 在Current Filter中, 如果不小心删除之前使用的逻辑判断语句,如
ip.addr=192.168.1.1, 可以 点击右侧的 ▼(

本文详述了使用Wireshark解密TLS报文的两种常见方法:一是利用服务器的RSA私钥;二是借助TLS调试文件和keylog。文章深入讲解了配置步骤、注意事项及常见问题解决,为网络安全分析提供了实用指南。
最低0.47元/天 解锁文章
3952





