Ingeniería inversa del protocolo inform de UniFi para el enrutamiento multiinquilino

✍️ OpenClawRadar📅 Publicado: 9 de marzo de 2026🔗 Source
Ingeniería inversa del protocolo inform de UniFi para el enrutamiento multiinquilino
Ad

Estructura del protocolo inform de UniFi

Cada dispositivo UniFi (puntos de acceso, switches, gateways) se comunica con su controlador mediante HTTP POST al puerto 8080 cada 10 segundos. Esto maneja estadísticas del dispositivo, sincronización de configuración, versiones de firmware y recuentos de clientes. Aunque la carga útil está cifrada con AES-128-CBC, la cabecera contiene identificación del dispositivo en texto plano.

Detalles de la cabecera del paquete

Los primeros 40 bytes de cada paquete inform están sin cifrar:

Desplazamiento Tamaño Campo
────── ───── ──────────────────────────
0      4B    Magic: "TNBU" (0x544E4255)
4      4B    Versión del paquete (actualmente 0)
8      6B    Dirección MAC del dispositivo
14     2B    Banderas (cifrado, comprimido, etc.)
16     2B    Longitud del IV AES
18     16B   IV AES
34     4B    Versión de datos
38     4B    Longitud de la carga útil
42+    var   Carga útil cifrada (AES-128-CBC)

La dirección MAC en el desplazamiento de byte 8 está completamente sin cifrar. "TNBU" es "UBNT" al revés (símbolo bursátil de Ubiquiti y credenciales SSH por defecto).

Ad

Extracción de MAC y enrutamiento

Extraer la MAC requiere un código mínimo:

header := make([]byte, 40)
if _, err := io.ReadFull(conn, header); err != nil {
    return err
}
if string(header[0:4]) != "TNBU" {
    return fmt.Errorf("no es un paquete inform")
}
mac := fmt.Sprintf("%02x:%02x:%02x:%02x:%02x:%02x", 
    header[8], header[9], header[10], 
    header[11], header[12], header[13])

Con la MAC en mano, el enrutamiento se vuelve simple: mantener una tabla que mapee direcciones MAC a inquilinos, luego reenviar todo el paquete (cabecera y carga útil cifrada sin modificar) al backend correcto. El proxy se puede implementar en unas 200 líneas de Go con una tabla de búsqueda MAC-a-inquilino en memoria.

Resumen de puertos del controlador

Otros puertos del controlador incluyen:

  • 8443 TCP/HTTPS: Interfaz web y API
  • 3478 UDP: STUN
  • 6789 TCP: Prueba de velocidad (interno)
  • 27117 TCP: MongoDB (interno)
  • 10001 UDP: Descubrimiento L2 (solo local)

El enrutamiento basado en MAC sirve principalmente como respaldo para casos límite como dispositivos que aún no han sido reconfigurados o dispositivos restablecidos de fábrica que se readoptan. Una vez adoptados, los dispositivos pueden apuntarse a subdominios específicos del inquilino utilizando enrutamiento estándar de cabecera Host.

📖 Read the full source: HN AI Agents

Ad

👀 Ver también

Logira: Auditoría en Tiempo de Ejecución eBPF para Ejecuciones de Agentes de IA
Herramientas

Logira: Auditoría en Tiempo de Ejecución eBPF para Ejecuciones de Agentes de IA

Logira es una herramienta de línea de comandos (CLI) para Linux de solo observación que registra eventos de ejecución, archivos y red mediante eBPF durante la ejecución de agentes de IA, con almacenamiento local por ejecución en JSONL y SQLite y reglas de detección integradas para acceso a credenciales, cambios de persistencia y patrones sospechosos.

OpenClawRadar
Diseño de Arnes Multiagente de Anthropic para Mejorar la Calidad del Código de Claude
Herramientas

Diseño de Arnes Multiagente de Anthropic para Mejorar la Calidad del Código de Claude

La publicación del blog de Anthropic detalla un diseño de arnés que utiliza múltiples agentes para abordar la ansiedad de contexto y el sesgo de autoevaluación de Claude, con roles específicos de agentes y criterios de puntuación para el desarrollo frontend y full-stack.

OpenClawRadar
🦀
Herramientas

TextGen (text-generation-webui) se convierte en aplicación de escritorio nativa con compilaciones portátiles

TextGen, la alternativa de código abierto a LM Studio, ha evolucionado de una interfaz web a una aplicación de escritorio sin instalación para Windows, Linux y macOS con versiones portátiles, privacidad total y soporte de cuantización avanzada.

OpenClawRadar
AgentRoom: La aplicación de escritorio visualiza agentes de programación de IA como personajes de píxeles con búsqueda de sesiones.
Herramientas

AgentRoom: La aplicación de escritorio visualiza agentes de programación de IA como personajes de píxeles con búsqueda de sesiones.

AgentRoom es una aplicación de escritorio que convierte las sesiones de Claude Code, Codex y Gemini en personajes de píxeles animados en una oficina virtual, con búsqueda semántica de texto completo en todas las sesiones. El repositorio incluye una habilidad independiente de Claude Code para buscar sesiones anteriores desde cualquier conversación.

OpenClawRadar