抓包调试protobuf请求

栏目: 后端 · 发布时间: 6年前

内容简介:whistle是基于Node实现的跨平台抓包工具,有关whistle的内容请查看Github:在如果是自己实现的代理,代理请求头要加上

whistle是基于Node实现的跨平台抓包工具,有关whistle的内容请查看Github: https://github.com/avwo/whistle

轻松篡改WebSocket数据包 一文中谈了如何用whistle抓包调试WebSocket请求,事实上whistle也支持对普通的Socket(TCP)请求进行抓包调试,只需要客户端将请求通过HTTP代理的方式转发到whislte即可,其中Node程序可以直接用 socketx 模块实现,其它程序也可以参考该模块的实现: https://github.com/avwo/socketx

如果是自己实现的代理,代理请求头要加上 x-whistle-policy: tunnel ,这样可以让whistle的Frames显示长连接的每帧数据,并可以防止whistle开启全局捕获HTTPS请求时误把Socket请求当成普通的https请求; 如果确实无法在代码里面修改代理请求头,需要通过在Rules里面设置规则 tunnel://host:port disable://capture enable://inspect 禁用定host和端口的HTTPS捕获及开启显示请求的每帧数据。

抓包调试protobuf请求

但在实际使用过程中,不是每个需要传输的数据包对应一帧数据,由于数据包大小关系,经常会出现拆包粘包的情况,因此对传输的数据包进行封装以便在接收方能完整取出,这时需要发送和接收方约定一种传输协议,如WebSocket内置的 传输协议 ,普通的Socket连接也可以自定义简单的传输协议,如: simpleproto 。在进行上述组包之前可能还会用protobuf等协议对数据包进行序列化压缩加密等,导致在whistle界面上看到的普通长连接数据包不完整或出现乱码,难以用whistle进行抓包调试这类长连接。

为方便抓包调试自定义协议的长连接请求, whistle v1.13.1 版本开始把界面 Network/Frames 的API通过事件的方式暴露给插件,方便插件自定义解析WebSocket、Socket请求的数据包并显示到界面的Frames列表中,同时可以监听到该面板的暂停、忽略、构造数据等操作,实现抓包调试各种自定义协议(不局限于protobuf协议)。

自定义长连接包解析器,要求 whislte >= v1.13.1 版本,如果版本太低可以点击此链接升级: https://wproxy.org/whistle/update.html 不清楚whistle插件机制的可以先看下文档: whistle插件开发

有关自定义包解析器的可以参考以下两个项目:

  1. 自定义解析WebSocket请求: whistle.custom-ws
  2. 自定义解析普通Socket请求: whistle.custom-parser

以上所述就是小编给大家介绍的《抓包调试protobuf请求》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

长尾理论2.0

长尾理论2.0

安德森 / 乔江涛、石晓燕 / 中信出版社 / 2009-5 / 42.00元

《长尾理论2.0》是克里斯·安德森对所有问题最明确的回答。在此书中,他详细阐释了长尾的精华所在,揭示了长尾现象是如何从工业资本主义原动力——规模经济与范围经济——的矛盾中产生出来的。长尾现象虽然是明显的互联网现象,但其商务逻辑本身,却是从工业经济中自然而然“长”出来的,网络只是把酝酿了几十年的供应链革命的诸多要素简单地结合在一起了。同时,长尾理论转化为行动,最有力、最可操作的就是营销长尾,通过口碑......一起来看看 《长尾理论2.0》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具