Guía Completa para Verificar Puertos Abiertos en Windows 2026

Guía para verificar puertos abiertos en Windows usando el comando netstat y PowerShell

Verificar puertos abiertos en Windows es algo que todo usuario consciente de la red debería saber cómo hacer. Un puerto abierto significa que tu ordenador está escuchando activamente conexiones en ese número de puerto, y saber cuáles están abiertos te ayuda a detectar brechas de seguridad, resolver problemas de conexión y verificar que tus aplicaciones se ejecutan correctamente. Windows te ofrece varias formas integradas de hacerlo, además hay herramientas externas que pueden probar cómo se ven tus puertos desde el exterior.

Qué Son los Puertos Abiertos y Por Qué Importan

Cada servicio de red en tu ordenador se vincula a un número de puerto entre 1 y 65535. Cuando un servicio está ejecutándose y esperando conexiones entrantes, ese puerto está "abierto". Cuando nada está escuchando ahí, el puerto está "cerrado" y los intentos de conexión entrante se rechazan o ignoran.

Aquí está por qué esto importa en la práctica:

  • Auditoría de seguridad: Un puerto abierto inesperado podría significar que un proceso malicioso, malware o un servicio mal configurado está exponiendo tu máquina.
  • Solución de problemas: Si tu servidor web, servidor de juegos o escritorio remoto es inaccesible, la primera pregunta es si el puerto está realmente abierto.
  • Verificación del firewall: Tu Firewall de Windows podría estar bloqueando un puerto aunque el servicio esté ejecutándose, o permitiendo uno que creías que estaba cerrado.
Consejo: "Abierto" y "no bloqueado por el firewall" son dos cosas diferentes. Un puerto puede estar abierto localmente (un servicio está escuchando) pero aún bloqueado externamente por tu firewall o router. Los métodos que se muestran a continuación cubren ambos ángulos.

Usar el Comando Netstat para Ver Puertos Abiertos

El comando netstat es la forma integrada más rápida de listar cada puerto en el que tu máquina Windows está actualmente escuchando. Abre un Símbolo del Sistema (busca "cmd" en el menú Inicio, haz clic derecho y elige "Ejecutar como administrador") y ejecuta:

netstat -ano

Las banderas se desglosan así:

  • -a muestra todas las conexiones activas y puertos escuchando.
  • -n muestra direcciones y números de puerto numéricamente en lugar de resolver nombres de host (mucho más rápido).
  • -o añade el ID de Proceso (PID) para que puedas identificar qué programa es propietario de cada puerto.

Las columnas de salida son: Proto , Dirección Local , Dirección Remota , Estado , y PID . Busca filas donde la columna Estado dice ESCUCHANDO . Esos son tus puertos abiertos.

Para reducirlo solo a puertos escuchando:

netstat -ano | findstr LISTENING

Una vez que tengas un PID que quieras investigar, encuentra el nombre del proceso con:

tasklist /fi "PID eq 1234"

Reemplaza 1234 con el PID real de la salida netstat. Esto te dice exactamente qué ejecutable está escuchando en ese puerto.

Para verificar si un puerto específico está en uso, combina netstat con findstr:

netstat -ano | findstr :443
Nota: Netstat solo muestra puertos TCP y UDP que tienen un enlace activo en la máquina local. No te dice si esos puertos son alcanzables desde internet. Para eso, necesitas un verificador de puertos externo (cubierto más abajo).

Verificar Puertos con PowerShell

PowerShell te ofrece una alternativa más limpia y scriptable a netstat. Abre PowerShell como administrador y ejecuta:

Get-NetTCPConnection -State Listen | Select-Object LocalAddress, LocalPort, OwningProcess | Sort-Object LocalPort

Esto devuelve una lista ordenada de cada puerto TCP en estado ESCUCHANDO, incluyendo la dirección local y el PID. Para resolver el PID a un nombre de proceso en el mismo comando:

Get-NetTCPConnection -State Listen |
  Select-Object LocalPort,
    @{Name="Process";Expression={(Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).Name}} |
  Sort-Object LocalPort

También puedes probar si un host remoto tiene un puerto específico abierto directamente desde PowerShell usando Test-NetConnection :

Test-NetConnection -ComputerName example.com -Port 443

Si TcpTestSucceeded : True aparece en la salida, el puerto está abierto y aceptando conexiones desde tu máquina. Esto es útil para verificar la conectividad saliente desde tu PC Windows a un servidor, no solo verificar qué está abierto localmente.

Verificar Configuración del Firewall de Windows para Reglas de Puertos

