El dominio de la capa de aplicación se refuerza con ejercicios que permitan observar los protocolos en acción. Esta guía propone un laboratorio progresivo con utilidades disponibles en la mayoría de los sistemas operativos.
Las actividades se agrupan por tipo de tarea: pruebas rápidas, diagnóstico profundo y automatización. Adaptá cada ejercicio a tu entorno de desarrollo o laboratorio de red.
Comprueba endpoints HTTP/HTTPS verificando cabeceras, métodos y tiempos de respuesta:
curl -I https://api.ejemplo.com/v1/salud
curl -X POST https://api.ejemplo.com/v1/pedidos -H "Content-Type: application/json" -d "{\"producto\":42}"
wget --spider --server-response https://www.sitio.com/download.zip
Analiza el código de estado, los encabezados de caché, compresión y cookies. Con --trace-time en curl obtendras marcas temporales para identificar demoras.
Repite los flujos vistos en los temas de FTP y SFTP montando un laboratorio local:
ftp localhost
Name: demo
ftp> passive
ftp> put prueba.txt
ftp> get prueba.txt
sftp demo@localhost:/var/backups
sftp> put informe.csv
sftp> get log.txt
Documenta los puertos utilizados y registra con netstat o Get-NetTCPConnection cómo difieren los modos activo/pasivo y la encriptación.
Verifica el acceso remoto, la huella digital y los tĂșneles:
ssh -i ~/.ssh/lab_ed25519 admin@192.168.0.10 "hostname && uptime"
ssh -L 9000:intranet.local:443 admin@servidor.bastion
scp archivo.log admin@192.168.0.10:/var/logs/
Complementa el ejercicio con ssh-keyscan para obtener las huellas digitales y compararlas con las que entrega el servidor en la primera conexión.
Confirma que los registros DNS estén disponibles y coherentes:
dig www.ejemplo.com A +trace
dig MX ejemplo.com
nslookup -type=TXT ejemplo.com
Anota los TTL, verifica los registros MX y TXT (SPF, DKIM) y valida la resolución desde distintos servidores públicos para descartar caches locales.
Captura sesiones breves para observar los mensajes reales de cada protocolo:
sudo tcpdump -i eth0 port 53
sudo tcpdump -i eth0 port 80 -w http.pcap
Abre los archivos en Wireshark y revisa el handshake TCP, las cabeceras HTTP y las respuestas DNS. Usa filtros por protocolo (http, smtp, ssh) para concentrarte en el tráfico relevante.
Asegura que tus servicios presenten certificados vigentes y cadenas completas:
openssl s_client -connect www.ejemplo.com:443 -servername www.ejemplo.com
gnutls-cli www.ejemplo.com
Revisa las fechas de validez, el emisor y la configuración de cifrados. Complementa con Test-TlsConnection en PowerShell o scripts de Python que verifiquen la fecha de expiración.
Identifica rápidamente si los servicios están escuchando y accesibles:
nmap -p 22,25,80,443 servidor.ejemplo.com
Test-NetConnection -ComputerName servidor.ejemplo.com -Port 587
Acompaña los resultados con registros del firewall y herramientas de observabilidad para detectar bloqueos intermitentes o pérdida de paquetes.
Practica el uso de SMTP con comandos manuales o scripts:
telnet smtp.ejemplo.com 25
EHLO laboratorio
MAIL FROM:<alertas@laboratorio.com>
RCPT TO:<soporte@laboratorio.com>
DATA
Subject: Prueba laboratorio
Mensaje de test.
.
Luego automatiza la misma prueba con PowerShell (Send-MailMessage) o Python (smtplib) para comprobar la consistencia de resultados.
Verifica el correcto funcionamiento de FTP/SFTP/SCP midiendo tiempos y verificando checksums:
scp archivo.iso admin@backup.local:/mnt/backups/
md5sum archivo.iso
ssh admin@backup.local "md5sum /mnt/backups/archivo.iso"
Confirmar que los checksums coinciden garantiza que la transferencia fue exitosa. Repite la prueba con distintos tamaños y condiciones de red.
Integra varias pruebas en un script que puedas ejecutar a diario. Ejemplo en Python que consulta HTTP y DNS:
import requests
import dns.resolver
url = "https://www.ejemplo.com/health"
resp = requests.get(url, timeout=5)
print("HTTP", resp.status_code, resp.json())
resolver = dns.resolver.Resolver()
resolver.nameservers = ["8.8.8.8"]
respuesta = resolver.resolve("www.ejemplo.com", "A")
print("DNS", [r.address for r in respuesta])
Complementa el script con registros en archivos o dashboards para detectar tendencias y generar alertas automáticas cuando un servicio falle.