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

boxBot: Un altavoz inteligente de código abierto impulsado por Claude y Hailo AI
Herramientas

boxBot: Un altavoz inteligente de código abierto impulsado por Claude y Hailo AI

Un desarrollador construyó un altavoz inteligente llamado boxBot utilizando Claude para el control de hardware basado en agentes, Raspberry Pi, acelerador de IA Hailo y SDK personalizado, código abierto en GitHub.

OpenClawRadar
RCFlow: Orquestador de código abierto para Claude Code, Codex y OpenCode con gestión de múltiples sesiones
Herramientas

RCFlow: Orquestador de código abierto para Claude Code, Codex y OpenCode con gestión de múltiples sesiones

RCFlow es un orquestador AGPL v3 para agentes de codificación de IA (Claude Code, Codex, OpenCode) que proporciona una UI unificada para gestionar sesiones paralelas entre máquinas, con soporte de worktrees, planificación de tareas, seguimiento de artefactos y telemetría en vivo.

OpenClawRadar
Seis Repositorios de GitHub para el Desarrollo de Código con Claude
Herramientas

Seis Repositorios de GitHub para el Desarrollo de Código con Claude

Un usuario de Reddit probó y compartió seis repositorios de GitHub diseñados para mejorar proyectos de Claude Code, incluyendo herramientas para desarrollo estructurado, generación de interfaz de usuario, gestión de tareas, memoria, exploración del ecosistema y automatización de flujos de trabajo.

OpenClawRadar
RelayPlane Proxy de Código Abierto Muestra una Reducción del 73% en Costos con Enrutamiento del Modelo Claude
Herramientas

RelayPlane Proxy de Código Abierto Muestra una Reducción del 73% en Costos con Enrutamiento del Modelo Claude

RelayPlane, un proxy nativo de npm de código abierto para la API de Anthropic, demostró un ahorro de costos del 73,4% en pruebas comparativas al enrutar solicitudes a los modelos Claude apropiados según la complejidad. La herramienta redujo el costo por 10 solicitudes de $0,0323 a $0,0086 mientras mejoraba la latencia p50 de 1,55s a 0,78s.

OpenClawRadar