Guía práctica para administrar puertos TCP y UDP en Windows: crear reglas de firewall, eliminar reglas inseguras, encontrar puertos en escucha, identificar el proceso que usa un puerto y solucionar conexiones bloqueadas.
Un puerto de red es un punto de comunicación numerado que utiliza una aplicación o un servicio de Windows. Por ejemplo, un servidor web normalmente escucha en el puerto 80 para HTTP o en el puerto 443 para HTTPS. Escritorio remoto suele usar el puerto TCP 3389, mientras que DNS normalmente utiliza el puerto 53.
Cuando se dice que un puerto está “abierto” en Windows, puede significar dos cosas diferentes:
| Significado | Qué quiere decir | Cómo comprobarlo |
|---|---|---|
| Un programa está escuchando | Una aplicación o servicio está esperando conexiones entrantes en ese puerto. | netstat, PowerShell, Monitor de recursos |
| El firewall permite el puerto | El Firewall de Windows Defender tiene una regla que permite el tráfico por ese puerto. | Firewall de Windows Defender, reglas de firewall en PowerShell |
Abrir puertos puede ser necesario para servidores de juegos, servidores web locales, acceso a bases de datos, herramientas de administración remota, uso compartido de archivos, entornos de desarrollo y algunas aplicaciones peer-to-peer. Sin embargo, cada puerto entrante abierto también puede aumentar la superficie de ataque del PC.
25565 para un servidor de Minecraft o 3389 para Escritorio remoto.La consola gráfica del firewall es el método más seguro para la mayoría de los usuarios, porque muestra claramente el tipo de regla, protocolo, número de puerto, perfil de red y nombre de la regla.
Win + R, escribe wf.msc y pulsa Enter.8080. También puedes introducir un rango como 5000-5010.PowerShell es más rápido para administradores y resulta útil cuando necesitas crear la misma regla de firewall en varios equipos.
New-NetFirewallRule -DisplayName "Allow TCP 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow -Profile Private
Este ejemplo abre el puerto TCP entrante 8080 solo en el perfil de red Privado.
New-NetFirewallRule -DisplayName "Allow UDP 27015" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow -Profile Private
New-NetFirewallRule -DisplayName "Allow TCP 8080 All Profiles" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow -Profile Any
-Profile Any aplica la regla a redes de Dominio, Privadas y Públicas. En un portátil, esto puede exponer el puerto en redes Wi-Fi de hoteles, aeropuertos o cafeterías.
También puedes abrir puertos con netsh, que funciona tanto en Windows 10 como en Windows 11 y es útil en archivos por lotes.
netsh advfirewall firewall add rule name="Allow TCP 8080" dir=in action=allow protocol=TCP localport=8080 profile=private
netsh advfirewall firewall add rule name="Allow UDP 27015" dir=in action=allow protocol=UDP localport=27015 profile=private
netsh advfirewall firewall add rule name="Allow TCP 5000-5010" dir=in action=allow protocol=TCP localport=5000-5010 profile=private
Para cerrar un puerto, normalmente debes hacer una de estas dos cosas: eliminar o deshabilitar la regla de firewall que permite el puerto, y detener la aplicación que está escuchando en ese puerto. Si un servicio sigue ejecutándose, el puerto puede seguir apareciendo como LISTENING localmente, aunque el firewall bloquee el tráfico entrante.
Win + R, escribe wf.msc y pulsa Enter.Remove-NetFirewallRule -DisplayName "Allow TCP 8080"
Para deshabilitar la regla en lugar de eliminarla:
Disable-NetFirewallRule -DisplayName "Allow TCP 8080"
netsh advfirewall firewall delete rule name="Allow TCP 8080" protocol=TCP localport=8080
wf.msc y ordena o filtra las reglas de entrada por Puerto local, Protocolo o estado Habilitado.
Windows incluye varias herramientas integradas para ver puertos abiertos y conexiones activas. Las más útiles son netstat, PowerShell, Monitor de recursos y los registros del Firewall de Windows Defender.
Ideal para obtener rápidamente una lista de puertos en escucha e identificadores de proceso.
netstat -ano | findstr LISTENING
Ideal para filtrar y automatizar la revisión de escuchas TCP activas.
Get-NetTCPConnection -State Listen
Ideal para usuarios que prefieren una interfaz gráfica.
resmon
netstat -ano | findstr LISTENING
La salida muestra el protocolo, la dirección local, el puerto, el estado de la conexión y el PID. Por ejemplo:
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 1234
En este ejemplo, el puerto 8080 está en escucha y el identificador del proceso es 1234.
netstat -ano
Get-NetTCPConnection -State Listen | Sort-Object LocalPort | Select-Object LocalAddress,LocalPort,OwningProcess
Get-NetUDPEndpoint | Sort-Object LocalPort | Select-Object LocalAddress,LocalPort,OwningProcess
Win + R, escribe resmon y pulsa Enter.Si un puerto ya está en uso, otro programa puede no iniciarse. Puedes identificar el proceso relacionando el número de puerto con un PID y después relacionando ese PID con una aplicación.
netstat -ano | findstr :8080
Mira el último número de la línea. Ese es el identificador del proceso.
tasklist /fi "PID eq 1234"
Sustituye 1234 por el PID del comando anterior.
Get-Process -Id 1234
taskkill /PID 1234 /F
Después de crear una regla de firewall, conviene verificar si el puerto realmente es accesible. Una prueba correcta requiere tres cosas: un servicio escuchando en el puerto, una regla de firewall que permita el tráfico y un enrutamiento de red correcto.
Test-NetConnection 192.168.1.10 -Port 8080
Si la salida muestra TcpTestSucceeded : True, el puerto TCP es accesible desde ese equipo.
netstat -ano | findstr :8080
Get-NetFirewallPortFilter | Where-Object {$_.LocalPort -eq "8080"}
Estos son puertos comunes que puedes encontrar al revisar puertos abiertos en un equipo Windows. No los abras públicamente salvo que entiendas exactamente por qué son necesarios.
| Puerto | Protocolo | Uso común | Nota de seguridad |
|---|---|---|---|
80 |
TCP | Tráfico web HTTP | Normalmente seguro solo para un servidor web configurado correctamente. |
443 |
TCP | Tráfico web HTTPS | Prefiere HTTPS en lugar de HTTP para servicios públicos. |
53 |
TCP/UDP | DNS | No expongas públicamente un resolvedor DNS recursivo. |
445 |
TCP | Uso compartido de archivos SMB | No debería estar expuesto a internet. |
3389 |
TCP/UDP | Escritorio remoto | Usa VPN, autenticación fuerte y políticas de bloqueo de cuenta. |
5985 |
TCP | Administración remota de Windows por HTTP | Úsalo solo en redes de confianza. |
5986 |
TCP | Administración remota de Windows por HTTPS | Requiere una configuración correcta de certificados. |
Si un comprobador de puertos en línea u otro equipo todavía no puede conectarse, usa esta lista de comprobación.
| Problema | Qué comprobar | Solución |
|---|---|---|
| No hay ningún servicio escuchando | netstat -ano | findstr :PORT |
Inicia la aplicación o servicio que debería usar el puerto. |
| Protocolo incorrecto | TCP frente a UDP | Crea la regla para el protocolo correcto o crea reglas separadas para TCP y UDP. |
| Perfil de red incorrecto | Privado/Público/Dominio | Cambia el perfil de la regla o cambia el tipo de red a Privado si corresponde. |
| El router bloquea el tráfico entrante | Configuración de reenvío de puertos | Reenvía el puerto a la dirección IP local correcta. |
| La IP local cambió | Dirección IPv4 actual del PC | Usa una reserva DHCP o una IP estática para el equipo servidor. |
| El ISP usa CGNAT | IP WAN del router frente a IP pública | Solicita una IP pública, usa IPv6 si está disponible o utiliza una solución VPN/túnel. |
| Un software de seguridad de terceros bloquea el tráfico | Configuración del firewall del antivirus | Añade una regla de permiso en el firewall de terceros o prueba temporalmente con él deshabilitado. |
netstat muestra las aplicaciones que escuchan localmente. Eliminar una regla del firewall bloquea el tráfico entrante, pero no detiene la aplicación. Detén el servicio o programa relacionado si quieres que el puerto desaparezca de la lista de escucha.netstat -ano | findstr LISTENING. Para una vista gráfica, presiona Win + R, ejecuta resmon, abre la pestaña Red y expande Puertos de escucha.Para la mayoría de los usuarios, la mejor forma de abrir un puerto es usar Firewall de Windows Defender con seguridad avanzada mediante wf.msc. Ofrece una interfaz clara y reduce la posibilidad de crear una regla demasiado amplia. Para administradores, PowerShell es más rápido y fácil de automatizar.
Abre solo los puertos que necesitas, limita las reglas al perfil de red correcto, usa nombres descriptivos para las reglas y revisa periódicamente los puertos en escucha con netstat, PowerShell o Monitor de recursos. Si un servicio debe estar disponible desde internet, protégelo cuidadosamente y evita exponer puertos sensibles como SMB o Escritorio remoto sin protección adicional.