什么是RPC请求,rpc是什么

admin 34 0

什么是RPC请求目录

什么是RPC请求

rpc是什么

rpc是什么?如何处理?

RPC和注册中心的简介

什么是RPC请求

什么是RPC请求,rpc是什么-第1张图片

RPC(Remote Procedure Call)是一种进程间通信方式,允许程序调用另一个地址空间的过程或函数,而不需要程序员显式编码这个远程调用的细节。具体来说,RPC 使得程序能够像访问本地系统资源一样,去访问远端系统资源。它通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术。简单的说,RPC 就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。

rpc是什么

什么是RPC请求,rpc是什么-第2张图片

rpc(Remote Procedure Call)是远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。

RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。

在OSI网络通信模型中,RPC跨越了传输层和应用层。

RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

RPC采用客户机/服务器模式。

请求程序就是一个客户机,而服务提供程序就是一个服务器。

首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。

rpc是什么?如何处理?

什么是RPC请求,rpc是什么-第3张图片

远程过程调用 (RPC) 是一种协议,程序可使用这种协议向网络中的另一台计算机上的程序请求服务。

由于使用 RPC 的程序不必了解支持通信的网络协议的情况,因此 RPC 提高了程序的互操作性。

在 RPC 中,发出请求的程序是客户程序,而提供服务的程序是服务器。

RPC 中处理 TCP/IP 上的消息交换的部分存在一个缺陷。

错误地处理格式不正确的消息会导致出现错误。

这种特定的错误会影响底层的 DCOM 接口,此接口侦听 TCP/IP 端口 135。

通过发送格式不正确的 RPC 消息,攻击者可以使一台计算机上的 RPC 服务出现问题,进而使任意代码得以执行。

远程过程调用 (RPC) 是 Windows 操作系统使用的一个协议。

RPC 提供了一种进程间通信机制,通过这一机制,在一台计算机上运行的程序可以顺畅地执行某个远程系统上的代码。

该协议本身是从 OSF(开放式软件基础)RPC 协议衍生出来的,只是增加了一些 Microsoft 特定的扩展。

RPC 中处理通过 TCP/IP 的消息交换的部分有一个漏洞。

此问题是由错误地处理格式不正确的消息造成的。

这种特定的漏洞影响分布式组件对象模型 (DCOM) 与 RPC 间的一个接口,此接口侦听 TCP/IP 端口 135。

此接口处理客户端计算机向服务器发送的 DCOM 对象激活请求(例如通用命名约定 (UNC) 路径)。

为利用此漏洞,攻击者可能需要向远程计算机上的 135 端口发送特殊格式的请求。

减轻影响的因素:

为利用此漏洞,攻击者可能需要拥有向远程计算机上的 135 端口发送精心编造的请求的能力。

对于 Intranet 环境,此端口通常是可以访问的;但对于通过 Internet 相连的计算机,防火墙通常会封堵 135 端口。

如果没有封堵该端口,或者在 Intranet 环境中,攻击者就不需要有任何其他特权。

最佳做法是封堵所有实际上未使用的 TCP/IP 端口。

因此,大多数连接到 Internet 的计算机应当封堵 135 端口。

RPC over TCP 不适合在 Internet 这样存在着危险的环境中使用。

这是一个缓冲区溢出漏洞。

成功利用此漏洞的攻击者有可能获得对远程计算机的完全控制。

这可能使攻击者能够对服务器随意执行操作,包括更改网页、重新格式化硬盘或向本地管理员组添加新的用户。

要发动此类攻击,攻击者需要能够向 RPC 服务发送一条格式不正确的消息,从而造成目标计算机受制于人,攻击者可以在它上面执行任意代码。

防范来自 Internet 的远程 RPC 攻击的最佳方法是:将防火墙配置为封堵 135 端口。

RPC over TCP 不适合在 Internet 这样存在着危险的环境中使用。

此漏洞是由于 Windows RPC 服务在某些情况下不能正确检查消息输入而造成的。

如果攻击者在 RPC 建立连接后发送某种类型的格式不正确的 RPC 消息,则会导致远程计算机上与 RPC 之间的基础分布式组件对象模型 (DCOM) 接口出现问题,进而使任意代码得以执行。

RPC和注册中心的简介

什么是RPC请求,rpc是什么-第4张图片

网络调用RPC 假设一个web 调用另外一个service 就符合RPC协议

在网络传输中的数据是序列化及返回为反序列化传输

什么是RPC:RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务

RPC的原理:RPC协议的底层原理,就是对象的序列化、反序列化以及序列化后数据的传输。

常见的RPC框架:Dubbo,SpringCloud, Thrift,Motan,gRPC

注册中心的作用:1:服务端服务的注册和客户端服务的发现 2、提高系统的高可用性 3、提高系统的可伸缩性 4、集中管理服务 ;常见的注册中心:zookeeper,Redis;

服务的发现:引入注册中心