← Volver al Blog

¿Qué es un puerto? Explicación sencilla de redes

Un puerto de red es una puerta numerada que permite a un equipo ejecutar muchos servicios de red a la vez. Qué son los puertos, por qué existen y cómo funciona la numeración, con ejemplos reales.

Tu Mac tiene una sola dirección IP, pero ejecuta decenas de servicios de red al mismo tiempo: un navegador, un cliente de correo, un servidor de desarrollo, compartir archivos, AirPlay. Entonces, ¿cómo sabe cada dato entrante a qué programa pertenece? La respuesta son los puertos.

La analogía del edificio de apartamentos

Piensa en una dirección IP como la dirección postal de un edificio. Lleva los datos al equipo correcto, pero un edificio tiene muchos apartamentos. El número de puerto es el número de apartamento: le dice al dato a qué programa concreto dentro del equipo debe entregarse.

  • Dirección IP → qué equipo (p. ej. 192.168.1.5)
  • Número de puerto → qué programa en ese equipo (p. ej. 443 para el servidor web)

Juntos forman un socket: 192.168.1.5:443. Ese par identifica de forma única un extremo de una conversación de red.

Por qué existen los puertos

Sin puertos, un equipo solo podría ejecutar un servicio de red a la vez. No podrías navegar mientras revisas el correo y ejecutas una base de datos local: todo ese tráfico llegaría a la misma dirección sin forma de ordenarlo.

Los puertos resuelven esto dándole a cada servicio su propio número. Cuando llega un paquete, el sistema operativo lee el puerto de destino y entrega los datos al programa que esté escuchando ahí. Una IP, miles de puertos posibles, muchos servicios funcionando en paralelo.

Cómo funcionan los números de puerto

Un número de puerto es un entero de 16 bits, lo que significa que va de 0 a 65535, dando 65 536 puertos posibles. Se dividen en tres rangos definidos por la IANA (el organismo que los coordina):

RangoNombrePara qué se usa
0–1023Puertos bien conocidosServicios estándar (HTTP, SSH, DNS)
1024–49151Puertos registradosApps que registraron un número (PostgreSQL, MySQL)
49152–65535Dinámicos / efímerosPuertos temporales para conexiones salientes

Algunos que reconocerás:

  • 80 → HTTP (web)
  • 443 → HTTPS (web segura)
  • 22 → SSH (acceso remoto)
  • 53 → DNS (resolución de nombres de dominio)
  • 3000 → puerto por defecto habitual de servidores de desarrollo
  • 5432 → PostgreSQL

Profundizamos en los rangos en Rangos de números de puerto explicados, y puedes buscar cualquier número concreto en la referencia de puertos.

Escuchar vs. conectar

Un puerto puede estar haciendo una de dos cosas:

  • Escuchando: un programa ha reclamado el puerto y espera conexiones entrantes. Un servidor web escucha en el 443.
  • Conectando: un programa contacta con un puerto de otro equipo. Tu navegador se conecta al puerto 443 de un sitio web, usando un puerto efímero temporal en tu extremo como dirección de retorno.

Por eso verás dos tipos de entradas al inspeccionar tus puertos: unos pocos servicios en estado LISTEN y muchas conexiones salientes de corta duración que usan puertos efímeros de número alto.

Puertos TCP vs. puertos UDP

Los números de puerto existen por separado para cada protocolo de transporte. El puerto 53 en TCP y el puerto 53 en UDP son técnicamente puertos distintos, y DNS de hecho usa ambos. La mayoría de los servicios eligen un protocolo: el tráfico web es TCP, las consultas DNS suelen ser UDP. Consulta TCP vs UDP para ver en qué se diferencian.

“Solo un programa por puerto”

Esta es la regla que más confusión causa: en un mismo protocolo, solo un programa puede escuchar en un puerto a la vez. Si un proceso ya está vinculado al puerto 3000 y otro intenta tomarlo, el segundo falla con un error como address already in use o EADDRINUSE.

Por eso los errores de “puerto en uso” ocurren tan a menudo en desarrollo: dos cosas quieren el mismo número. La solución es averiguar qué retiene el puerto y detenerlo o mover tu app a otro puerto. Consulta Puerto en uso en Mac para el paso a paso.

Cómo ver los puertos de tu propio Mac

El comando en la terminal es:

sudo lsof -iTCP -sTCP:LISTEN -n -P

Esto lista cada programa que está escuchando conexiones, el puerto que ocupa y su ID de proceso.

Ve tus puertos sin la terminal

Portie convierte ese comando en una ventana en vivo. Muestra cada puerto abierto en tu Mac, la app que lo ocupa, el protocolo y el estado de la conexión, actualizado automáticamente cada 3 segundos. Sin comandos que memorizar.

El monitoreo local es gratuito. El desbloqueo de $8.99 (pago único) agrega la terminación de procesos con un clic y el escaneo remoto de puertos para otros hosts en tu red. Descarga Portie para ver qué está escuchando realmente tu Mac.

Prueba Portie gratis

Ve cada puerto abierto en tu Mac, qué app lo usa y cierra procesos desde la lista.

Descargar gratis