Questo articolo TechNet è fantastico , ti consiglio di aggiungerlo ai segnalibri. Elenca le porte utilizzate da vari servizi di Windows ed è abbastanza approfondito.
Nelle versioni di Windows precedenti a Vista / 2008, NetBIOS era utilizzato per il servizio "RPC Locator", che gestiva il database del servizio nomi RPC. Ma in Vista / 2008 e oltre, il servizio RPC Locator non è più necessario o utile. È rudimentale. Da questo momento parlerò solo di MSRPC su Vista / 2008 +.
Le porte 137, 138 e 139 sono per NetBIOS e non sono necessarie per la funzionalità di MSRPC.
Tutte le porte utilizzate da RPC sono le seguenti:
RPC EPM TCP 135
RPC over HTTPS TCP 593
SMB (for named pipes) TCP 445
Ephemeral Range, Dynamic *
Altre applicazioni, come Gateway Desktop remoto, useranno il proxy RPC su HTTP e useranno la porta 443, ecc.
Sebbene l'articolo a cui ho collegato sopra elenca le porte NetBIOS, queste sono legacy e non sono necessarie per RPC, supponendo che sia possibile acquisire la risoluzione dei nomi con altri mezzi (DNS) e supponendo che il servizio remoto stesso non dipenda da NetBIOS.
La porta 145 è fasulla. Non è usato per niente. Ovunque tu abbia sentito che "migliora le cose", è sbagliato.
MSRPC di base utilizza le porte 135 e l'intervallo dinamico ad alto numero. Quella gamma dinamica con numero elevato è costituita dalle porte 1024-5000 su XP / 2003 e precedenti e 49152-65535 su Vista / 2008 e successive. Puoi anche chiamare le porte effimere dell'intervallo di porte.
Se lo desideri, puoi definire un intervallo di porte personalizzato, in questo modo:
reg add HKLM\SOFTWARE\Microsoft\Rpc\Internet /v Ports /t REG_MULTI_SZ /f /d 8000-9000
reg add HKLM\SOFTWARE\Microsoft\Rpc\Internet /v PortsInternetAvailable /t REG_SZ /f /d Y
reg add HKLM\SOFTWARE\Microsoft\Rpc\Internet /v UseInternetPorts /t REG_SZ /f /d Y
E / O
netsh int ipv4 set dynamicport tcp start=8000 num=1001
netsh int ipv4 set dynamicport udp start=8000 num=1001
netsh int ipv6 set dynamicport tcp start=8000 num=1001
netsh int ipv6 set dynamicport udp start=8000 num=1001
La porta TCP 135 è il mapper endpoint MSRPC. Puoi associarti a quella porta su un computer remoto, in modo anonimo, o enumerare tutti i servizi (endpoint) disponibili su quel computer, oppure puoi richiedere su quale porta è in esecuzione un servizio specifico se sai cosa stai cercando.
Lascia che ti mostri un esempio di query su RPC Enpoint Mapper:
C:\>PortQry.exe -n 192.168.1.1 -e 135
Querying target system called:
192.168.1.1
Attempting to resolve IP address to a name...
IP address resolved to host01.labs.myotherpcisacloud.com
querying...
TCP port 135 (epmap service): LISTENING
Using ephemeral source port
Querying Endpoint Mapper Database...
Server's response:
UUID: d95afe70-a6d5-4259-822e-2c84da1ddb0d
ncacn_ip_tcp:192.168.1.1[49152]
UUID: 12345778-1234-abcd-ef00-0123456789ac
ncacn_np:192.168.1.1[\\pipe\\lsass]
UUID: 12345778-1234-abcd-ef00-0123456789ac
ncacn_ip_tcp:192.168.1.1[49159]
UUID: 6b5bdd1e-528c-422c-af8c-a4079be4fe48 Remote Fw APIs
ncacn_ip_tcp:192.168.1.1[49158]
UUID: 367abb81-9844-35f1-ad32-98f038001003
ncacn_ip_tcp:192.168.1.1[49157]
UUID: 12345678-1234-abcd-ef00-0123456789ab
ncacn_ip_tcp:192.168.1.1[49155]
UUID: 0b6edbfa-4a24-4fc6-8a23-942b1eca65d1
ncacn_ip_tcp:192.168.1.1[49155]
UUID: ae33069b-a2a8-46ee-a235-ddfd339be281
ncacn_ip_tcp:192.168.1.1[49155]
UUID: 4a452661-8290-4b36-8fbe-7f4093a94978
ncacn_ip_tcp:192.168.1.1[49155]
UUID: 76f03f96-cdfd-44fc-a22c-64950a001209
ncacn_ip_tcp:192.168.1.1[49155]
UUID: 7f1343fe-50a9-4927-a778-0c5859517bac DfsDs service
ncacn_np:192.168.1.1[\\PIPE\\wkssvc]
UUID: 3473dd4d-2e88-4006-9cba-22570909dd10 WinHttp Auto-Proxy Service
ncacn_np:192.168.1.1[\\PIPE\\W32TIME_ALT]
UUID: 1ff70682-0a51-30e8-076d-740be8cee98b
ncacn_np:192.168.1.1[\\PIPE\\atsvc]
...
Total endpoints found: 50
==== End of RPC Endpoint Mapper query response ====
Noterai che se esegui quella query sul computer locale, troverai molti più endpoint rispetto a quando esegui la query da un computer remoto. Questo perché molti endpoint RPC non sono esposti in remoto e vengono utilizzati solo per la comunicazione tra processi locali.
Ulteriori letture: http://technet.microsoft.com/en-us/library/cc738291(v=WS.10).aspx
E anche: https://www.myotherpcisacloud.com/post/2014/02/16/verifying-rpc-network-connectivity-like-a-boss.aspx