https 解密

概述

在复杂的网络环境中,需要通过抓包来排查网络问题,但是有时候 https 的包是 tls 加密,无法看到真实它在做什么, 需要对其进行解密。

工具

  • tcpdump
  • wireshark
  • https 请求工具
    • 浏览器
    • curl

设置解密变量

export SSLKEYLOGFILE=~/Downloads/ssl.key

测试

发送 https 请求

curl https://baidu.com
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>bfe/1.0.8.18</center>
</body>
</html>

查看 ssl.key 是否有交换 key


cat ~/Downloads/sslkey.log
CLIENT_RANDOM E358B7ECDEDA7FEC4684942DC6395CFFB34B72918CAFACD69AA06713BB25240D F3934E92E3B1562B13CBA7C8613E7DDCE23A46F68B2B489604C99B65628833738230970A6A2940AA55F600AA06E4874E

有交换 key 说明成功,如果没有交换的 key 信息,那就说明使用的 https 的应用程序(客户端)不支持捕捉 SSLKEYLOGFILE 环境变量输出交换的 key 信息,建议换客户端或查询资料排查。

开始抓包

  1. 查询域名的 IP 地址,通过 dns 解析域名的 IP: 220.181.38.148
$ ping baidu.com -t 1
PING baidu.com (220.181.38.148): 56 data bytes
64 bytes from 220.181.38.148: icmp_seq=0 ttl=49 time=6.459 ms--- baidu.com ping statistics ---
2 packets transmitted, 1 packets received, 50.0% packet loss
round-trip min/avg/max/stddev = 6.459/6.459/6.459/0.000 ms

在其他终端执行

sudo tcpdump -i any host 220.181.38.148 -w https_baidu.cap -vv
Password:
tcpdump: data link type PKTAP
tcpdump: listening on any, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
54 packets captured
1027 packets received by filter
0 packets dropped by kernel

发送两次请求

export SSLKEYLOGFILE=~/Downloads/ssl.key
$ curl https://baidu.com
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>bfe/1.0.8.18</center>
</body>
</html>
$ curl https://baidu.com
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>bfe/1.0.8.18</center>
</body>
</html>

使用 wireshark 分析抓的包

  1. wireshark 打开抓的包

发现大量的 tls 协议包, 无法知道做了什么请求

  1. 使用 wireshark 打开 sslkey.log
      wireshark --> 首选项 > protocol > ssl

https 抓包解密相关推荐

  1. (在客户端)https抓包解密

    (一)原理分析 https的数据包是用对称秘钥(https协议协商出来的随机数)加密后的密文. 对称秘钥在传输线路上是密文的(被非对称加密过),但是在client.server端是明文的(因为要用于加 ...

  2. fiddler教程:抓包带锁的怎么办?HTTPS抓包介绍。

    点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 介绍Fiddler的HTTPS抓包功能." 这里首先回答下标题中的疑问,fiddler抓包带锁的原因是HTTPS流量抓包功能开启, ...

  3. https抓包_浅谈HTTPS抓包原理,为什么Charles能够抓取HTTPS报文?

    Charles作用其实相当于拦截器,当客户端和服务器通信时,Charles其实会先接收到服务器的证书,但是它会自己生成一个证书发送给客户端(不管是Web端或App应用),也就是说它不仅仅是拦截,甚至还 ...

  4. fiddler https 抓包

    原理 fiddler抓包原理 fiddler 调试器注册到操作系统因特网服务中,系统所有的网络请求都会走fiddler的代理,所以fiddler才能抓包. Debug traffic from any ...

  5. Fiddler对https抓包时,提示HTTPS decryption is disabled.原因及破解

    Fiddler对https抓包时,提示"HTTPS decryption is disabled." 原因:没有启用 https 解密. 破解: ----------------- ...

  6. fiddler app https抓包

    fiddler手机抓包原理 fiddler手机抓包的原理与抓pc上的web数据一样,都是把fiddler当作代理,网络请求走fiddler,fiddler从中拦截数据,由于fiddler充当中间人的角 ...

  7. 使用Fiddler抓HTTP/HTTPS包,Android7.0以后https抓包失败问题

    原博客地址:https://www.52pojie.cn/thread-967606-1-1.html 抓包的重要性 网络抓包,是Android应用逆向分析的重中之重,很多时候我们拿到一个APP,不知 ...

  8. Charles 4.2.1 HTTPS抓包

    Charles 4.2.1 HTTPS抓包 Charles iPhone抓包 Mac必须与iPhone连接同一WiFi Proxy -> SSL Proxying Settings ->  ...

  9. 移动端https抓包那些事--进阶篇

    上一次和大家介绍了手机端https抓包的初级篇,即在手机未root或者未越狱的情况下如何抓取https流量,但是当时分析应用时会发现,好多应用的https的流量还是无法抓取到,这是为什么呢? 主要原因 ...

  10. 移动端https抓包那些事--初级篇

    对于刚刚进入移动安全领域的安全研究人员或者安全爱好者,在对手机APP进行渗透测试的时候会发现一个很大的问题,就是无法抓取https的流量数据包,导致渗透测试无法继续进行下去. 这次给大家介绍一些手机端 ...

最新文章

  1. DCMTK:DSRRootTemplate和DSRSubTemplate类的测试程序
  2. 深度学习:卷积神经网络
  3. 旧版Requests库
  4. 系统架构师学习笔记-多媒体基础知识
  5. Django有办法打开HTTP长轮询连接吗?
  6. 【BZOJ1060】[ZJOI2007] 时态同步(树形DP)
  7. SQL Server中的万圣节问题和建议的解决方案
  8. 实现异步加载js文件及加载完成后回调
  9. 2015.10.7第一篇
  10. raid5坏了一块盘怎么办_如果你的硬盘坏了 你的照片还能找回来吗?
  11. STC学习:串口通信
  12. echarts地图省市坐标
  13. 全网最详细SIFT算法原理实现
  14. 多媒体技术是指运用计算机,多媒体技术的概念与应用
  15. 2019马哥python的百度网盘_马哥 2018 Python 全栈视频
  16. 1、试卷名称2013年下半年系统集成项目管理工程师真题
  17. OSChina 周四乱弹 —— 八字欠备,五行缺胎
  18. agv系统介绍_AGV小车控制系统介绍
  19. 【JavaSE】十二生肖带你走进枚举类
  20. 数据安全管理软件-企业如何保护数据安全?

热门文章

  1. Ubuntu18.04安装PX4并与ROS联合实验
  2. selenium弹窗处理,包括Javascript弹窗、HTML弹出层和Windows弹窗
  3. WIFI信道频率对应
  4. inSSIDer使用方法
  5. 隐马尔科夫链HMM详解
  6. vim 配置快捷键映射
  7. 010editor打开文件中文乱码解决
  8. 安装linux取消硬盘密码设置,linux下硬盘加密方法
  9. SDK开发技术规范总结
  10. wsimport 直接处理wsdl接口