Projektanci systemu Windows zdecydowali, aby wiele rzeczy rozmawiało ze sobą przez RPC - aby mogli rozmawiać lokalnie lub przez sieć.
Obejmuje to między innymi Active Directory, większość konsol MMC, funkcjonalność niektórych apletów panelu sterowania, takich jak Menedżer urządzeń, wiele rzeczy w Narzędziach administracyjnych i ewentualnie wewnętrzne składniki systemu Windows.
Wierzę, że nawet kiedy uzyskujesz dostęp do konsoli MMC, na przykład w compmgmt.msc
celu przeglądania rzeczy na temat lokalnego komputera, jest to w zasadzie RPC dla lokalnego hosta (choć mogę się mylić).
Pomyśl o RPC jako o jeden poziom wyżej niż TCP / IP, który jest używany jako niskopoziomowa (i niepewna) sieć komunikacyjna możliwa do pracy przez wiele składników systemu Windows. Dlaczego nie użyć bezpośrednio protokołu TCP / IP? W czasie projektowania systemu Windows NT (wersja początkowa wydana w 1993 r.) Istniały inne protokoły sieciowe oprócz TCP / IP w powszechnym użyciu, takie jak Netware (SPX / IPX), NetBIOS, AppleTalk (myślę, że Windows obsługiwał to w przeszłości) , może się mylić ...) i tak dalej. Jest to więc niezależny od sieci sposób, w którym składniki systemu Windows mogą rozmawiać z innymi komponentami na komputerze lokalnym lub zdalnym.
Prawda jest taka: RPC jest szeroko stosowany w maszynie LOKALNEJ , ale do użytku HOST-to-HOST jest głównie używany przez Microsoft wewnętrznie, rzadko używany przez strony trzecie .
Główne zastosowanie LOCAL RPC:
Surowy komponent RPC, taki jak Rejestr, Netlogon, Zapora, Kontrola usług, SQL Server ... Niektóre z nich można zobaczyć na liście w sekcji „HOST-to-HOST”.
wiele komponentów DCOM (opartych na RPC, takich jak opakowanie C ++ w C), zawiera komponenty COM +.
Możesz uruchomić dcomcnfg, aby zobaczyć, ile komponentów DCOM na twoim komputerze:
Excel, Internet Explorer, Visual Studio ... można zautomatyzować, ponieważ są one składnikiem DCOM:
Nawet okno dialogowe Właściwości pliku Eksploratora jest również składnikiem DCOM, zabawne? Jeśli usuniesz wszystkie listy ACL z „Edycji limitów” uprawnień do uruchamiania DCOMCNFG, nie będziesz w stanie zrobić prawie nic, nie tylko działa zarządzanie !, nawet pokazać właściwości pliku w eksploratorze!
Główne użycie RPC HOST-to-HOST :
Funkcje zdalnego zarządzania, takie jak „Zarządzanie komputerem”, „Edytor rejestru”, możesz pozwolić mu połączyć się ze zdalnym komputerem! Podkreślono, że RPC przez protokół SMB (port TCP 445, znany jako udostępnianie plików).
Możesz użyć narzędzia rpcdump lub ifids, aby zrzucić wszystkie interfejsy RPC na zdalnej maszynie, zobacz następujące wyniki, możesz zobaczyć wiele interfejsów zarządzania systemem (można ich również użyć lokalnie):
Dlaczego RPC jest ważne? Tylko dlatego, że każdy dojrzały system potrzebuje mechanizmu komunikacji międzyprocesowej, zestawu narzędzi do generowania kodu pośredniczącego / proxy, standardu do pakowania / rozpakowywania obiektu. Każdy system ma podobne rzeczy. Musisz znać Androida, jego Binder jest bardzo podobny do projektu DCOM.
W rzeczywistości HOST-to-HOST RPC nie jest szeroko rozpowszechniony, głównie dlatego, że są skomplikowane i nieprzejrzyste, nieprzyjazne dla Internetu z powodu często blokowanych portów 445 lub 135, a uwierzytelnianie jest złe. Ludzie wolą wybrać serwer HTTPS, aby wywołać zdalny komponent, jest to prostsze i łatwiejsze do kontrolowania.
źródło
Zdalne wywołanie procedury (RPC)
źródło: http://searchsoa.techtarget.com/definition/Remote-Procedure-CallTutaj więcej od Microsoft: http://msdn.microsoft.com/en-us/library/windows/desktop/aa378651(v=vs.85).aspx
źródło