Para consolidar los conceptos anteriores, reunimos pruebas rápidas que podés realizar con herramientas gratuitas. Cada ejercicio apunta a validar visualmente cómo operan HTTP/2, HTTP/3, WebSocket, DoH/DoT, MQTT y mDNS en entornos reales.
Usaremos las DevTools de Chrome o Edge, aunque el procedimiento es similar en Firefox:
https://www.cloudflare.com.https://www.youtube.com notarás “h3” para las solicitudes principales.
También podés usar curl -I --http3 https://www.youtube.com para confirmar la negociación desde línea de comandos.
Si tenés Node.js instalado, la utilidad wscat permite conectarte a un eco público:
npm install -g wscat
wscat -c wss://echo.websocket.events
Escribí cualquier texto y deberías recibir el mismo mensaje como respuesta. Si preferís código en el navegador:
const ws = new WebSocket("wss://echo.websocket.events");
ws.onopen = () => ws.send("Hola WebSocket");
ws.onmessage = (evt) => console.log("Eco:", evt.data);
El objetivo es verificar el flujo de apertura, envío y recepción en un canal persistente.
Repetimos la consulta DNS usando DoH y DoT para observar la diferencia respecto al puerto 53 tradicional:
# DoH contra Cloudflare
curl -H "accept: application/dns-json" \
"https://cloudflare-dns.com/dns-query?name=www.ejemplo.com&type=A"
# DoT usando openssl s_client (opcional)
openssl s_client -connect dns.google:853 -quiet <<'EOF'
GET /dns-query?name=www.ejemplo.com&type=A HTTP/1.1
Host: dns.google
Accept: application/dns-message
EOF
Compará el resultado con un nslookup www.ejemplo.com tradicional y notarás que la respuesta cifrada contiene la misma información sin exponerla a terceros.
El broker de prueba test.mosquitto.org nos permite practicar sin montar infraestructura:
# Ventana 1: suscribirse a un topic
mosquitto_sub -h test.mosquitto.org -t "labs/demo/temperatura" -v
# Ventana 2: publicar datos simulados cada 5 segundos
while true; do
mosquitto_pub -h test.mosquitto.org -t "labs/demo/temperatura" -m "$(date +%T) - 24.$((RANDOM%5))"
sleep 5
done
Observá cómo la ventana suscrita recibe cada mensaje en tiempo real, incluso si reiniciás la sesión del publicador.
Para este ejercicio necesitás Linux o macOS con soporte mDNS.
El comando avahi-browse lista todos los servicios anunciados en la red local:
# Mostrar servicios en tiempo real
avahi-browse -art
# Ver detalles de un servicio específico, por ejemplo AirPlay
avahi-browse _airplay._tcp --resolve
Los servicios aparecen con su nombre .local, IP, puerto y atributos adicionales definidos mediante DNS-SD.
Si no ves resultados, verificá que la red permita tráfico multicast (224.0.0.251).