Rétro-ingénierie du protocole inform UniFi pour le routage multi-locataire

✍️ OpenClawRadar📅 Publié: March 9, 2026🔗 Source
Rétro-ingénierie du protocole inform UniFi pour le routage multi-locataire
Ad

Structure du protocole UniFi inform

Chaque appareil UniFi (points d'accès, commutateurs, passerelles) contacte son contrôleur via HTTP POST sur le port 8080 toutes les 10 secondes. Cela gère les statistiques des appareils, la synchronisation des configurations, les versions du micrologiciel et le nombre de clients. Bien que la charge utile soit chiffrée en AES-128-CBC, l'en-tête contient l'identification de l'appareil en texte clair.

Détails de l'en-tête des paquets

Les 40 premiers octets de chaque paquet inform sont non chiffrés :

Décalage Taille Champ
────── ───── ──────────────────────────
0      4B    Magique : "TNBU" (0x544E4255)
4      4B    Version du paquet (actuellement 0)
8      6B    Adresse MAC de l'appareil
14     2B    Drapeaux (chiffré, compressé, etc.)
16     2B    Longueur du vecteur d'initialisation AES
18     16B   Vecteur d'initialisation AES
34     4B    Version des données
38     4B    Longueur de la charge utile
42+    var   Charge utile chiffrée (AES-128-CBC)

L'adresse MAC au décalage d'octet 8 est complètement non chiffrée. "TNBU" est "UBNT" à l'envers (symbole boursier d'Ubiquiti et identifiants SSH par défaut).

Ad

Extraction de l'adresse MAC et routage

L'extraction de l'adresse MAC nécessite un code minimal :

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

Avec l'adresse MAC en main, le routage devient simple : maintenez une table faisant correspondre les adresses MAC aux locataires, puis transférez l'intégralité du paquet (en-tête et charge utile chiffrée inchangés) vers le backend correct. Le proxy peut être implémenté en environ 200 lignes de Go avec une table de recherche MAC-vers-locataire en mémoire.

Aperçu des ports du contrôleur

Les autres ports du contrôleur incluent :

  • 8443 TCP/HTTPS : Interface web et API
  • 3478 UDP : STUN
  • 6789 TCP : Test de vitesse (interne)
  • 27117 TCP : MongoDB (interne)
  • 10001 UDP : Découverte L2 (local uniquement)

Le routage basé sur l'adresse MAC sert principalement de solution de secours pour des cas particuliers, comme les appareils qui n'ont pas encore été reconfigurés ou les appareils réinitialisés d'usine en cours de réadoption. Une fois adoptés, les appareils peuvent être dirigés vers des sous-domaines spécifiques aux locataires en utilisant le routage standard de l'en-tête Host.

📖 Lire la source complète : HN AI Agents

Ad

👀 See Also

Microsoft VibeVoice : modèles ASR de 60 min et TTS de 90 min open-sourcés
Tools

Microsoft VibeVoice : modèles ASR de 60 min et TTS de 90 min open-sourcés

VibeVoice est une famille de modèles de voix IA open-source de Microsoft incluant ASR (60 minutes en un seul passage, diarisation des locuteurs, plus de 50 langues) et TTS (90 minutes multi-locuteur, streaming en temps réel). Utilise des tokenizers de parole continus à 7,5 Hz et une diffusion de prochain token.

OpenClawRadar
Résultats de référence des tests APEX : Performance de Qwen 3.5 sur des tâches de codage réelles
Tools

Résultats de référence des tests APEX : Performance de Qwen 3.5 sur des tâches de codage réelles

Les résultats du benchmark APEX Testing montrent les performances des modèles Qwen 3.5 sur 70 tâches de codage réelles issues de GitHub, avec la version 397B qui chute à 1194 ELO sur les tâches de niveau maître, tandis que GLM-4.7 quantifié mène les modèles locaux avec 1572 ELO.

OpenClawRadar
Plugin Officiel Claude Code pour Telegram : Notes d'Installation et Migration depuis OpenClaw
Tools

Plugin Officiel Claude Code pour Telegram : Notes d'Installation et Migration depuis OpenClaw

Un développeur a migré d'OpenClaw vers l'intégration officielle Telegram de Claude Code, documentant le processus de configuration et créant une compétence de migration open-source. L'intégration se connecte via des jetons BotFather et offre une meilleure efficacité des jetons et une communication plus claire.

OpenClawRadar
Plugin d'Excellence Créative pour Claude Code Améliore la Qualité d'Animation avec une Thèse d'Interaction
Tools

Plugin d'Excellence Créative pour Claude Code Améliore la Qualité d'Animation avec une Thèse d'Interaction

Un nouveau plugin open-source pour Claude Code aborde la génération d'animations génériques en mettant en œuvre une approche de 'thèse d'interaction' où Claude doit décrire les concepts de mouvement avant de coder. Le plugin inclut 8 sous-compétences couvrant GSAP, Framer Motion, les animations CSS et les principes de conception issus de dépôts étudiés.

OpenClawRadar