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

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

    Suponiendo que se trata de un puerto TCP (en lugar de UDP) que está tratando de usar:

    1. En el servidor, use netstat -an para verificar qué puertos están escuchando

    2. Desde el exterior, solo el telnet host port (o el 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:

    • la conexión rechazada significa que no se está ejecutando nada en ese puerto
    • aceptado significa que algo se está ejecutando en ese puerto
    • tiempo de espera significa que un servidor de seguridad está bloqueando el acceso

    En la opción predeterminada de Win7 o Vista, ‘telnet’ no se reconoce como un comando interno o externo, progtwig operable o archivo por lotes. Para solucionar esto, simplemente habilítelo: haga clic en Inicio, Panel de control, Progtwigs, y luego active o desactive las características de Windows. En la lista, desplácese hacia abajo y seleccione Telnet Client y haga clic en Aceptar

    Solo quería agregar que en Windows puedes usar

     netstat -na | find "your_port" 

    para reducir los resultados. También puede filtrar para LISTENING , ESTABLISHED , TCP y tal. Sin embargo, es sensible a mayúsculas y minúsculas.

    Si está consultando desde fuera, no desde el servidor, y no quiere molestarse en instalar Telnet (ya que no viene con las últimas versiones de Windows) o cualquier otro software, entonces tiene PowerShell nativo:

     Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed 

    (Desafortunadamente, esto solo funciona con PowerShell 4.0 o posterior. Para verificar su versión de PS, escriba $PSVersionTable ).


    (Si tiene una versión PSV <4.0, no tiene suerte. Consulte esta tabla:

    enter image description here

    Aunque puede actualizar su versión de powershell instalando Windows Management Framework 4.0 , no funcionó, el cmdlet Test-NetConnection aún no está disponible).

    En una máquina con Windows puede usar PortQry de Microsoft para verificar si una aplicación ya está escuchando en un puerto específico usando el siguiente comando:

     portqry -n 11.22.33.44 -p tcp -e 80 

    Me gustó eso

     netstat -an | find "8080" 

    de telnet

     telnet 192.168.100.132 8080 

    Y solo asegúrate de que el firewall esté apagado en esa máquina.

    Si telnet no está disponible, descargue PuTTY . Es un cliente de telnet, ssh, etc. muy superior y será útil en muchas situaciones, no solo en esta, especialmente si está administrando un servidor.

    ¿Quieres una herramienta para hacerlo? Hay un sitio web en http://www.canyouseeme.org/ . De lo contrario, necesitas que otro servidor te devuelva la llamada para ver si un puerto está abierto …

    Use esto si quiere ver todos los puertos usados ​​y escuchados en el servidor de Windows:

     netstat -an |find /i "listening" 

    Ver todos los puertos abiertos, escuchados y establecidos:

     netstat -a 

    En el servidor de Windows puede usar

     netstat -an | where{$_.Contains("Yourport")} 

    psping de Sysinternals también es muy bueno

    Otra opción es tcping .

    Por ejemplo:

    tcping host port

    Creo que el mejor que obtuve es el de donde puedes verificar tus propios puertos y también los de otros dominios.

    http://www.yougetsignal.com/tools/open-ports

    Esto es lo que funcionó para mí,

    • abrir símbolo del sistema
    • tipo telnet
    • Microsoft Telnet> abrir

    Confirmará si el puerto está abierto.

    Otra utilidad que encontré y también es buena y pequeña, PortQry Command Line Port Scanner versión 2.0 https://www.microsoft.com/en-us/download/details.aspx?id=17148

    puede hacer ping a un servidor y a un puerto y le informará el estado del puerto, hay una utilidad de línea de comandos y una IU para ello.