A verdade é: o RPC é amplamente usado na máquina LOCAL , mas para uso HOST-to-HOST , é usado principalmente pela Microsoft internamente, raramente usado por terceiros .
Uso principal de RPC LOCAL :
-
Componente RPC bruto, como Registro, Netlogon, Firewall, Controle de Serviço, SQL Server ... Você pode ver alguns deles 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 do DCOM na sua máquina:
OExcel,oInternetExplorer,oVisualStudio...podemserautomatizadosporquesãocomponentesdoDCOM:
MesmoacaixadediálogoPropriedadesdoarquivodoExplorertambéméumcomponentedoDCOM,engraçado?SevocêremovertodasasACLsde"Edit Limits" das permissões de inicialização do DCOMCNFG, você não poderá fazer quase nada, não apenas o gerenciamento funciona !, até mesmo mostrar a propriedade do arquivo no Explorer!
UsoprincipalRPCHOST-to-HOST:
MaterialdoGerenciamentoRemoto,comoquando"Gerenciamento do Computador", "Editor do Registro", você pode permitir que ele se conecte a uma máquina remota! O que acontece é o protocolo RPC sobre SMB (porta TCP 445, conhecido como compartilhamento de arquivos).
Você pode usar a ferramenta rpcdump ou ifids para despejar todos os internfaces RPC na máquina remota, veja os resultados a seguir, você pode ver muitas interfaces de gerenciamento de sistema (Eles também podem ser usados 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.
Na verdade, o RPC HOST-to-HOST não é amplamente difundido, principalmente porque são complicados e opacos, não são amigáveis à Internet, pois as portas 445 ou 135 geralmente estão bloqueadas e a experiência de autenticação é ruim. As pessoas preferem escolher um servidor HTTPS para invocar um componente remoto, é mais simples e controlável.