爬虫 Web Js 逆向:RPC 远程调用获取加密参数(1)WebSocket 协议介绍 ...

打印 上一主题 下一主题

主题 538|帖子 538|积分 1616

RPC (Remote Procedure Call) 是远程调用的意思。
在 Js 逆向时,当地可以和浏览器以服务端和客户端的形式通过 WebSocket 协议举行 RPC 通信,这样可以直接调用浏览器中的一些函数方法,不必去在意函数具体的执行逻辑,可以省去大量的逆向调试时间。
本文先介绍 WebSocket 协议相关内容。
1. 简介

WebSocket是一种在单个TCP连接上举行全双工通信的协议。
优点:WebSocket 协议使客户端和服务器端之间的数据互换变得更加简单,它允许交互两边创建长期连接,同时支持服务器端自动向客户端推送数据。
留意:WebSocket 协议规范只作为参考,所以服务器端和客户端的连接条件和消息格式通常由服务器端开发者决定。
因此,服务器端可以在握手时对客户端举行身份校验,在消息传递或数据帧方面也可以计划一些用于反爬虫的方法。
服务器端可以以任何理由关闭连接,开发者常常利用这些特点限制爬虫连接大概获取数据。
留意:WebSocket是独立的、创建在TCP上的协议,双端通过HTTP/1.1协议举行握手,握手成功后才会转为WebSocket协议(WebSocket 握手,即连接哀求的过程)
服务器端接收客户端发起的握手哀求后,返回的握手结果中包罗状态码和当前所用的协议,其中,Status Code 代表本次握手结果,状态码中的101表示连接成功。
2. WebSocket 连接

我们可以通过 Chrome 开发者工具中的 Network 面板,查看WebSocket的连接信息及传输的数据。
如下图(状态码 101 表示连接成功):


上图中箭头向上的数据是客户端发送给服务器端的,箭头向下的是服务器端推送给客户端的。
注:如果 Network 面板没有 Type 列,可以鼠标右键在菜单中选择(Scheme 协议也可以显示出),如下图:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南七星之家

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表