¿Cómo puedo determinar si un puerto está abierto en un servidor Windows?

Estoy tratando de instalar un sitio bajo un puerto alternativo en un servidor, pero el puerto puede estar cerrado por un firewall. ¿Hay alguna manera de hacer un ping de salida o de entrada, en un puerto específico, para ver si está abierto?

Solución

Asumiendo que es un puerto TCP (en lugar de UDP) el que está intentando utilizar:

  1. En el propio servidor, utilice netstat -an para comprobar qué puertos están escuchando.

  2. Desde el exterior, basta con utilizar telnet host port (o telnet host:port en los sistemas Unix) para ver si la conexión se rechaza, se acepta o se agota el tiempo de espera.

En esta última prueba, entonces en general:

  • conexión rechazada significa que no se está ejecutando nada en ese puerto
  • aceptada significa que algo se está ejecutando en ese puerto
  • timeout significa que un firewall está bloqueando el acceso

En Windows 7 o Windows Vista la opción por defecto 'telnet' no es reconocida como un comando interno o externo, programa operable o archivo batch. Para solucionarlo, basta con habilitarlo: Haga clic en *InicioPanel de control*ProgramasActivar o desactivar las características de Windows. En la lista, desplázate hacia abajo y selecciona Cliente Telnet* y haz clic en Aceptar.

Comentarios (7)

Si telnet no está disponible, descarga PuTTY. Es un cliente Telnet, SSH, etc. muy superior y será útil en muchas situaciones, no sólo en ésta, especialmente si estás administrando un servidor.

Comentarios (1)

¿Quieres una herramienta para hacerlo? Hay un sitio web en http://www.canyouseeme.org/. Si no, necesitas que algún otro servidor te llame para ver si un puerto está abierto...

Comentarios (0)