Правда в том, что RPC широко используется в LOCAL- машине, но для использования HOST-HOST , в основном используется Microsoft для внутренних целей , редко используется сторонними разработчиками .
LOCAL RPC основное использование:
Необработанный компонент RPC, такой как Реестр, Netlogon, Брандмауэр, Управление службами, SQL Server ... Некоторые из них вы можете увидеть в списке в разделе «HOST-to-HOST».
многие компоненты DCOM (основанные на RPC, как оболочка C ++ из C) включают компоненты COM +.
Вы можете запустить dcomcnfg, чтобы увидеть, сколько компонентов DCOM на вашем компьютере:
Excel, Internet Explorer, Visual Studio ... могут быть автоматизированы, потому что они являются компонентом DCOM:
Даже диалог Свойства файла в Проводнике также является компонентом DCOM, смешно? Если вы удалите все списки ACL из «Правки редактирования» в разрешениях запуска DCOMCNFG, вы не сможете делать почти ничего, кроме работы управления !, даже показывать свойство файла в проводнике!
Основное использование HOST-to-HOST RPC:
Такие вещи, как «Управление компьютером», «Редактор реестра», позволяют подключать его к удаленной машине! Подчеркивание происходит по протоколу RPC через SMB (TCP-порт 445, известный как общий доступ к файлам).
Вы можете использовать утилиту rpcdump или ifids, чтобы выгрузить все RPC-интерфейсы на удаленной машине, см. Следующие результаты, вы можете увидеть множество интерфейсов управления системой (конечно, их можно использовать и локально):
[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.
Почему RPC важен? Просто потому, что каждой зрелой системе нужен механизм межпроцессного взаимодействия, набор инструментов для создания заглушки / прокси, стандарт для упаковки / распаковки объекта. В каждой системе есть похожие вещи. Вы должны знать Android, его Binder очень похож на дизайн DCOM.
На самом деле RPC HOST-to-HOST не получили широкого распространения, главным образом потому, что они сложны и непрозрачны, не дружат с Интернетом из-за часто блокируемых 445 или 135 портов и плохой аутентификации. Люди предпочитают выбирать HTTPS-сервер для вызова удаленного компонента, он более простой и управляемый.