← Volver al blog

Redes para principiantes: IP, DNS, puertos, TCP y UDP desde cero

Redes para principiantes: IP, DNS, puertos, TCP y UDP desde cero

Si están empezando en ciberseguridad, redes es una de esas bases que conviene entender cuanto antes. No hace falta memorizar protocolos avanzados el primer día, pero sí tener claro qué ocurre cuando un dispositivo se conecta a otro, cómo encuentra un servidor o por qué una web responde de una forma u otra.

Como desarrollador de software, durante mucho tiempo trabajé con aplicaciones, APIs y flujos de datos sin profundizar demasiado en lo que ocurría por debajo. Volver a estas bases me está ayudando a ordenar conceptos que aparecen constantemente: IP, DNS, puertos, TCP y UDP.

Este artículo continúa mi camino de aprendizaje de ciberseguridad, después de empezar por Linux y sus comandos básicos.

Cheat sheet de redes para principiantes con IP, DNS, puertos, TCP y UDP
Resumen visual de los conceptos básicos de redes.
Descargar cheat sheet en PDF

Guárdalo o imprímelo para tener los conceptos a mano.

Qué es una dirección IP

Una dirección IP identifica un dispositivo dentro de una red y permite que los datos sepan a dónde tienen que ir. Piensen en ella como una dirección técnica.

En casa, su portátil, móvil, televisor o consola normalmente reciben una IP privada. Un ejemplo típico sería 192.168.1.100. Esa dirección solo tiene sentido dentro de su red local.

Su conexión hacia Internet también utiliza una IP pública, normalmente asignada por su proveedor de Internet.

Ver mi IP en Linux

ip a

Este comando muestra las interfaces de red y las direcciones IP configuradas en el equipo. Más adelante, cuando monte mi home lab, será uno de los comandos que utilizaré constantemente para comprobar qué máquina tiene cada dirección.

Qué es el DNS

Nosotros recordamos nombres como zwartapps.com, pero los equipos necesitan direcciones IP. El Domain Name System o DNS se encarga de traducir esos nombres.

De forma simplificada:

  1. escriben un dominio en el navegador,
  2. el sistema consulta un servidor DNS,
  3. el DNS devuelve la dirección IP correspondiente,
  4. el navegador ya sabe a qué servidor debe conectarse.

Consultar DNS desde la terminal

nslookup zwartapps.com

También existen herramientas como dig, que más adelante quiero explorar con más detalle.

Qué es un puerto

La dirección IP identifica la máquina. El puerto identifica el servicio concreto al que queremos hablar dentro de esa máquina.

Un servidor puede ejecutar simultáneamente una web, SSH, una base de datos y otros servicios. Los puertos permiten distinguirlos.

  • 80 – HTTP
  • 443 – HTTPS
  • 22 – SSH
  • 53 – DNS

No necesito memorizar cientos de puertos ahora. Lo importante es quedarme con la idea de que una comunicación suele tener un destino formado por IP + puerto.

TCP y UDP

TCP y UDP son dos protocolos de transporte que resuelven necesidades diferentes.

TCP: priorizar la fiabilidad

TCP establece una conexión y controla que la información llegue correctamente y en el orden adecuado. Si falta algo, puede solicitar su retransmisión.

Es habitual en navegación web, transferencias de archivos, correo o conexiones donde perder información sería un problema.

UDP: priorizar rapidez y baja latencia

UDP envía información con menos control. Eso reduce sobrecarga y latencia, pero no garantiza de la misma forma que todos los paquetes lleguen ni que lo hagan ordenados.

Por eso encaja bien en streaming, videojuegos, VoIP y otros escenarios donde un pequeño paquete perdido puede ser menos importante que esperar a retransmitirlo.

Una forma rápida de recordarlo

  • TCP: más control y fiabilidad.
  • UDP: más ligero y rápido.

Cómo funciona una web, paso a paso

Juntar los conceptos anteriores es mucho más útil que aprenderlos por separado. Cuando escriben una URL en el navegador, el proceso puede resumirse así:

Diagrama de cómo funciona una web en cinco pasos
Flujo simplificado de una petición web desde el navegador hasta el servidor y vuelta.
  1. Navegador: escriben la dirección de la web.
  2. DNS: el dominio se traduce a una dirección IP.
  3. Servidor: recibe la petición en el puerto correspondiente.
  4. Aplicación: WordPress u otro sistema procesa la petición y genera la respuesta.
  5. Navegador: recibe HTML, CSS, JavaScript, imágenes y muestra la página.

Detrás hay bastantes más detalles – TLS, routing, paquetes, cachés, proxies o CDNs -, pero este modelo ya sirve para empezar a razonar qué puede estar fallando cuando una web no responde.

Comandos de red que quiero practicar

Igual que hice con Linux, prefiero acompañar la teoría con comandos sencillos.

Comprobar conectividad

ping 8.8.8.8

Permite comprobar si podemos alcanzar otro host y observar el tiempo de respuesta.

Consultar DNS

nslookup google.com

Ver la ruta hasta un destino

traceroute 8.8.8.8

En algunas distribuciones puede ser necesario instalar traceroute.

Ver puertos en escucha

ss -tuln

Este comando empieza a conectar la teoría de puertos con lo que está ocurriendo realmente en el equipo.

Por qué todo esto importa en ciberseguridad

Muchísimas tareas de seguridad dependen directamente de redes: descubrir hosts, identificar servicios expuestos, revisar puertos, entender reglas de firewall o analizar tráfico.

Cuando más adelante utilice herramientas como Wireshark o Nmap, quiero entender lo que me están mostrando en vez de limitarme a ejecutar comandos copiados de una guía.

Qué aprenderé después

Mi siguiente objetivo será profundizar un poco más en redes locales: máscara de subred, gateway, DHCP, NAT y cómo se comunican varias máquinas dentro de un laboratorio.

Después quiero montar un home lab con máquinas virtuales y empezar a observar tráfico real de forma controlada. Ahí será cuando Linux y redes empiecen a unirse de verdad.

La meta sigue siendo la misma: aprender paso a paso, entender qué ocurre realmente y documentar el proceso.