利用 Wireshark 对不安全网站的抓包以及流量解密

HTTP(超文本传输协议)是互联网上应用最为广泛的协议之一,主要用于在 Web 服务器和客户端浏览器之间传输数据。HTTPS(安全超文本传输协议)可以看作是 HTTP 的安全版本,它在  HTTP 的基础上加入了 SSL/TLS 协议,用于加密数据,确保数据传输的安全。HTTPS 比 HTTP 更加安全,尤其是在涉及敏感信息如登录凭证、金融交易等场景下,推荐使用 HTTPS。随着网络安全意识的提高,越来越多的网站开始采用 HTTPS 协议。 

下面以一个没有采用 HTTPS 协议的网站登录界面为例,通过 Wireshark 对其数据进行抓包:

HTTP(不安全)

打开 Wireshark 开始抓包,然后随便输入一个账号和密码点击登录,返回 Wireshark 停止抓包,输入以下过滤条件后过滤:

http.request.method==POST

于是我们便能看到我们刚才输入账号和密码的明文数据:

抓不到?HTTPS!

鉴于 HTTPS 协议比 HTTP 协议更加安全,越来越多的网站和服务正在迁移到 HTTPS,以确保用户数据和交易的安全,但目前仍有一部分网站采用的是 HTTP 协议。

在访问 HTTP 协议下的不安全网站时,目前市面大部分主流浏览器会自动切换为 HTTPS 协议,此时我们在抓包时便不能再看到明文数据。

那就这样结束啦?别急,加密了我们可以解密呀!

操作前我们先关闭浏览器(如果你打开了的话),然后先设置环境变量(以下步骤仅供参考):

打开命令行(cmd 和 PS 均可),先切换到路径 C:\Windows\System32 :

然后输入以下指令后回车(哪个盘哪个路径叫什么名可自选):

setx SSLKEYLOGFIL D:\keylog.txt

接着输入下面的指令:

"C:\Program Files(x86)\Google\Chrome\Application\chrome.exe" --ssl-key-log-file=D:\keylog.txt

其中 "C:\Program Files(x86)\Google\Chrome\Application\chrome.exe” 是你要用的浏览器的地址,D:\keylog.txt 不要忘了改成你的哦!

如果使用的是 PS 的话输入上述指令可能会报错,解决方法:在命令前加上 &

&"C:\Program Files(x86)\Google\Chrome\Application\chrome.exe" --ssl-key-log-file=D:\keylog.txt

然后等待浏览器运行后,访问目标网站,相关密钥信息将存入 keylog.txt。

接下来抓包。

ping 一下目标网站,用其 IP 在 Wireshark 中进行过滤:

然后在编辑(Edit)-> 首选项(Preferences)(快捷键:Ctrl + Shift + P)中的 Protocols 中找到 TLS,在 (Pre)-Master-Secret log filename 项输入 keylog.txt 的路径:

然后点击确定后即可将抓包得到的流量解密,我们再次能看到明文数据:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值