使用 Wireshark 捕获 HTTPS、 WebSocket 信息
概要
日常工作中会遇到因语言不同、无法查看源代码、联系不到人等情况无法还原接口的调用链路, 故往往需要通过抓包进行解决问题, 而使用 filddler 会出现最新版本需外网登陆、还要收费, 老版本本地语言以及UI设计不习惯的场景, 当然最主要是因为无法抓取本地程序的包, 因此我选择使用 wireshark 进行抓包来满足我的诉求;
下载 Wrieshark
https://www.wireshark.org/
内置中文版本,非常亲民;
抓 HTTPS WSS 包相关配置
- 配置环境变量 SSLKEYLOGFILE (可以自己定义, 这个是wireshark 默认值), 并且填写对应变量值, 当前我填写为 D:\config\sslkey.log (自己定义);
- 点击 编辑 -> 首选项 (快捷键:ctrl + shift + p)
- 选择 Protocols (协议)
- 选择 TLS, 填入对应文件地址, 其中 debug 地址可以自己定制,Pre-shared Key 可以自定义即上述的环境变量
- 选择 TCP, 勾选 Reassemble out-of-order segments, 这个默认是关闭的, 需要手动开启下, 该项可以重组无序的 TCP的包避免多段;
- 重新打开浏览器
- 过滤器输入 websocket 或者 http 就可以查到你想要的数据
Tips:
相关 json 转码可以点击 json.cn