A verdade é: o RPC é amplamente usado em máquinas LOCAL , mas, para uso de HOST a HOST , é usado principalmente pela Microsoft internamente, raramente usado por terceiros .
Uso principal do RPC LOCAL :
Componente RPC bruto, como Registro, Netlogon, Firewall, Controle de Serviço, SQL Server ... Você pode vê-los na lista na seção "HOST-to-HOST".
muitos componentes DCOM (baseados em RPC, como um wrapper C ++ de C), incluem componentes COM +.
Você pode executar o dcomcnfg para ver quantos componentes DCOM em sua máquina:
Excel, Internet Explorer, Visual Studio ... podem ser automatizados porque são componentes do DCOM:
Até a caixa de diálogo Propriedades do arquivo do Explorer também é componente do DCOM, engraçado? Se você remover todas as ACLs de "Editar limites" das permissões de inicialização do DCOMCNFG, não poderá fazer quase nada, além de apenas o gerenciamento funcionar !, até mesmo mostrar a propriedade do arquivo no explorer!
Uso principal de RPC HOST-to-HOST :
Coisas de Gerenciamento Remoto, como quando "Gerenciamento do Computador", "Editor do Registro", você pode conectar a uma máquina remota! O que acontece sublinhado é o protocolo RPC sobre SMB (porta TCP 445, conhecida como Compartilhamento de Arquivos).
Você pode usar a ferramenta rpcdump ou ifids para despejar todas as interfaces internas de RPC na máquina remota; veja os seguintes resultados; você pode ver muitas interfaces de gerenciamento do sistema (elas também podem ser usadas localmente, é claro):
[MS-RSP]: Remote Shutdown Protocol
[MS-TSCH]: Task Scheduler Service Remoting Protocol
[MS-TSCH]: Task Scheduler Service Remoting Protocol
[MS-TSCH]: Task Scheduler Service Remoting Protocol
[MS-EVEN6]: EventLog Remoting Protocol
Adh APIs
AppInfo
Base Firewall Engine API
DHCP Client LRPC Endpoint
DHCPv6 Client LRPC Endpoint
DfsDs service
EFSK RPC Interface
Event log TCPIP
Fw APIs
Group Policy RPC Interface
IP Transition Configuration endpoint
IdSegSrv service
Impl friendly name
KeyIso
LicenseManager
NRP server endpoint
NSI server endpoint
NetSetup API
Ngc Pop Key Service
Proxy Manager client server endpoint
Proxy Manager provider server endpoint
Secure Desktop LRPC interface
Security Center
UserMgrCli
WM_WindowManagerRPC\Server
WinHttp Auto-Proxy Service
Witness Client Test Interface
Witness Client Upcall Server
XactSrv service
...
Received 499 endpoints.
Por que o RPC é importante? Só porque todo sistema maduro precisa de um mecanismo de comunicação entre processos, um conjunto de ferramentas para gerar stub / proxy, um padrão para empacotar / descompactar objetos. Todo sistema tem coisas semelhantes. Você deve conhecer o Android, seu Binder é muito semelhante ao design do DCOM.
De fato, o RPC de HOST para HOST não é amplamente difundido, principalmente porque são complicados e opacos, não são amigáveis à Internet devido ao bloqueio das portas 445 ou 135, e a experiência de autenticação é ruim. As pessoas preferem escolher um servidor HTTPS para chamar um componente remoto, é mais direto e controlável.