{}const=>[]async()letfn</>var
ProfesiónFundamentosDesarrollo

Cómo funciona Internet «para un hacker»: DNS, HTTP/HTTPS, cookies y sesiones — explicado de forma sencilla 🌐

Analizamos lo que sucede en un segundo cuando abres un sitio web. DNS, HTTP, HTTPS, cookies, sesiones, JWT: sin agua, con ejemplos de ataques y una lista de verificación de seguridad. Todo lo que todo desarrollador (y hacker novato 😏) debe saber.

К

Kodik

Autor

6 min de lectura

Abres el navegador, escribes google.com y un segundo después ves la página. ¿Magia? No. Detrás de este segundo se esconde toda una cadena de eventos que cada desarrollador debe entender. Y si quieres pensar como un hacker (ético, por supuesto 😏), entonces saber esto no es una opción, sino una necesidad.

Vamos a poner todo en orden. Sin aburrimiento, con ejemplos de la vida.

🔍 DNS: la guía telefónica de Internet

Los ordenadores no entienden google.com. Funcionan con direcciones IP como 142.250.74.206. Y el DNS (Domain Name System) es una enorme guía telefónica que traduce las direcciones humanas a las de las máquinas.

Qué sucede cuando ingresas la dirección del sitio:

  1. Caché del navegador — ¿Quizás ya has entrado? Entonces la IP ya está guardada.

  2. Caché del sistema operativo — el sistema también lo recuerda.

  3. Router - incluso él almacena su caché de DNS.

  4. Resolución de DNS del proveedor — si no se encuentra en ningún lugar, la solicitud se envía al servidor del proveedor.

  5. DNS raíz → TLD → servidor autorizado — cadena de consultas hasta que se encuentre una respuesta.

Todo esto ocurre en milisegundos. Pero esto es lo interesante desde el punto de vista de la seguridad:

Suplantación de DNS — el atacante reemplaza la respuesta de DNS y te envía a un sitio falso. Introduces bank.com, pero te encuentras con un clon de estafadores. Exteriormente, es uno a uno. Por eso, un solo DNS no es suficiente, necesitas HTTPS.

Pruébalo tú mismo: abre la terminal e introduce nslookup google.com o dig google.com. Verás cómo tu sistema busca la IP.

🔥 100.000+ estudiantes ya están con nosotros

¿Cansado de leer teoría?
¡Hora de programar!

Kodik — una app donde aprendes a programar con práctica. Mentor IA, lecciones interactivas, proyectos reales.

🤖 IA 24/7
🎓 Certificados
💰 Gratis
🚀 Empezar
Se unieron hoy

📡 HTTP: tarjeta sin sobre

HTTP (HyperText Transfer Protocol) es el protocolo a través del cual el navegador se comunica con el servidor. Funciona según el principio de «solicitud-respuesta».

Anatomía de una solicitud HTTP:

GET /profile HTTP/1.1
Host: example.com
Cookie: session_id=abc123
User-Agent: Mozilla/5.0

El servidor responde:

HTTP/1.1 200 OK
Content-Type: text/html
Set-Cookie: session_id=abc123

<html>...</html>

Sencillo, ¿verdad? Pero hay un gran problema: HTTP transmite todo texto sin formato. Imagina que estás enviando una postal por correo: cualquier cartero puede leerla. Nombre de usuario, contraseña, número de tarjeta: todo es visible.

Métodos HTTP básicos:

GET «dame los datos»

POST «aquí están mis datos»

PUT «actualizar esto»

DELETE «eliminar esto»

Códigos de respuesta que vale la pena recordar:

200 todo bien

Redirección 301

403 prohibido

404 no encontrado

El servidor 500 se ha caído

Hacker que intercepta el tráfico HTTP (por ejemplo, en una red Wi-Fi pública), ve absolutamente todo. Por lo tanto, el HTTP puro hoy en día es una vulnerabilidad.

🔒 HTTPS: sobre con sello de lacre

HTTPS es el mismo HTTP, pero envuelto en cifrado a través de TLS (Transport Layer Security). Ahora los datos parecen una mezcla de caracteres para todos, excepto para el remitente y el destinatario.

Cómo se establece una conexión segura (TLS Handshake):

  • Cliente: «Hola, quiero hablar de forma segura. Estas son mis opciones de cifrado».

  • Servidor: «¡Hola! Aquí está mi certificado SSL, puedes comprobar que soy real».

  • Cliente: verifica el certificado a través de la autoridad de certificación (CA).

  • Ambos generan una clave secreta compartida.

  • Siguiente toda la comunicación está cifrada con esta clave.

