Engenharia reversa do protocolo inform da UniFi para roteamento multi-inquilino

✍️ OpenClawRadar📅 Publicado: March 9, 2026🔗 Source
Engenharia reversa do protocolo inform da UniFi para roteamento multi-inquilino
Ad

Estrutura do protocolo inform UniFi

Cada dispositivo UniFi (pontos de acesso, switches, gateways) se comunica com seu controlador via HTTP POST na porta 8080 a cada 10 segundos. Isso lida com estatísticas do dispositivo, sincronização de configuração, versões de firmware e contagens de clientes. Embora a carga útil seja criptografada com AES-128-CBC, o cabeçalho contém a identificação do dispositivo em texto simples.

Detalhes do cabeçalho do pacote

Os primeiros 40 bytes de cada pacote inform não são criptografados:

Deslocamento Tamanho Campo
────── ───── ──────────────────────────
0      4B    Mágico: "TNBU" (0x544E4255)
4      4B    Versão do pacote (atualmente 0)
8      6B    Endereço MAC do dispositivo
14     2B    Flags (criptografado, compactado, etc.)
16     2B    Comprimento do IV AES
18     16B   IV AES
34     4B    Versão dos dados
38     4B    Comprimento da carga útil
42+    var   Carga útil criptografada (AES-128-CBC)

O endereço MAC no deslocamento de byte 8 está completamente não criptografado. "TNBU" é "UBNT" ao contrário (símbolo de ticker da Ubiquiti e credenciais SSH padrão).

Ad

Extração de MAC e roteamento

A extração do MAC requer 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("não é um pacote inform")
}
mac := fmt.Sprintf("%02x:%02x:%02x:%02x:%02x:%02x", 
    header[8], header[9], header[10], 
    header[11], header[12], header[13])

Com o MAC em mãos, o roteamento se torna simples: mantenha uma tabela mapeando endereços MAC para inquilinos e, em seguida, encaminhe todo o pacote (cabeçalho e carga útil criptografada inalterados) para o backend correto. O proxy pode ser implementado em cerca de 200 linhas de Go com uma tabela de pesquisa MAC-para-inquilino na memória.

Visão geral das portas do controlador

Outras portas do controlador incluem:

  • 8443 TCP/HTTPS: Interface web e API
  • 3478 UDP: STUN
  • 6789 TCP: Teste de velocidade (interno)
  • 27117 TCP: MongoDB (interno)
  • 10001 UDP: Descoberta L2 (apenas local)

O roteamento baseado em MAC serve principalmente como um fallback para casos extremos, como dispositivos que ainda não foram reconfigurados ou dispositivos com reset de fábrica sendo readotados. Uma vez adotados, os dispositivos podem ser direcionados para subdomínios específicos do inquilino usando roteamento de cabeçalho Host padrão.

📖 Leia a fonte completa: HN AI Agents

Ad

👀 See Also

SkillMesh: Roteador Compatível com MCP para Grandes Catálogos de Ferramentas Reduz Tamanho do Contexto em 70%
Tools

SkillMesh: Roteador Compatível com MCP para Grandes Catálogos de Ferramentas Reduz Tamanho do Contexto em 70%

SkillMesh é um roteador compatível com MCP que recupera apenas os cartões de especialistas relevantes para consultas de agentes de IA, reduzindo o tamanho do contexto em 70% e melhorando a seleção de ferramentas. Ele suporta Claude via servidor MCP, pacotes de habilidades Codex e esquemas de função no estilo OpenAI.

OpenClawRadar
Lista selecionada de mais de 260 agentes e ferramentas de IA com foco em código aberto e auto-hospedagem
Tools

Lista selecionada de mais de 260 agentes e ferramentas de IA com foco em código aberto e auto-hospedagem

Um repositório abrangente do GitHub lista mais de 260 agentes e frameworks de IA, com ênfase em opções de código aberto, auto-hospedadas e locais, incluindo Ollama, OpenClaw e DeerFlow.

OpenClawRadar
Construindo um Ciclo de Sonhos Autossuficiente com Cron Jobs e Claude
Tools

Construindo um Ciclo de Sonhos Autossuficiente com Cron Jobs e Claude

Um desenvolvedor criou um ciclo de sonhos autônomo usando dois cron jobs: um às 22h30 para pesquisa e reflexão, e outro às 23h00 para revisão e planejamento. O sistema escaneia arXiv, GitHub trending e Reddit, identifica fraquezas e propõe melhorias concretas.

OpenClawRadar
Bespoke AI v0.8.1: Extensão de Autocompletar do VS Code para Código e Texto
Tools

Bespoke AI v0.8.1: Extensão de Autocompletar do VS Code para Código e Texto

Bespoke AI v0.8.1 é uma extensão do VS Code que fornece autocompletar tanto para código quanto para texto, aproveitando assinaturas do Claude Code via SDK do Agente da Anthropic para evitar cobranças de API enquanto suporta múltiplos backends incluindo Ollama.

OpenClawRadar