这里写自定义目录标题
- 使用Wireshark进行QUIC抓包
- 开启quiche的SSL密钥记录
- Wireshark中设置TLS密钥位置
- 开始抓包
使用Wireshark进行QUIC抓包
现在的wireshark已经添加了对quic协议的支持,我用的是windows平台,用的iQUIC实现是quiche,记录一下wireshark对其的抓包、解密过程
开启quiche的SSL密钥记录
由于QUIC用的是DH加密,保证了前向安全性,服务端的私钥并不是最终协商会话的密钥,所以直接拿服务端的私钥是不能解密的。所以要开启quiche中的密钥记录功能,把会话过程中的密钥导出到log文件中,然后通过wireshark读入就可以解密了。本人不是搞密码学的,具体原理嘛,还真说不清楚。
quiche的示例程序中其实已经写了这一步了:
if (getenv(\"SSLKEYLOGFILE\")) {quiche_config_log_keys(config);}
所以在环境变量中添加自己想保存log文件的位置,例如
C:\\ssl.log
Wireshark中设置TLS密钥位置
我看到有教程说是添加在SSL中的相关设置里,我这个版本里没有SSL协议,而是TLS。具体位置:编辑>>首选项>>协议>>TLS>>(Pre)-Master-Secret log filename
填入
C:\\ssl.log
即可
开始抓包
我是在本机测试的,所以直接抓loopback就行,可以看到上面摘要信息中已经可以解析出streamid
在具体字节流信息中点击Decrypted QUIC可以看到解密后的载荷内容,比如我的内容是
\\nS = 4\\nServer-side Message!\\n\\n