Puertos Efímeros TCP en Windows: qué son y por qué afectan a los servicios

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • jmtella
    Administrator
    • Nov
    • 21196

    Puertos Efímeros TCP en Windows: qué son y por qué afectan a los servicios

    Escrito con IA... que soy muy vago.


    Puertos Efímeros TCP en Windows: qué son y por qué afectan a los servicios


    Cuando hablamos de conexiones en Windows, a menudo pensamos solo en los puertos conocidos, como el puerto 80 para HTTP o el 443 para HTTPS. Sin embargo, existe otro conjunto crucial pero menos conocido: los puertos efímeros TCP. Estos puertos son utilizados temporalmente por el sistema operativo cuando establece conexiones salientes.

    ¿Qué son los puertos efímeros TCP?

    Los puertos efímeros son rangos de puertos asignados automáticamente por Windows cuando una aplicación realiza una conexión TCP saliente hacia otro servicio o servidor. Una vez que la conexión termina, el puerto vuelve a estar disponible. Este proceso ocurre continuamente, permitiendo múltiples conexiones simultáneas desde el mismo equipo.

    Windows tiene predefinido un rango estándar para estos puertos efímeros, que típicamente va desde el puerto 49152 hasta el 65535, pero estos límites pueden cambiarse manualmente por diversas razones administrativas.

    ¿Por qué Windows reserva rangos de puertos?

    La razón principal por la que Windows utiliza rangos específicos de puertos efímeros es para evitar conflictos con puertos fijos usados por aplicaciones o servicios conocidos. De este modo, se previenen posibles interferencias o fallos en la conectividad.

    Además, Windows define una lista de puertos excluidos (exclude ports), que son aquellos que el sistema operativo o ciertas aplicaciones consideran críticos o sensibles y reservan explícitamente para evitar problemas de estabilidad o seguridad.

    ¿Qué pasa si el rango de puertos efímeros está mal configurado?

    Cuando el rango de puertos efímeros está incorrectamente configurado o es demasiado reducido, se pueden experimentar problemas aparentemente inexplicables. Por ejemplo, puede ocurrir que intentes iniciar un servicio en un puerto que aparece como "libre" al ejecutar un netstat, pero aun así la aplicación falle al arrancar.

    La causa es sencilla: aunque netstat indique que un puerto está aparentemente libre, Windows puede haber reservado internamente ese puerto como parte de su rango de exclusión o estar destinándolo temporalmente como puerto efímero. Esto provoca un fallo inesperado en servicios y aplicaciones que esperan poder utilizar dicho puerto.

    ¿Cómo ver y gestionar los puertos efímeros en Windows?

    Puedes verificar el rango actual de puertos efímeros ejecutando en una consola con privilegios administrativos:

    Código:
    netsh int ipv4 show dynamicport tcp
    netsh int ipv6 show dynamicport tcp
    La sorpresa es cuando nos encontramos con situaciones como que el rango de efimeros va de 1024 al 65535.

    Para consultar qué puertos están excluidos, usar:

    Código:
    netsh interface ipv4 show excludedportrange protocol=tcp
    netsh interface ipv6 show excludedportrange protocol=tcp
    Esto te mostrará claramente qué rangos están reservados explícitamente por Windows y cuáles están disponibles para conexiones efímeras.

    Conclusión

    WIndows establece rangos excluidos (excludeportrange) que en netstat aparecen como libres y lleva a engaño. Estos ragnos de puertos siempre windows los coge del rango de puertos dinamicos, por lo que si este rango es incorrecto causará problemas en servicios.

    Sieempre podremos recuperar el rango correcto (y reiniciar la maquina)

    Código:
    netsh interface ipv4 set dynamicport tcp start=49152 num=16384
  • noSign
    Super Moderator
    • Dec
    • 4678

    #2
    Puerto 80 y 5357
    5357 Detección de Red habilitada en un perfil de Red Pública

    Pero es que mi perfil de red es privada

    "Ethernet 2" (USB adaptador Ethernet)
    Realtek USB GbE Family Controller



    Haga clic en la imagen para ver una versión más grande

Nombre:	Sin título.png
Visitas:	23
Size:	21,6 KB
ID:	56153

    ¿Recupero el rango correcto?

    Nota W10 Enterprise

    Comentario

    • jmtella
      Administrator
      • Nov
      • 21196

      #3
      Si... eso del 1024 está mal. Los otros te los excluye siempre windows. Hay algun parche o algo instalado que modificó en su instalacion el tcp... y lo modificó mal.

      Comentario

      • noSign
        Super Moderator
        • Dec
        • 4678

        #4
        Lo aplico, aunque el 1024 no esta nada a la escucha

        netstat -anob
        netstat -ano

        Comentario

        • jmtella
          Administrator
          • Nov
          • 21196

          #5
          Originalmente publicado por noSign Ver Mensaje
          Lo aplico, aunque el 1024 no esta nada a la escucha

          netstat -anob
          netstat -ano
          No. lo que te está diciendo es que va a considerare efimeros desde el 1024 y en total 64511 es decir del 1024 hasta el final. Esto lo que puede llevar es que windows "reserve" dentro de los efimeros rangos para no asignarlos (es decir para su uso exclusivo),,, en cuyo caso, un dia quieres abrir un servicio, por ejemplo en el 5000, resulta que lo ves libre con netstat, y el servicio te falla porque no puede bindear alñ puerto 5000 ya que está cogido en exclusividad. Para evitar esto, hay que hacer que tome las opsiones por defecto:

          Código:
          netsh interface ipv4 set dynamicport tcp start=49152 num=16384
          Con esto te curas en salud... (lo que te acabo de contrar poniendo el ejemplo del 5000, podría ser para cualquier otro y estop es lo que hace que a veces cosas no nos funcionene y depues de un reinicio si... hay muchos servicios, de windows y no de windows que podrian fallar tal y como tienes ahora los efimeros.

          Comentario

          Trabajando...
          X