¿Por qué un hacker haría esto?

Incluso si un atacante intercepta el tráfico HTTPS, solo verá basura cifrada. Pero hay matices:

Versiones obsoletas de TLS (1.0, 1.1) tienen vulnerabilidades conocidas. Certificados configurados incorrectamente — si el usuario se acostumbra a hacer clic en «ir de todos modos», puede ser engañado. MITM (Man-in-the-Middle) — el atacante se interpone entre el cliente y el servidor, sustituyendo su certificado. ¡Presta atención al candado 🔒 en la barra de direcciones!

🍪 Cookie: una insignia digital

HTTP — protocolo sin estado (stateless). El servidor no te recuerda entre solicitudes. Cada vez que lo haces, eres un extraño para él. Las cookies resuelven este problema.

Cookie — un pequeño fragmento de texto que el servidor pide al navegador que guarde y envíe con cada solicitud.

Cómo funciona:

  1. Inicias sesión en el sitio web.

  2. El servidor crea una sesión y responde: Set-Cookie: session_id=xyz789

  3. El navegador guarda esta cookie.

  4. Con cada solicitud posterior, el navegador envía: Cookie: session_id=xyz789

  5. El servidor ve el ID y entiende: «¡Ah, este es el mismo usuario!»

Tipos de KUK:

Session: duran hasta que se cierra el navegador

Persistent: Viven hasta la fecha especificada

HttpOnly- JS no puede leerlos - protección contra XSS

Seguro: solo se envía a través de HTTPS

SameSite - Protección contra ataques CSRF

Por qué los hackers cazan cookies:

Si robas la cookie de sesión de otra persona, puedes iniciar sesión en el sitio en nombre de la víctima sin iniciar sesión. Esto se llama session hijacking (secuestro de sesión).

Métodos de robo: XSS (un script malicioso roba cookies), intercepción de tráfico (si no hay HTTPS), acceso físico al navegador de otra persona.

🎫 Sesiones: ¿quién eres para el servidor?

Una sesión es un mecanismo para almacenar datos sobre el usuario en el lado del servidor. La cookie solo contiene el ID de la sesión (clave), y todos los datos (nombre, rol, carrito de la compra) se encuentran en el servidor.

Cookie vs Session: ¿cuál es la diferencia?

Cookie

Session

Dónde se almacena

En el navegador

En el servidor

Tamaño

Hasta ~4 KB

Sin restricciones

Seguridad

El cliente puede cambiar

El cliente solo ve el ID

Ejemplo

theme=dark

user_id=42, role=admin

JWT: un enfoque alternativo:

En lugar de almacenar sesiones en el servidor, puedes usar JSON Web Token (JWT). Es un token que contiene información cifrada sobre el usuario. El servidor no almacena el estado, todo está dentro del token.

Estructura: header.payload.signature
Pros: escalabilidad (no se necesita una base de datos de sesión compartida). Contras: no se puede «matar» un token individual antes de que expire.

📱 ¿Quieres entenderlo de verdad? ¡Practica!

La teoría es la base, pero la verdadera comprensión solo se logra con la práctica. ¡Pruébalo! Kodik - una aplicación donde aprendes a programar resolviendo problemas reales. Sin agua, solo práctica y explicaciones claras.

Y también suscríbete a nuestro Canal de Telegram — publicaciones útiles sobre programación, análisis de temas y trucos. Léelo en el metro, en el almuerzo o antes de acostarte 🚀

🧠 Resumen

Internet no es magia. Es una cadena de protocolos, cada uno de los cuales resuelve su propia tarea. El DNS traduce los nombres en direcciones, HTTP entrega datos, HTTPS los cifra, las cookies almacenan el estado y las sesiones identifican al usuario.

Comprender estos conceptos básicos es el primer paso para escribir código seguro y pensar con un paso por delante. No como un usuario normal, sino como alguien que sabe lo que está pasando bajo el capó. 🧠

🎯Deja de postergar

¿Te gustó el artículo?
¡Hora de practicar!

En Kodik no solo lees — escribes código de inmediato. Teoría + práctica = habilidades reales.

Práctica instantánea
🧠IA explica código
🏆Certificado

Sin registro • Sin tarjeta