Qué son los puertos y los protocolos
Un servidor de Cafetal Digital tiene una sola dirección IP, 192.0.2.10, y a la vez atiende la página web, recibe correo y deja entrar al administrador por SSH. Lo que separa esas tres conversaciones es un número de 16 bits que viaja en cada paquete: el puerto. Y lo que hace que el navegador y el servidor se entiendan es un acuerdo escrito que ambos siguen al pie de la letra: el protocolo.
Qué es un puerto y qué es un protocolo
Un puerto es un número entre 0 y 65 535 que indica a qué programa, dentro de un equipo, va dirigido un segmento TCP o un datagrama UDP. La IP lleva el paquete hasta la máquina; el puerto lo entrega al proceso correcto. El programa que espera conexiones en ese puerto es el servicio, y se dice que "escucha" en él.

Un protocolo es el conjunto de reglas de una conversación: quién habla primero, qué formato tienen los mensajes y qué significa cada respuesta. HTTP dice que el cliente manda GET / y el servidor contesta HTTP/1.1 200 OK. SMTP dice que el servidor saluda con un 220. Si una de las dos partes se sale del guion, la conversación se corta.
Los dos conceptos van juntos, pero no están amarrados. El 443 es "el puerto de HTTPS" por convención, no por ley física: nada impide montar SSH en el 443 o un servidor web en el 2222. Eso lo aprovecha tanto quien administra (para pasar un firewall restrictivo) como quien ataca (para esconder un canal de control entre tráfico web).
Un poco de historia
TCP/IP se escribió a fines de los setenta. UDP quedó definido en el RFC 768 (1980); IP y TCP, en los RFC 791 y 793 (1981). El 1 de enero de 1983 ARPANET dejó sus protocolos anteriores y pasó a TCP/IP. Durante años, Jon Postel mantuvo a mano la lista de qué número correspondía a qué servicio, en documentos llamados Assigned Numbers; ese trabajo es hoy la IANA, que publica el registro oficial de puertos.
Muchos protocolos de este curso nacieron cuando la red era un club de universidades que se conocían. FTP, SMTP y DNS se diseñaron sin cifrado ni autenticación fuerte porque nadie esperaba un desconocido en el cable. Casi todas las defensas modernas (TLS, DNSSEC, SPF, firma SMB) son parches que se agregaron encima, décadas después, y que todavía hay que activar a mano.
Por qué importa en ciberseguridad
Cada puerto abierto es una puerta con un programa detrás, y ese programa puede tener una contraseña débil, una versión vieja o una configuración por defecto. Quien atiende un SOC lee puertos todo el día: "RDP desde Rusia", "SMB saliente hacia una IP pública", "DNS con subdominios de 60 caracteres". Quien administra decide qué puertos existen. Y en una auditoría autorizada, lo primero que se entrega es la lista de servicios expuestos.
Si no domina esto, cada alerta es un número sin significado y cada informe de vulnerabilidades, una lista que no sabe priorizar.
Dónde se usa
| Lugar | Puertos que verá con frecuencia |
|---|---|
| Red de oficina | 53 (DNS), 67 y 68 (DHCP), 445 (SMB), 3389 (RDP) |
| Servidor web en la nube | 22 (SSH), 80 (HTTP), 443 (HTTPS) |
| Servidor de correo | 25, 465 y 587 (SMTP), 993 (IMAPS) |
| Router de la casa | 53, 67, 80 o 443 (panel de administración) |
| Su propia laptop | Lo que haya instalado sin darse cuenta: compartir archivos, impresoras, herramientas de desarrollo |
Conceptos clave
| Concepto | Qué significa |
|---|---|
| Puerto | Número de 0 a 65 535 que identifica un servicio dentro de un equipo |
| Servicio | Programa que escucha en un puerto y atiende conexiones |
| Socket | La combinación IP, puerto y protocolo que identifica un extremo de la conexión |
| Estado | Abierto, cerrado o filtrado, según cómo responde el puerto |
| Banner | Texto con que un servicio se presenta al conectarse; a menudo revela nombre y versión |
| Superficie de ataque | El conjunto de servicios alcanzables por alguien que no debería usarlos |
| Hardening | Endurecer: quitar lo innecesario y configurar con seguridad lo que queda |
Cómo leer una sintaxis
Las fichas de comandos de este curso usan siempre las mismas convenciones:
ss [OPCIONES] [state ESTADO]
dig [@SERVIDOR] NOMBRE [TIPO]- Lo que va entre corchetes es opcional.
- Lo que va en MAYÚSCULAS lo reemplaza usted por un valor real (
dig @192.0.2.53 ejemplo.cr MX). - Tres puntos (
...) significan que el elemento se puede repetir. - Una barra vertical entre dos opciones significa "una u otra".
Cómo pedir ayuda
Nadie se sabe las opciones de memoria. En Linux, man ss abre el manual completo (se sale con q) y ss --help da un resumen corto. En Windows, netstat /? funciona en cmd, y en PowerShell Get-Help Get-NetTCPConnection -Examples muestra ejemplos.
Para saber qué servicio corresponde a un número, su propio equipo trae una tabla:
$ grep -w 445 /etc/services
microsoft-ds 445/tcp # Microsoft Naked CIFSEn Windows el mismo archivo vive en C:\Windows\System32\drivers\etc\services. Es la lista de convenciones, no de lo que está corriendo: para eso está la lección siguiente.