VMess, das Original-Protokoll von V2Ray: UUID-Anmeldungen, eine 90-Sekunden-Uhr und der Wechsel zu VLESS
Von 534 Privatkunden-VPNs in unseren Daten geben 114 an, keinen anzubieten. Unten: die Dienste, die dafür am höchsten ranken.
VMess ist das verschlüsselte Proxy-Protokoll, das V2Ray (Project V) von Anfang an mitlieferte. Authentifizierung, Zieladresse, Chiffrenauswahl und die Daten selbst reisen alle in der allerersten Anfrage, identifiziert durch eine UUID; jeder Header trägt einen Zeitstempel, und der Server weist den Client zurück, wenn die Uhren auf beiden Seiten um mehr als etwa 90 Sekunden abweichen. Es ist ein Proxy-Protokoll für V2Ray-familien-Cores und -Apps, kein eigenständiges VPN.
Wie eine VMess-Anfrage aufgebaut und geprüft wird
Das Protokoll ist zustandslos: Kein Handshake-Roundtrip geht dem echten Datenverkehr voraus. Das erste Paket enthält bereits den Identitätsnachweis, die Zieladresse und den Port, ein TCP- oder UDP-Kommando, die gewählte Chiffre und den Anfang der Nutzdaten, während die Antwort ein eigenes Format verwendet. Die UUID, ein 16 Byte großer Zufallswert, dient als Shared Secret, und die Verschlüsselungsschlüssel des Headers werden daraus abgeleitet. Ein einziges falsches Zeichen in dieser Zeichenkette, und der Server verwirft alles stillschweigend.
Die Chiffre für die Nutzdaten wird auf dem Client festgelegt. Die Standardeinstellung „auto“ wählt AES-128-GCM auf 64-Bit-x86 und ARM, andernfalls ChaCha20-Poly1305; „none“ und „zero“ deaktivieren die Nutzdaten-Verschlüsselung, wobei der Header geschützt bleibt. Header gibt es in zwei Generationen. Das veraltete MD5-Format, aufgebaut auf HMAC-MD5 aus UUID und Zeit mit einem an alterId gebundenen AES-128-CFB-Befehlsteil, wurde nach 2020 als überholt eingestuft, als Forscher Schwächen veröffentlichten, die eine aktive Sondierung zur Erkennung ermöglichten. Der AEAD-Header, verschlüsselt mit AES-128-GCM, beginnt mit einer Authentifizierungs-ID, die den Zeitstempel, einen Zufallswert und eine CRC-Prüfsumme trägt; alterId 0 wählt ihn auf jeder aktuellen Installation. Die vollständigen Details finden sich in der offiziellen VMess-Protokollspezifikation. Das Protokoll kann zudem Paketlängen verschleiern, zufälliges Padding hinzufügen und den Client anweisen, für eine bestimmte Anzahl von Minuten zu einem dynamischen Port zu wechseln.
Warum die Uhren höchstens 90 Sekunden voneinander abweichen dürfen
Jeder Anfrage-Header trägt einen Unix-Zeitstempel, und der Server weist Anfragen zurück, die zu weit von seiner eigenen Uhr entfernt liegen. Nur UTC zählt, nicht die Zeitzone. Das typische Symptom: Der Client „verbindet“, aber nichts lädt, und das Server-Log zeigt einen ungültigen Benutzer oder einen Header-Fehler. Aktivieren Sie die automatische Zeitsynchronisation (NTP) auf beiden Seiten, bevor Sie der Konfiguration die Schuld geben.
VMess über TCP, WebSocket und gRPC, mit oder ohne TLS
VMess selbst legt nur fest, wie Nachrichten aussehen; der Core entscheidet, wie die Bytes reisen. TLS ergänzt das Protokoll um ein echtes Zertifikat und ein HTTPS-Erscheinungsbild, doch dann werden die Daten doppelt verschlüsselt, und WebSocket fügt zusätzlich einen weiteren Roundtrip hinzu.
| Transport | Was ein Beobachter sieht | Wo es passt |
|---|---|---|
| Raw TCP, ohne TLS | Zufällig wirkender Byte-Strom | Schnelle Tests auf unfilterten Netzwerken |
| WebSocket + TLS | Ein Socket auf einer normalen HTTPS-Website | Hinter nginx oder einem CDN an Port 443 |
| gRPC + TLS | HTTP/2-Streams zu einem Webdienst | CDNs, die gRPC durchlassen, parallele Streams |
mKCP, HTTP/2 und QUIC sind ebenfalls als Transporte verfügbar, mit oder ohne TLS.
Warum VLESS VMess verdrängt
Packt man VMess in TLS, findet die Verschlüsselung doppelt statt, was die Prozessoren günstiger Router und älterer Smartphones zusätzlich belastet. VLESS, in Xray weiterentwickelt, hat keine eigene Chiffre und überlässt den Schutz TLS oder VLESS mit Reality, und es enthält keine Zeitstempel-Prüfung, die durch Uhrabweichungen brechen könnte. Das größere Problem ist die Erkennbarkeit: Eine USENIX-Security-Studie von 2023 beschrieb, wie die Great Firewall vollständig verschlüsselte Streams markiert, und VMess ohne zusätzliche Tarnung erzeugt genau diese Signatur. Server, die noch den MD5-Header verwendeten, waren aktiven Sondierungen ausgesetzt. Der XTLS-Vision-Flow funktioniert nur mit VLESS, und Reality-Setups in Xray sind auf VLESS ausgelegt.
Wo VMess noch auftaucht
Es bleibt ein Standard-Inbound auf älteren und einfacheren Servern. Xray-core, der v2fly-Core und sing-box unterstützen es weiterhin, und der Unterschied zwischen den Projekten Xray und V2Ray wird in einem separaten Glossar-Eintrag behandelt. Client-Apps wie v2rayN, v2rayNG, Shadowrocket, Hiddify, NekoBox und die Clash-Familie (mihomo) führen es neben Trojan und Shadowsocks. Panels wie 3X-UI und Marzban bieten es unter ihren Inbound-Typen an, und kostenlose Konfigurationslisten sind voll von VMess über WebSocket, weil diese Profile hinter einem CDN mit minimalem Einrichtungsaufwand funktionieren. Bei den VPN-Anbietern ist der Anteil bescheiden: Im Hauptranking von VPNRadarLab mit 371 Diensten geben 17 an, VMess zu unterstützen, 96 sagen, sie täten es nicht, und 264 veröffentlichen dazu nichts (Schweigen in der Funktionsliste einer Website bedeutet nicht, dass das Protokoll fehlt). IVPN führt V2Ray VMess über QUIC oder TCP als Verschleierungsoption, und TorGuard und StelsVPN nennen es neben VLESS, Trojan und Shadowsocks. Die vollständige Liste der Dienste und Apps finden Sie auf der VMess-Ranking-Seite.
VMess-FAQ
Ist VMess ein VPN?
Nein. Es leitet den Datenverkehr von Apps, die den lokalen Port verwenden, über einen Proxy weiter; die Anbindung eines ganzen Geräts erfordert den TUN-Modus des Clients.
Ist VMess noch sicher zu verwenden?
Mit AEAD-Headern und TLS obendrauf hält die Kryptografie. Die Schwäche der unverhüllten Variante liegt inzwischen darin, dass DPI sie erkennen kann.
Braucht VMess eine Domain und ein Zertifikat?
Nur wenn Sie TLS hinzufügen, was sich auf jedem gefilterten Netzwerk ohnehin empfiehlt.
VMess in wenigen Zeilen
VMess identifiziert sich über eine UUID, übernimmt Header- und Nutzdaten-Verschlüsselung selbst und benötigt Uhren, die höchstens um etwa 90 Sekunden voneinander abweichen. Lassen Sie alterId auf null für den AEAD-Header, stellen Sie die Chiffre auf auto, aktivieren Sie NTP und verwenden Sie einen TLS-Transport auf gefilterten Netzwerken. Für neue Setups ist VLESS leichtgewichtiger und schwerer zu erkennen; VMess lebt weiter auf älteren Servern, in kostenlosen Konfigurationen, Panels und einer Handvoll Anbieter-Featurelisten.