¿Alguien puede explicar cuándo y con qué frecuencia se utilizan cada uno de los puertos RPC de Windows? Los "principales" que entiendo son:
- Puerto 135
- Puerto 137
- Puerto 139
- Puertos superiores publicados por el "catálogo" del puerto 135
Luego escuché que el Puerto 145 entró en la mezcla para "mejorar las cosas" con NBT / TCP, pero no estoy seguro de cómo encaja esto con la secuencia de un cliente de Windows que inicia una acción RPC.
¿Alguien puede ayudarme a arreglar mi comprensión de los puertos RPC de una vez por todas?
Respuestas:
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:
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í:
Y / o
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:
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
fuente