当前位置: 首页 > news >正文

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

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 协议也可以显示出),如下图:

http://www.lryc.cn/news/424710.html

相关文章:

  • 【安卓】WebView的用法与HTTP访问网络
  • Mysql中文存入乱码???
  • 安美数字酒店宽带运营系统 weather.php 任意文件读取漏洞复现
  • BGP的反射器(四)
  • proxy负载均衡
  • 两个若依系统,不能同时登录问题解决方案
  • Unity Render Streaming项目实践经验
  • Rvt/dgn格式的模型如何提取外轮廓,用于压平倾斜模型或者地形,进行BIM+GIS融合
  • sqli-labs-master靶场通关
  • hive sql 处理多层 json 数组
  • Dom 元素转换 Image 图片 (截图)
  • 零售业务产品系统应用架构设计(二)
  • Linux速成入门教程——从零基础开始快速入门,一文了解Linux用户管理与权限
  • 网工内推 | 宁德时代IT运维,晋升空间大,带薪年假,包吃包住
  • Linux---系统安全
  • 手写数字识别实战
  • 二叉树遍历
  • uni app 调用前置摄像头
  • 哈工大李治军老师OS课程笔记(4)——内存管理
  • 代码随想录算法训练营第43天:动态规划part10:子序列问题
  • 传智教育引通义灵码进课堂,为技术人才教育学习提效
  • 企业信息化建设搞得好了叫系统工程,搞不好叫面子工程
  • 程序员如何平衡日常编码工作与提升式学习?
  • Linux---文件系统和日志分析
  • MySQL 体系架构
  • 跨站脚本攻击漏洞
  • RabbitMQ入门与进阶
  • Unity新输入系统 之 InputActions(输入配置文件)
  • Linux运维篇-误删/bin,/sbin目录怎么修复系统
  • 构建高效外贸电商系统的技术探索与源码开发