wireshark抓https包

https双向加密的,如果需要解密数据,除非知道 客户端/服务器 任何一方私钥!否则无法解密,常用手段:

(1)基于vpn协议做中间人攻击抓包

这类工具诸如 fiddler ,实现的是中间人代理,它不需要客户端/服务器一方私钥,而是将客户端私钥改为fiddler自己的,这样每次通信都使用自己的私钥加密,服务器就可以通过公钥解密了。。而且只能抓http/https包。。。。

(2)基于网卡tcp抓包

要知道fiddler抓包是基于应用层协议抓包!所以数据更接近真实得到的。而wireshark基于网络层抓包。所以抓到的都是一些基于网卡发来的tcp/ip协议的包:

wireshark抓https包

列表首先能看到的就是双方的ip,也就是tcp/ip包。然后就是应用层协议,有http/ack/tls等等。如果协议是公开的,就可以直接显示数据的。https协议由于不知道客户端/服务器私钥,所以无法解密!

(2.1)好在chrome强大,再https通信过程中,如果设置环境变量:

SSLKEYLOGFILE C:\Users\xx\sslkey.log

chrome就会自动把每次https通信的客户端私钥/服务器端公钥记录到上面的文件中!为什么会有很多行呢????客户端每次通信的时候都会随机生成一个私钥和服务器通信的!

(2.2)wireshark配置

wireshark可以利用 sslkey.log 解密所有数据了。只需要
编辑-------首选项------protocols-------tls:

wireshark抓https包

请注意, 编辑-------首选项------protocols-------tls ,原来老版本的(2019年前的)是ssl。所以别说找不到了。。

(2.3)删除sslkey.log

必须得强调一下 C:\Users\xx\sslkey.log 文件抓包前需要删除!否则可能会抓包卡死!

博客地址:http://blog.yoqi.me/?p=15975

上一篇:ensp提示抓包工具wireshark配置路径不正确


下一篇:《wireshark网络分析就这么简单》第一个试题的分析