WebRTC-Leaks testen und ICE-Kandidaten verstehen
WebRTC ermöglicht Audio, Video und direkte Datenverbindungen im Browser. Damit zwei Endpunkte einen geeigneten Netzwerkpfad finden, sammelt der Browser sogenannte ICE-Kandidaten. Je nach Browser, Netzwerk und Konfiguration können diese Kandidaten lokale Adressen, über STUN ermittelte öffentliche Adressen oder Adressen eines TURN-Relays enthalten.
Die W3C-Spezifikation weist ausdrücklich darauf hin, dass ICE-Adressen Informationen über Standort und Netzstruktur offenlegen und die Fingerprinting-Fläche vergrößern können. Moderne Browser begrenzen diese Offenlegung. Lokale Adressen werden häufig durch zufällige mDNS-Namen maskiert, und ein Browser kann Kandidaten filtern. Darum zeigt ein Test heute oft weniger als ältere Anleitungen im Netz erwarten lassen.
Für einen VPN-Test zählt nicht jede sichtbare Adresse als Leak. Private Bereiche wie 192.168.0.0/16 sind im öffentlichen Internet nicht routbar. Kritisch ist eine öffentliche Kandidatenadresse, die nicht zur normalen, über den Tunnel sichtbaren Ausgangsadresse gehört und sich Ihrem echten Anschluss zuordnen lässt. Das Ergebnis sollte vor und nach dem Aufbau des VPN verglichen werden.
Wenn keine abweichende Adresse erscheint, ist das ein gutes Ergebnis für diesen Browser, diesen Zeitpunkt und diese Netzkonfiguration. Es beweist nicht, dass jede WebRTC-Anwendung, jeder Browser oder jedes Netzwerk identisch reagiert. Wiederholen Sie den Test nach Browser-, VPN- und Betriebssystemupdates.
Messmethode und Grenzen des WebRTC-Tests
Das Tool erstellt eine lokale RTCPeerConnection, öffnet einen Datenkanal und sammelt drei Sekunden lang ICE-Kandidaten. Zur STUN-Ermittlung wird stun.l.google.com verwendet. Der Browser kontaktiert dabei einen von Google betriebenen STUN-Dienst. Die normale öffentliche IP liest das Tool separat über unseren Server aus.
Als Warnung markiert werden öffentliche Kandidaten, die von der serverseitig sichtbaren Adresse abweichen. Private Kandidaten werden getrennt angezeigt. mDNS-Namen und Kandidaten, die der Browser gar nicht an JavaScript ausliefert, kann der Test nicht auflösen. Auch eine TURN-only-Anwendung kann ein anderes Ergebnis liefern.