Saltar al contenido

2 de mayo de 2026 · 7 min de lectura

¿Cuáles son mis puertos abiertos? Cómo comprobar los puertos TCP en tu IP pública

Aprende qué significan los puertos abiertos, cerrados y filtrados, cuáles puertos representan riesgos de seguridad y cómo comprobar los puertos abiertos de tu IP pública sin instalar software.

Tu dirección IP pública es visible para todos los dispositivos en internet, al igual que cualquier servicio que escuche en sus puertos. Saber qué puertos están abiertos es el primer paso para comprender la superficie de ataque de tu red.

Un comprobador de puertos se conecta a tu IP desde un servidor externo e informa si cada puerto está abierto (un servicio aceptó la conexión), cerrado (el sistema operativo la rechazó) o filtrado (un cortafuegos descartó el paquete silenciosamente). La herramienta ¿Cuáles son mis puertos abiertos? realiza esta comprobación automáticamente para un conjunto de puertos comunes y para cualquier puerto personalizado que introduzcas.

¿Qué es un puerto de red?

Una dirección IP hace llegar los paquetes al equipo correcto. Un número de puerto — un entero de 16 bits de 1 a 65535 — le indica al sistema operativo qué programa debe controlar esos paquetes.

Cuando un programa llama a bind() y listen() en un puerto, está escuchando: listo para aceptar conexiones entrantes. Cuando nada está escuchando, el sistema operativo responde a los paquetes TCP SYN entrantes con un RST (reinicio), lo que indica "cerrado". Cuando un cortafuegos descarta el paquete sin ninguna respuesta, el remitente espera hasta que se agote el tiempo de espera (timeout); este es un puerto filtrado.

Abierto, cerrado y filtrado: la perspectiva del saludo de tres vías de TCP

El saludo de tres vías de TCP estándar envía tres paquetes:

  1. SYN — el cliente solicita conectarse
  2. SYN-ACK — el servidor acepta (el puerto está abierto)
  3. ACK — el cliente confirma

Si en lugar de SYN-ACK el servidor envía RST-ACK, el puerto está cerrado. Si el paquete SYN desaparece por completo, el puerto está filtrado.

EstadoQué ocurrióQué significa
AbiertoSYN-ACK recibidoUn servicio está escuchando y es accesible
CerradoRST-ACK recibidoNingún servicio escucha; el host está activo
FiltradoSin respuesta (tiempo de espera agotado)El cortafuegos / NAT está bloqueando el paquete

La mayoría de las direcciones IP domésticas muestran casi todos los puertos como filtrados porque los routers de consumo aplican NAT de forma predeterminada y bloquean todas las conexiones entrantes no solicitadas.

Por qué comprobar puertos requiere un servidor externo

Los navegadores se ejecutan en un modelo de seguridad aislado (sandbox). JavaScript no puede abrir sockets TCP arbitrarios hacia hosts externos; esto permitiría a cualquier sitio web escanear tu red o sondear servicios internos. La API fetch() está restringida a HTTP/HTTPS; la conexión TCP directa no está disponible para las páginas web.

Un comprobador de puertos del lado del servidor evita esto realizando la conexión TCP desde una infraestructura en la que confías y devolviendo luego el resultado. La comprobación equivale a ejecutar nc -zv <tu-ip> <puerto> desde una máquina remota:

# Comando de shell equivalente
nc -zv 203.0.113.42 22
# Connection to 203.0.113.42 22 port [tcp/ssh] succeeded!

El resultado te indica exactamente lo que vería un atacante que escanee internet.

Puertos comunes y sus niveles de riesgo

PuertoServicioRiesgo si está abierto públicamente
22SSHMedio — ataques de fuerza bruta constantes; usa autenticación por clave
23TelnetAlto — envía datos en texto plano
25SMTPMedio — abuso de retransmisión (relay) si está mal configurado
80HTTPBajo — normal en servidores web
443HTTPSBajo — normal en servidores web
3306MySQLCrítico — nunca exponer a la internet pública
5432PostgreSQLCrítico — nunca exponer a la internet pública
6379RedisCrítico — sin autenticación por defecto en versiones antiguas
8080HTTP AltMedio — a menudo herramientas de desarrollo sin autenticación
27017MongoDBCrítico — historial masivo de brechas de seguridad por exposición pública

Cómo interactúan el NAT y la redirección de puertos

La mayoría de los usuarios domésticos y de oficina se encuentran detrás de un NAT (Traducción de Direcciones de Red). Tu router le asigna a cada dispositivo una IP privada (192.168.x.x, 10.x.x.x) y presenta una única IP pública a internet. Las conexiones entrantes que llegan a la IP pública del router no tienen adónde ir a menos que configures la redirección de puertos (port forwarding), una regla de NAT que asocia un puerto externo a un equipo y puerto internos.

Si ejecutas un servidor de juegos, alojas un sitio web o utilizas un servicio que necesita conexiones entrantes (VoIP, BitTorrent, escritorio remoto), configuras la redirección de puertos en el panel de administración del router. El comprobador de puertos confirma si la redirección está funcionando: si el puerto se muestra abierto desde el exterior, la regla de redirección está enviando correctamente el tráfico a tu máquina.

Cómo asegurar los puertos que no querías abrir

Si el comprobador de puertos revela un puerto abierto inesperado:

  1. Identifica el proceso que escucha: en Linux, usa ss -tlnp | grep :<puerto> o netstat -tlnp. En Windows, usa netstat -ano | findstr :<puerto> y busca el PID en el Administrador de tareas.
  2. Detén el servicio si no debería estar ejecutándose, o reconfigúralo para enlazarse solo a 127.0.0.1.
  3. Añade una regla de cortafuegos: ufw deny <puerto>/tcp en Ubuntu, o una regla de entrada en el Cortafuegos de Windows.
  4. Verifica la solución: vuelve a ejecutar el comprobador de puertos; el puerto ahora debería mostrarse como filtrado desde el exterior.

Comprueba los puertos de tu IP pública ahora mismo (sin necesidad de instalar software) en la herramienta ¿Cuáles son mis puertos abiertos?. Para obtener contexto sobre la IP que se está escaneando, consulta ¿Cuál es mi IP?.