百趣云
百趣云的博客
🔖WebSocket
WebSocket 逆向和 HTTP 有什么不同HTTP 协议模拟是"一次性请求"的复制,WebSocket 是长连接状态机的复刻:握手、鉴权、心跳、消息编解码、重连,每个环节都有坑。抓包工具对 WS 的支持也弱于 HTTP(Charles 能看但不直观),先建立正确的分析姿势。分析姿势:先看懂消息格式Chrome DevTools 的 Network → WS → Messages 标签页能看到所有帧。重点观察:消息格式:JSON?protobuf?自定义二进制?(JSON 最好办,protobuf 按前文方法还原,自定义二进制最麻烦)消息类型字段:一般有个 type/cmd/op 字段区分
背景做 1688 商家工具,绕不开千牛 IM:自动回复、发商品卡片、发位置消息。但 1688 的聊天不是普通的 HTTP 接口——它走的是 WebSocket + 阿里 LWP 私有协议,网上几乎找不到任何资料。这篇文章记录我从零摸透这套协议、并徒手构造一条位置消息的全过程。第一步:确定协议栈打开 1688 聊天页,F12 看 Network,会发现消息收发根本不走 XHR,全部在一条 WebSocket 连接里。所以第一件事是 hook 掉页面的 WebSocket,把真实流量看清楚:function hookWS() {
if (window.__wsHooked) return