La historia de internet, el hacking y todo lo que un programador debería saber
Esta es la historia de cómo unas cuantas máquinas conectadas por cable acabaron cambiando el mundo, y de la cultura —a veces luminosa, a veces oscura— que creció dentro. Es una guía larga y honesta: la red no la construyeron solo ingenieros con corbata, también curiosos, piratas, artistas y gente buscándose la vida. Vamos por partes.
De ARPANET a la web: cómo nació internet
En plena Guerra Fría, Estados Unidos quería una red que siguiera funcionando aunque cayera un nodo. En 1969 nació ARPANET, que conectó cuatro universidades. La idea clave fue la conmutación de paquetes: en vez de una línea dedicada como en el teléfono, la información se parte en trozos (paquetes) que viajan por separado y se recomponen al llegar.
En 1983 ARPANET adoptó TCP/IP, el conjunto de reglas que sigue siendo la base de internet hoy. Ese es el momento en el que muchos consideran que "nace" internet de verdad: una red de redes que hablan el mismo idioma.
Faltaba algo para el gran público. En 1989, en el CERN, Tim Berners-Lee inventó la World Wide Web: HTML para escribir páginas, HTTP para pedirlas y las URL para nombrarlas. Internet es la carretera; la web es uno de los coches que circulan por ella (el más famoso, pero no el único: el correo, el FTP o el propio IRC también son internet).
Los 90 fueron la explosión: navegadores como Mosaic y Netscape, el módem que chillaba al conectar, los foros, y una sensación de frontera abierta donde todo estaba por hacer.
Un motor incómodo: la industria adulta y la tecnología web
Cualquier historia honesta de internet tiene que reconocer algo que suele omitirse: la industria del contenido para adultos empujó buena parte de la tecnología web temprana. No por morbo, sino porque fue de los primeros sectores con dinero y prisa por resolver problemas técnicos que hoy usamos todos.
- Pagos por internet: cuando casi nadie se atrevía a meter la tarjeta en una web, ese sector normalizó las pasarelas de pago y las suscripciones online.
- Vídeo en streaming: la presión por servir vídeo a mucha gente a la vez ayudó a madurar la compresión y la distribución de contenido (los CDN).
- Formatos de la época: de ahí salen siglas que hoy suenan a prehistoria, como el TGP (Thumbnail Gallery Post): páginas que eran solo una rejilla de miniaturas enlazando a otras. Fue uno de los primeros patrones de "portada con miniaturas" que luego copió medio internet, incluidos los portales de vídeo modernos.
No es una apología: es reconocer que la innovación llega por caminos incómodos, y que buena parte de la fontanería de la web se probó primero donde había prisa y dinero.
IRC: los primeros chats y los primeros ataques
Antes de WhatsApp y Discord existía el IRC (Internet Relay Chat, 1988). Te conectabas a un servidor, entrabas en un canal (#algo) y hablabas en tiempo real con gente de todo el mundo. Fue la primera gran plaza pública de internet.
Y como toda plaza, tuvo sus peleas. Los primeros ataques masivos de la historia de internet nacieron aquí, en las guerras por el control de los canales:
- Nukes y floods: enviar paquetes malformados o inundar a alguien de datos para tirarle la conexión.
- Guerras de canal: echar al operador (el que manda en el canal) para quedarte con el control.
- Y de aquí saltó el concepto que acabaría siendo enorme: las botnets, redes de ordenadores infectados que obedecían órdenes por IRC. El primer "ejército" de máquinas zombis se comandaba, precisamente, desde un canal de chat.
Para entender esa época hacen falta tres palabras que la gente usaba a diario:
- Shell: es tu acceso a una máquina por línea de comandos. "Tener una shell" en un servidor significa poder darle órdenes escritas (
ls,cd,cat...). Conseguir una shell en una máquina ajena es, en seguridad, el gran objetivo: si controlas la shell, controlas el equipo. - Bouncer (BNC): un intermediario que se queda conectado al IRC por ti. Tú te conectas al bouncer, y el bouncer al servidor. Servía para no perder tu identidad al desconectarte, para ocultar tu IP real y para mantener el sitio en el canal. Es, en esencia, el abuelo del proxy moderno.
- TGP: ya lo vimos arriba; se menciona aquí porque en aquella cultura underground los TGP, los bouncers y las shells convivían en el mismo ecosistema de foros y canales.
La piratería: de las BBS a hoy
Antes incluso de la web estaban las BBS (Bulletin Board Systems): te conectabas con el módem directamente a un ordenador de otra persona para descargar programas, mensajes y juegos. Ahí nació la escena warez (software pirata) y las cracktros: pequeñas animaciones que los grupos ponían al principio de un juego crackeado para firmar su trabajo. De esas cracktros nació la demoscene, un movimiento artístico de programadores que sigue vivo.
La línea temporal de la piratería es, en el fondo, la historia de cómo copiamos:
- BBS y disquetes (80-90): copiar a mano, de módem a módem.
- Napster (1999): el primer gran intercambio de música entre usuarios (P2P). Cambió la industria musical para siempre.
- eMule y las redes P2P (2000s): descargar de muchos a la vez.
- BitTorrent (2001 en adelante): el protocolo que hizo la copia imparable, repartiendo cada archivo en trozos entre miles de usuarios.
- Streaming de pago (hoy): la lección final fue que la gente no piratea por vicio, sino por comodidad y precio. Cuando Spotify y Netflix hicieron el contenido fácil y barato, la piratería bajó sola. La copia nunca murió del todo, pero el mercado aprendió que competir con "gratis" se gana con comodidad, no solo con abogados.
Hackers, crackers y los sombreros de colores
Aquí hay que deshacer un lío que crearon las películas. Hacker no significa "delincuente". Un hacker, en el sentido original, es alguien que entiende un sistema tan a fondo que lo dobla para que haga cosas nuevas. Puede ser bueno o malo; eso depende de la ética, no de la habilidad. Para separar intenciones se usan los "sombreros":
- Sombrero blanco (white hat): el hacker ético. Busca fallos para avisar y arreglarlos, con permiso. Es el trabajo del pentester y del bug bounty.
- Sombrero negro (black hat): el que ataca para robar, extorsionar o destruir. Esto sí es delito.
- Sombrero gris (grey hat): el que se mueve en el medio: encuentra un fallo sin permiso, pero lo reporta en vez de aprovecharlo. Legalmente, terreno resbaladizo.
- Red hat: el "justiciero" que devuelve el golpe a los atacantes, a veces por su cuenta y riesgo.
- Cracker: término clásico para el que rompe protecciones (de software, de licencias) o entra en sistemas con malas intenciones. Muchos puristas prefieren "cracker" para el malo y reservan "hacker" para el curioso.
En MYBESTIA trabajamos siempre desde el sombrero blanco: aprender atacando laboratorios propios y legales, para entender cómo defender.
Linux, los sistemas operativos y por qué importan
El sistema operativo (SO) es el software que manda en la máquina: reparte la memoria, habla con el disco y la red, y deja que los programas funcionen. Los grandes:
- Windows: el del escritorio de casa y la oficina.
- macOS: el de Apple, con raíces Unix.
- Linux: el rey de los servidores, de internet y del mundo hacker. Nació en 1991 cuando Linus Torvalds publicó el núcleo (kernel) y lo combinó con las herramientas libres del proyecto GNU. Es libre y abierto: cualquiera puede verlo y modificarlo. Casi toda internet (los servidores web, la nube, Android) corre sobre Linux. Distribuciones como Kali Linux vienen preparadas para seguridad.
La idea de fondo, heredada de Unix, es preciosa: herramientas pequeñas que hacen una sola cosa bien y se combinan entre sí. Esa filosofía es la que hace que la línea de comandos sea tan potente.
Redes, protocolos y el modelo OSI
Para que dos ordenadores se entiendan hacen falta protocolos: acuerdos sobre cómo hablar. Y para no volverse loco, se ordenan en capas. El modelo OSI describe siete:
- Física: los cables, la fibra, las ondas. Ceros y unos que viajan.
- Enlace de datos: cómo hablan dos equipos en la misma red local (aquí vive la MAC y Ethernet).
- Red: cómo llegar de una red a otra. Aquí manda IP, que da la dirección a cada máquina.
- Transporte: cómo se entregan los datos. TCP (fiable, confirma que todo llega; para webs, correo) y UDP (rápido y sin confirmación; para vídeo, juegos, voz).
- Sesión: abrir y mantener la conversación.
- Presentación: el formato y el cifrado de los datos.
- Aplicación: lo que ve el usuario. Aquí viven los protocolos que usas a diario:
- HTTP/HTTPS: la web (la S es de seguro, cifrado).
- DNS: la agenda de internet; conviertemybestia.comen una dirección IP.
- SMTP/IMAP: enviar y recibir correo.
- FTP/SFTP: transferir archivos.
- SSH: entrar a un servidor de forma segura y cifrada (la herramienta diaria de cualquiera que administre máquinas).
Cuando abres una web pasa toda esta escalera en milésimas de segundo: tu navegador pregunta al DNS, abre una conexión TCP, la cifra con TLS, pide la página por HTTP y la pinta.
Las bases del lenguaje C (en pseudocódigo)
Casi todo lo que usas —Linux, Windows, Python, las bases de datos— tiene C por debajo. C (1972, Dennis Ritchie) es el idioma en el que se escribió Unix y sigue siendo la lengua madre de la informática moderna: rápido, cercano a la máquina y sin florituras.
Las ideas base, en pseudocódigo, son siempre las mismas en cualquier lenguaje:
Variables (guardar un dato con un nombre):
entero edad = 30
texto nombre = "Francis"
Condiciones (decidir):
si edad >= 18 entonces
mostrar "Es mayor de edad"
si no
mostrar "Es menor"
fin si
Bucles (repetir):
para i desde 1 hasta 5 hacer
mostrar i
fin para
Funciones (empaquetar trabajo para reutilizarlo):
funcion sumar(a, b)
devolver a + b
fin funcion
resultado = sumar(2, 3) // resultado vale 5
Con estas cuatro piezas —guardar datos, decidir, repetir y agrupar— está construido absolutamente todo el software del mundo. Lo demás son detalles.
Compiladores: del código a la máquina
El ordenador no entiende C ni Python: solo entiende código máquina (ceros y unos). El compilador es el traductor. C es un lenguaje compilado: escribes el código, el compilador lo traduce entero a un ejecutable y luego lo lanzas.
- Los compiladores antiguos (como el
ccoriginal de Unix) eran básicos y hacían poco por optimizar. - Los modernos (GCC, Clang/LLVM) son obras de ingeniería enormes: reordenan tu código para que corra más rápido, avisan de errores y generan ejecutables para muchas máquinas distintas.
Frente a los compilados están los interpretados (como el JavaScript clásico o Python), donde otro programa va leyendo y ejecutando tu código línea a línea, sin generar antes un ejecutable. Es más cómodo para programar y más lento para correr; por eso hoy casi todos usan trucos intermedios (compilación just-in-time) para tener lo mejor de los dos mundos.
Los lenguajes que mueven el mundo
Cada lenguaje "representa" un papel en el ecosistema:
- C / C++: la base. Sistemas operativos, motores de videojuegos, navegadores, cosas donde la velocidad es sagrada.
- Java (1995): "escríbelo una vez, córrelo en cualquier sitio". Se traduce a un código intermedio que corre sobre una máquina virtual (la JVM). Es el rey de la banca, las grandes empresas y buena parte de Android. Representa la fiabilidad y la escala corporativa.
- JavaScript (1995): nació para dar vida a las páginas web (que el botón haga algo al pulsarlo). Hoy está en todas partes: en el navegador, en el servidor (Node.js) y en las apps. Es el idioma del frontend, lo que ves y tocas en una web. No tiene nada que ver con Java más allá del nombre (fue una jugada de marketing de la época).
- PHP (1995): el caballo de batalla de la web durante dos décadas. Genera páginas en el servidor. WordPress, que mueve gran parte de internet, es PHP. Representa la web práctica, la que "solo funciona".
- MySQL: no es un lenguaje de programación, es una base de datos: donde se guardan de forma ordenada los usuarios, los pedidos, los mensajes. Se habla con ella en SQL. La pareja PHP + MySQL fue durante años el 90% de la web dinámica del planeta.
- Python (1991): el lenguaje que lo simplificó todo. Fácil de leer, rápido de escribir. Empezó como lenguaje "de aprendizaje" y hoy es el rey de la ciencia de datos, la automatización y, sobre todo, la inteligencia artificial. Representa la accesibilidad: acercar la programación a todo el mundo.
La inteligencia artificial: el capítulo actual
La IA no es magia nueva: lleva décadas gestándose. Lo que cambió fue la combinación de tres cosas: muchísimos datos (gracias a internet), mucha potencia de cálculo (las tarjetas gráficas, las GPU) y unas técnicas llamadas redes neuronales y transformers.
De ahí salieron los grandes modelos de lenguaje (como los que hay detrás de ChatGPT, Claude o Gemini): programas entrenados con cantidades gigantescas de texto que aprenden a predecir la siguiente palabra y, con eso, a conversar, programar, resumir y crear. Casi todo ese mundo se construye en Python, corre sobre Linux y se sirve por los mismos protocolos que vimos arriba.
Hexadecimal: por qué los ordenadores cuentan raro
Aquí viene una de esas cosas que separan al que "usa" el ordenador del que lo entiende. Y si nunca te lo han explicado bien, no es culpa tuya: da un poco de pena que se aprenda a programar sin saber esto.
El ordenador cuenta en binario: solo ceros y unos, porque por dentro solo hay interruptores encendidos o apagados. Pero el binario es larguísimo de escribir (11111111 para un simple 255). Así que los informáticos usan un atajo elegante: el hexadecimal, base 16. Cuenta 0-9 y luego seis letras: A, B, C, D, E, F (que valen 10, 11, 12, 13, 14, 15).
¿Por qué 16 y no otra cosa? Porque cada cifra hexadecimal equivale exactamente a 4 bits, y dos cifras hex son un byte perfecto. Por eso:
FFen hex =11111111en binario =255.- Los colores de una web:
#00FF41significa nada de rojo (00), todo de verde (FF), un poco de azul (41). Ese verde, por cierto, es el de MYBESTIA. - Una dirección de memoria como
0x7ffe4a3ces simplemente un número contado en hexadecimal (el0xavisa de que lo que viene es hex).
No es esnobismo: es que en hexadecimal el mundo binario se vuelve legible para un humano.
Punteros: la magia (y el terror) de C
Si el hexadecimal es la puerta, los punteros son la sala secreta. Es el concepto que hace llorar a los estudiantes y que, una vez lo entiendes, te cambia la forma de ver la máquina.
Imagina que la memoria del ordenador es una calle enorme de casas numeradas. Cada casa (cada byte) tiene una dirección (ese número hexadecimal). Una variable normal guarda un valor: "en esta casa vive el número 30". Un puntero no guarda el valor: guarda la dirección de otra casa. Es un papelito que dice "lo que buscas está en la casa 0x7ffe4a3c".
entero edad = 30
puntero p = direccion_de(edad) // p no vale 30: vale "dónde vive edad"
mostrar valor_en(p) // ahora sí: 30
¿Por qué importa tanto? Porque con punteros puedes pasar cosas enormes sin copiarlas (solo pasas la dirección), construir estructuras que crecen solas (listas, árboles) y hablar directamente con el hardware. Y por qué dan terror: si un puntero apunta a una casa equivocada, el programa se cae (el famoso segmentation fault) o, peor, abres un agujero de seguridad. Media historia del hacking —los buffer overflow— es, literalmente, gente jugando con punteros que apuntan donde no debían.
Entender punteros es el momento en que dejas de tenerle miedo a la máquina y empiezas a tutearla.
Bajar al metal: JTAG, Raspberry Pi y el hardware
Todo lo anterior es software. Pero debajo hay silicio, y ahí abajo hay otra cultura preciosa.
JTAG es una puertecita de servicio que traen muchos chips: unos pocos pines por los que puedes hablar directamente con el procesador, pararlo, leer su memoria, ver qué está pasando dentro en tiempo real. Se inventó para probar placas en fábrica, pero para un hacker de hardware es la llave maestra: con JTAG puedes depurar un aparato, revivir uno "ladrillo" (que no arranca) o auditar la seguridad de un dispositivo desde sus tripas. Es el equivalente físico de "tener una shell", pero en el propio chip.
Y luego está la joya democrática: la Raspberry Pi. En 2012, unos británicos sacaron un ordenador entero del tamaño de una tarjeta de crédito por unos pocos euros, pensando en que los niños aprendieran a programar. El impacto fue brutal y nadie lo vio venir:
- Convirtió el "cacharreo" en algo barato: cualquiera podía tener un ordenador Linux completo para trastear sin miedo a romperlo.
- Se llenó el mundo de proyectos caseros: servidores personales, retro-consolas, estaciones meteorológicas, robots, bloqueadores de anuncios para toda la casa (Pi-hole), centros multimedia.
- En seguridad se volvió una navaja suiza: un aparatito discreto que puedes dejar en una red para auditarla.
- Y sobre todo, reventó la barrera de entrada. La informática dejó de necesitar un PC caro: bastaban unos euros y ganas.
La Raspberry es la prueba de que a veces lo que cambia el mundo no es lo más potente, sino lo más accesible.
La poesía del hacking
Porque sí, esto tiene poesía. Hay una estética, casi una espiritualidad, en toda esta historia. La gente que hizo la red temprana escribía manifiestos —el más famoso, The Hacker Manifesto de 1986, que puedes buscar— reivindicando la curiosidad como derecho: juzgadnos por lo que sabemos, no por cómo vestimos.
Hay belleza en la línea de comandos negra con letras verdes parpadeando. En un programa de tres líneas que hace algo que parecía imposible. En un puntero que, bien usado, es elegante como un verso. En la idea de que puedes coger una máquina que no entiendes y, a base de curiosidad y noches sin dormir, doblarla a tu voluntad.
Va aquí una pequeña oda, escrita para esta guía:
Cuenta la máquina en unos y en ceros,
y en hexadecimal se hace legible;
un puntero señala lo invisible,
y una shell verde manda a los aceros.No es magia: es curiosidad y esmero,
un JTAG que susurra a lo imposible,
una Pi de dos duros, incansable,
y un compilador de traductor sincero.Internet fue frontera, y sigue abierta;
pirata, blanco, negro o rojo el gorro,
lo que de verdad hackea es la pregunta.Así que si esto enciende algo en tu tuerca,
no pidas permiso ni esperes socorro:
abre la terminal. La red te apunta.
Y así se cierra el círculo: la misma red que empezó con cuatro universidades conectadas por cable, pasando por los canales de IRC, la piratería, los sombreros de colores, millones de líneas de C, punteros que apuntan al vacío y Raspberrys de dos duros, ha desembocado en máquinas que hablan con nosotros. La historia de internet no ha terminado. Estamos, otra vez, en una frontera abierta. Y esta vez te toca a ti escribir la siguiente línea.
En MYBESTIA usamos todo esto cada día: Linux, redes, seguridad, bases de datos e IA, para automatizar negocios de verdad. Si quieres ver la parte de seguridad, echa un ojo a nuestra serie de hacking ético, siempre sobre laboratorios legales y propios.
Cada semana mando un email con lo mejor de mi pipeline de IA: herramientas, fallos y código. Sin spam.