解密TLS协议全记录之利用wireshark解密

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

引言

  • 为什么会突然有使用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

1.2 有用的知识

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可以 点击右侧的 ▼(
评论 27
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值