Este artículo de TechNet es fantástico , le recomiendo que lo marque como favorito. Enumera los puertos utilizados por varios servicios de Windows y es bastante exhaustivo.
En versiones de Windows anteriores a Vista / 2008, NetBIOS se usaba para el servicio "Localizador RPC", que administraba la base de datos del servicio de nombres RPC. Pero en Vista / 2008 y más allá, el servicio RPC Locator ya no es necesario ni útil. Es vestigial. A partir de este momento solo voy a hablar sobre MSRPC en Vista / 2008 +.
Los puertos 137, 138 y 139 son para NetBIOS y no son necesarios para la funcionalidad de MSRPC.
Todos los puertos utilizados por RPC son los siguientes:
RPC EPM TCP 135
RPC over HTTPS TCP 593
SMB (for named pipes) TCP 445
Ephemeral Range, Dynamic *
Otras aplicaciones, como Remote Desktop Gateway, usarán RPC sobre proxy HTTP y usarán el puerto 443, etc.
Aunque el artículo que he vinculado anteriormente enumera los puertos de NetBIOS, estos son heredados y no son necesarios para RPC, suponiendo que pueda adquirir la resolución de nombre a través de otros medios (DNS) y suponiendo que el servicio remoto en sí no depende de NetBIOS.
El puerto 145 es falso. No se usa para nada. Dondequiera que escuchaste que "mejora las cosas", está mal.
El MSRPC básico usa los puertos 135 y el rango dinámico de alto número. Ese rango dinámico de alto número son los puertos 1024-5000 en XP / 2003 y versiones inferiores, y 49152-65535 en Vista / 2008 y versiones posteriores. También puede llamar a ese rango de puertos puertos efímeros.
Puede definir un rango de puertos personalizado si lo desea, así:
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
Y / 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
El puerto TCP 135 es el mapeador de puntos finales MSRPC. Puede vincularse a ese puerto en una computadora remota, de forma anónima, y enumerar todos los servicios (puntos finales) disponibles en esa computadora, o puede solicitar en qué puerto se está ejecutando un servicio específico si sabe lo que está buscando.
Permítame mostrarle un ejemplo de consulta del Mapeador de puntos RPC:
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 ====
Notará que si realiza esa consulta en la computadora local, encontrará muchos más puntos finales que si realiza la consulta desde una computadora remota. Esto se debe a que muchos puntos finales RPC no están expuestos de forma remota y solo se utilizan para la comunicación local entre procesos.
Más información: http://technet.microsoft.com/en-us/library/cc738291(v=WS.10).aspx
Y también: https://www.myotherpcisacloud.com/post/2014/02/16/verifying-rpc-network-connectivity-like-a-boss.aspx