Cuando una aplicación no conecta, comprobar el puerto ayuda a separar tres problemas distintos: el servicio no está escuchando, el firewall bloquea el tráfico o la red no permite llegar al destino. En Windows puedes hacer ese diagnóstico sin instalar herramientas externas.
Qué debes comprobar antes
Anota el nombre o la IP del equipo de destino, el puerto y el protocolo. HTTP suele usar TCP, mientras que otras aplicaciones también pueden depender de UDP. Verifica además que tienes autorización para probar ese sistema: escanear equipos ajenos no es una práctica válida.
Probar un puerto TCP remoto con Test-NetConnection
Abre PowerShell y ejecuta:
Test-NetConnection servidor.ejemplo -Port 443
El dato principal es TcpTestSucceeded. Si devuelve True, Windows ha podido completar la conexión TCP. Si devuelve False, no demuestra por sí solo que el firewall sea culpable: el servicio puede estar detenido, el nombre puede resolver a una IP incorrecta o una regla de red puede descartar el tráfico.
Para ver más detalles:
Test-NetConnection servidor.ejemplo -Port 3389 -InformationLevel Detailed
Comprobar si el equipo local está escuchando
Para localizar conexiones y puertos TCP en escucha:
Get-NetTCPConnection -State Listen | Sort-Object LocalPort
Get-NetTCPConnection -LocalPort 443
El segundo comando permite comprobar un puerto concreto. Anota el valor de OwningProcess y relaciónalo con el proceso:
Get-Process -Id 1234
Sustituye 1234 por el identificador devuelto. Si no aparece ninguna escucha, revisa el servicio o la configuración de la aplicación antes de cambiar el firewall.
Revisar reglas del Firewall de Windows
Puedes buscar reglas activas relacionadas con un puerto:
Get-NetFirewallPortFilter |
Where-Object LocalPort -eq 3389 |
Get-NetFirewallRule
No desactives todo el firewall como solución permanente. Es preferible habilitar únicamente la regla necesaria, limitar los perfiles aplicables y restringir direcciones remotas cuando sea posible.
Qué hacer según el resultado
- El puerto escucha localmente, pero falla en remoto: revisa firewall, router, VPN y segmentación.
- No existe escucha local: inicia el servicio y confirma que usa la interfaz y el puerto esperados.
- El nombre falla, pero la IP funciona: comprueba DNS con
Resolve-DnsName. - Funciona dentro de la red, pero no desde Internet: revisa NAT y evita exponer servicios administrativos directamente.
Comandos alternativos
netstat -ano sigue siendo útil en versiones antiguas de Windows. Para HTTP o HTTPS, curl.exe -I https://servidor.ejemplo comprueba además que existe una respuesta de aplicación, no solo una conexión TCP.
Fuente y siguiente paso
Microsoft documenta Test-NetConnection y Get-NetTCPConnection. Si el problema afecta a Escritorio remoto, continúa con la guía de diagnóstico RDP programada en este mismo sitio.
