zoukankan      html  css  js  c++  java
  • (在客户端)https抓包解密

    (一)原理分析

    https的数据包是用对称秘钥(https协议协商出来的随机数)加密后的密文。

    对称秘钥在传输线路上是密文的(被非对称加密过),但是在client、server端是明文的(因为要用于加解密)。

    对称秘钥如何获取?谷歌浏览器有一个接口,chrome浏览器的https协议中的对称秘钥会保存在”SSLKEYLOGFILE" (windows的一个环境变量,值为自定义的一个文本文件)中,wireshark有读取对称秘钥文件的接口。

    这样一来,就可以抓包和解密了。

    说明:不要以为会获取对称秘钥就可以破解网络上任意的https数据包了。这个对称秘钥是临时协商出来的。你下一次访问,对称秘钥又要改变了。所以,你不参与到client、server端,只参与到传输过程抓包,是无法获取当时的对称秘钥的(被非对称秘钥加了密),也就无法解密https的。所以本文名称为(在客户端)https抓包解密。

    (二)操作演示

    1、获取对称秘钥

    1)windows中设置全局变量

    新建一个文件:D:Tempsslkey.log      (空文件,不用管里面的内容)

    配置环境变量:

      变量名:SSLKEYLOGFILE

      变量值:D:Tempsslkey.log

    2)wireshark中设置读取全局变量

    2、抓对应的包

    1)选择需要抓包的网卡

    2)重启谷歌浏览器,访问目标网站(如:https://www.baidu.com)。必须重启谷歌浏览器,否则无法解密。

    3)几秒后终止wireshark抓包

    4)cmd中ping www.baidu.com 获取ip:163.177.151.109

    5)ip.addr == 163.177.151.109 过滤wireshark中的包。

    6)wireshark底部查看明文数据

    (二)解密成功后的标记

    1、数据包背景色为浅绿色

    2、wireshark底部有解密后的选项卡

    取消解密文件后报错;

    进入

    C:UsersxxxuserAppDataRoamingWireshark 

    删除文件:ssl_keys

    重启wireshark不再报错。

    其他参考:

    https解密

    https://www.cnblogs.com/aucy/p/9082429.html

    https://blog.csdn.net/u010726042/article/details/53408077
    https://www.2cto.com/article/201502/377678.html

  • 相关阅读:
    2021.4.2 Python基础及介绍
    2021.4.1 团队组队
    冲击信号
    信号卷积(线性卷积)
    数字图像处理基本概念
    计算机视觉发展及主要研究方向
    SVM 之 SMO 算法
    FP Growth 算法
    Apriori 算法
    26 实战页式内存管理 下
  • 原文地址:https://www.cnblogs.com/andy9468/p/11579905.html
Copyright © 2011-2022 走看看