Wireshark对QUIC包的抓包和解密

参考资料:通过Wireshark 解密展示 https和quic数据明文_MemoryOY的博客-CSDN博客https://blog.csdn.net/MemoryOY/article/details/114673853

简介

由于QUIC是基于TLS1.3构建的,所以在用wireshark对quic进行抓包时,经常会出现只能看到部分quic包数据的情况,为了更好的了解和研究quic,我们需要对包进行解密。

未解密quic包:

 解密quic包:

经过两图对比,我们能发现不进行解密只能看到很少一部分quic数据。话不多说,开始教程。 

操作说明

环境:Ubuntu18.04,火狐(network.http.http3.enabled为true)

1、打开一个命令行,开启抓包,port是服务器的端口号,/home/capture/quic.pcap是抓包文件存放的地址

tcpdump -ni any port 8443 -w /home/capture/quic.pcap

2、另起一个命令行,设置linux环境变量,输出的是密钥记录日志文件,sslkeylog.log。

export SSLKEYLOGFILE=/home/capture/sslkeylog.log

        原理:当你配置了”SSLKEYLOGFILE“这个环境变量,这意味着你想知道每次https会话的key记录,浏览器将会在每次https会话结束后,将会话数据解密的key记录到keylog文件中,Wireshark通过访问keylog文件使用里面的key就可以解密自己捕获到的https会话数据流。

3、使用火狐浏览器,访问使用quic的服务器(https://127.0.0.1:8443是我自己配置的quic服务器地址)

firefox https://127.0.0.1:8443

        这里有一个关键点就是,浏览器产生的解密密码是不一样的,每一次抓包,每一个会话或者每一个流(这里不确定,知道的大神可以私信告诉我,谢谢!)的密码好像都是随机生成的,不是一成不变的。所以每次想抓到解密的quic包都得严格按照上述步骤流程去做。sslkeylog.log 截图如下:

4、停止抓包,用wireshark打开本次抓到的包

         然后打开wireshark 软件设置: [编辑]-[首选项]-[协议]-[TLS]-[(Pre)-Master-Secret log filename] 选中sslkeylog.log ,如下

5、得到解密后的quic包(同一个文件的图,选中的都是21号包,可以和上图比较)

         完成。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值