El Firewall de Windows controla qué puertos se permiten dentro y fuera. Un servicio puede estar escuchando en un puerto localmente, pero si el firewall bloquea el tráfico entrante en ese puerto, los clientes externos no pueden alcanzarlo. Aquí te mostramos cómo revisar tus reglas de firewall.

Usar Windows Defender Firewall con Seguridad Avanzada

  1. Presiona Win + R , escribe wf.msc , y presiona Intro.
  2. Haz clic en Reglas de Entrada en el panel izquierdo para ver reglas que controlan el tráfico que entra en tu máquina.
  3. Haz clic en Reglas de Salida para ver el tráfico que sale de tu máquina.
  4. Ordena por Habilitado para ver rápidamente qué reglas están activas.
  5. Cada regla muestra el protocolo (TCP/UDP), puerto local, puerto remoto y acción (Permitir/Bloquear).

Usar la Línea de Comandos

Para listar todas las reglas de firewall activas desde la línea de comandos:

netsh advfirewall firewall show rule name=all

Para verificar si un puerto específico está permitido a través del firewall:

netsh advfirewall firewall show rule name=all | findstr "LocalPort"

La documentación oficial de Microsoft sobre configurar el Firewall de Windows cubre la creación y gestión de reglas en detalle si necesitas agregar o modificar reglas.

Usar un Escáner de Puertos en Windows

Las herramientas integradas son excelentes para verificar tu propia máquina, pero a veces necesitas escanear otro host en tu red, o quieres una descripción general visual en lugar de salida de línea de comandos sin procesar. Un escáner de puertos dedicado llena ese vacío.

Nmap es el estándar de la industria para escaneo de puertos. Es gratuito, de código abierto y disponible para Windows desde la página oficial de descarga de Nmap . El instalador de Windows incluye Zenmap, una interfaz gráfica. Un escaneo básico de un host se ve así:

nmap -sV 192.168.1.1

La bandera -sV intenta detectar la versión del servicio ejecutándose en cada puerto abierto. Esto es útil para auditorías de seguridad de red en Windows porque puedes ver no solo qué puertos están abiertos, sino qué software hay detrás de ellos.

Importante: Solo escanea hosts que posees o para los que tienes permiso explícito de escanear. Escanear puertos en una red que no controlas puede violar la Ley de Fraude y Abuso Informático (CFAA) o leyes equivalentes en tu país.

Probar tus Puertos Abiertos desde el Exterior

Aquí está la distinción crítica que la mayoría de guías se saltan: un puerto puede estar escuchando localmente en tu máquina Windows pero aún parecer cerrado para el mundo exterior. Esto sucede cuando tu router no ha reenviado ese puerto, o cuando tu ISP lo bloquea. Para saber qué ve realmente internet, necesitas probar desde un punto de vista externo.

Esto es exactamente lo que hace un verificador de puertos en línea. Inicia una conexión TCP a tu dirección IP desde un servidor remoto e informa si la conexión fue aceptada (Abierto), rechazada (Cerrado) o agotada (Tiempo agotado). No se necesita instalar software, y evita completamente tu firewall local para mostrar la vista externa real.

Herramienta verificadora de puertos en línea que prueba puertos abiertos en Windows

Ve Exactamente Qué Puertos Están Abiertos en tu Máquina Windows

Nuestro verificador de puertos en línea gratuito prueba conexiones TCP a cualquier IP o dominio desde un servidor externo, así que obtienes la vista verdadera del exterior al verificar puertos abiertos en Windows. Verifica un solo puerto o verifica por lotes hasta 10 a la vez, con resultados en milisegundos.

Verifica tus Puertos Abiertos →

Referencia Rápida de Puertos Comunes

Saber qué servicios usan qué puertos ahorra tiempo cuando estás solucionando problemas. Aquí están los puertos que encontrarás más a menudo en un sistema Windows:

Puerto Protocolo Servicio Uso Común en Windows
80 TCP HTTP Servidores web (IIS, Apache), servidores dev locales
443 TCP HTTPS Servidores web seguros, Actualización de Windows
3389 TCP RDP Protocolo de Escritorio Remoto, administración remota
445 TCP SMB Compartición de archivos, recursos compartidos de red Windows
22 TCP SSH OpenSSH (integrado en Windows 10/11)
21 TCP FTP Transferencia de archivos, servicio FTP de IIS
25 TCP SMTP Envío de correo, retransmisión de servidor de correo
3306 TCP MySQL Conexiones de base de datos MySQL/MariaDB
5432 TCP PostgreSQL Conexiones de base de datos PostgreSQL
135 TCP RPC Llamada a Procedimiento Remoto de Windows, DCOM
El puerto 3389 (RDP) es uno de los puertos atacados por fuerza bruta más agresivamente en internet. Si tienes RDP abierto a internet público, considera moverlo a un puerto no estándar o restringir el acceso por dirección IP en tus reglas de firewall.

