给一个网站风格做定义,企业网站建设基本思路,儿童玩具网站建设实训报告,官方网站aspcmsRPC (Remote Procedure Call) 是远程调用的意思。
在 Js 逆向时#xff0c;本地可以和浏览器以服务端和客户端的形式通过 WebSocket 协议进行 RPC 通信#xff0c;这样可以直接调用浏览器中的一些函数方法#xff0c;不必去在意函数具体的执行逻辑#xff0c;可以省去大量…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 协议也可以显示出如下图