Cerrar Puertos que No Necesitas

La buena monitorización de puertos de Windows no se trata solo de encontrar qué está abierto. Se trata de decidir qué debería estar abierto y cerrar todo lo demás. Aquí hay un enfoque práctico:

  1. Ejecuta netstat -ano y lista todos los puertos ESCUCHANDO. Asigna cada PID a un nombre de proceso usando el comando tasklist mostrado anteriormente.
  2. Identifica servicios que no necesitas. Por ejemplo, si no estás usando IIS, no hay razón para que el puerto 80 o 443 esté abierto localmente. Detén el servicio a través de services.msc .
  3. Revisa las reglas de entrada del Firewall de Windows. Abre wf.msc y desactiva cualquier regla que permita tráfico a puertos que hayas identificado como innecesarios.
  4. Verifica tu router. Las reglas de reenvío de puertos en tu router pueden exponer puertos incluso si el Firewall de Windows los bloquea a nivel del SO. Inicia sesión en tu panel de administración del router y audita los puertos reenviados.
  5. Vuelve a probar desde el exterior. Después de hacer cambios, ejecuta una verificación de puerto externa nuevamente para confirmar que los puertos ya no son alcanzables.

Los avisos de ciberseguridad de CISA publican regularmente alertas sobre puertos específicos siendo explotados en la naturaleza. Verificar esa lista periódicamente es una buena práctica si administras servidores Windows.

Un puerto abierto localmente significa que un servicio en tu máquina Windows está escuchando activamente conexiones en ese número de puerto. Un puerto abierto externamente significa que ordenadores externos en internet realmente pueden alcanzarlo. Tu router, ISP o Firewall de Windows pueden bloquear el acceso externo incluso cuando el puerto está escuchando localmente. Siempre prueba desde una herramienta externa para confirmar el estado del mundo real.

Esto casi siempre es causado por una de tres cosas: el Firewall de Windows tiene una regla de entrada bloqueando el puerto, tu router no tiene una regla de reenvío de puertos para ese puerto, o tu ISP está bloqueando el puerto a nivel de red. Verifica cada capa en orden. Los puertos comúnmente bloqueados por ISP incluyen 25 (SMTP), 80 y 443 en conexiones residenciales.

Exponer RDP directamente a internet es un riesgo de seguridad significativo. Bots automatizados escanean continuamente el puerto 3389 abierto e intentan inicios de sesión por fuerza bruta. Si necesitas acceso remoto, usa una VPN para alcanzar tu red primero, restringe el acceso RDP a direcciones IP específicas en el Firewall de Windows, o usa un puerto no estándar combinado con contraseñas fuertes y Autenticación a Nivel de Red (NLA).

Netstat sí muestra puertos UDP cuando usas la bandera -a . Busca filas etiquetadas UDP en la columna Proto. Sin embargo, UDP no tiene un apretón de manos de conexión como TCP, así que es mucho más difícil de probar remotamente. La mayoría de verificadores de puertos en línea, incluyendo herramientas basadas en TCP, solo prueban conexiones TCP. Para escaneo UDP, Nmap con la bandera -sU es la opción práctica, aunque requiere privilegios de administrador.

Abre wf.msc , haz clic en "Reglas de Entrada", luego "Nueva Regla" en la derecha. Elige "Puerto", selecciona TCP o UDP, ingresa el número de puerto, elige "Permitir la conexión", aplícalo a los perfiles apropiados (Dominio, Privado, Público) y dale a la regla un nombre. Para los amigos de la línea de comandos, usa: netsh advfirewall firewall add rule name="MyPort" dir=in action=allow protocol=TCP localport=8080 .

Un tiempo agotado significa que el verificador de puertos envió una solicitud de conexión TCP pero no recibió respuesta dentro del período de espera (típicamente unos pocos segundos). Esto generalmente significa que un firewall está descartando silenciosamente paquetes en lugar de rechazarlos activamente. Un resultado "Cerrado" significa que el host envió una reinicialización TCP, rechazando activamente la conexión. El tiempo agotado es más común con configuraciones de firewall estrictas que descartan en lugar de rechazar tráfico.