Verwendet Viber TCP für VoIP?

4173
comfreak

Ich befinde mich derzeit auf einem Gast-WLAN, bei dem alle Ports außer denen zum Surfen im Internet (80, 443, 8080) und Mailing (25, 110, 143, 465, 587, 993, 995) blockiert sind (3128 scheint auch zu funktionieren ).

Ich habe versucht, einen FaceTime-Anruf auf meinem iPhone zu tätigen, aber das hat nicht funktioniert. Deshalb bin ich davon ausgegangen, dass auch UDP gesperrt ist. Die Viber-App konnte jedoch einen Videoanruf mit guter Qualität / Verzögerung erfolgreich verbinden und starten.

Meine Frage ist jetzt, verwendet Viber TCP für VoIP oder wie ist das möglich?

0
Mehr als wahrscheinlich; Ja; FaceTime verwendet es wahrscheinlich nur, aber an einem Port, der gesperrt ist. Viber verwendet wahrscheinlich nur 80/443. Skype verwendet auch TCP, aber das Unterstreichungsprotokoll wird nicht veröffentlicht Ramhound vor 7 Jahren 0
Hat Ihr "Blocked Ports" -Test tatsächlich UDP enthalten? Wenn Sie nur TCP-Ports getestet haben, sagt das nichts über die UDP-Verfügbarkeit aus, da die beiden Protokolle ihre eigenen Portzuweisungen haben und unabhängig voneinander gefiltert werden können. (Einige Firewalls bieten ein "TCP / UDP" -Makro, aber das ist alles, was es ist.) grawity vor 7 Jahren 1
@Grawity Das ist ein guter Punkt. Ich habe keinen Testserver gefunden, gegen den UDP getestet werden konnte. Daher war mein Test auf TCP beschränkt (über portquiz.net). comfreak vor 7 Jahren 0
@ Ramhound Siehe meine Antwort für die Ports, die Viber tatsächlich benötigt (mehr als nur 80/443). DavidPostill vor 7 Jahren 0

1 Antwort auf die Frage

0
DavidPostill

Verwendet Viber TCP für VoIP?

Viber verwendet UPD und nicht TCP für VoIP-Verkehr. TCP wird für Textnachrichten verwendet.

Viber verwendet RTP (und SRTP, wenn verschlüsselt). RTP wird hauptsächlich auf UDP implementiert, da es sich um ein Echtzeitprotokoll handelt.

Der RTP-Stream des Audio- oder Audio / Video-Anrufs wird in SRTP konvertiert und mithilfe des Salsa20-Algorithmus unter Verwendung des Sitzungsschlüssels verschlüsselt.

Quell- Viber-Verschlüsselung - Übersicht

Die Verwendung von sowohl TCP als auch UDP wird in Viber Communication Security bestätigt, um die verschlüsselten Inhalte zu entschlüsseln, die tcpdumpzum Generieren von .pcapDateien zur Analyse des Viber-Datenverkehrs verwendet wurden:

Dies schien ein guter Ausgangspunkt zu sein, um einige Ergebnisse zu erhalten. Daher haben wir die Daten mit dem folgenden Befehl gefiltert, um einen Einweg-Sprachstrom zu erhalten:

 tshark -r long-call.pcap -w long-call-oneway.pcap udp.dstport == 5243 

Hier wählen wir nur die UDP-Pakete mit dem Zielport für den Viber-Dienst aus, sodass nur Sprachverkehr entsteht.

...

Neben den Sprachanrufen, die Viber dem Benutzer ermöglicht, können auch Kurzmitteilungen gesendet und empfangen werden. Diese Funktionalität verwendet ein spezielles TCP-basiertes Protokoll, um eine Verbindung zum Server herzustellen und Nachrichten auszutauschen . Die Dekodierung dieses Streams hatte in diesem Projekt keine Priorität und es blieb keine Zeit mehr, dies weiter zu erforschen.


Welche Ports verwendet Viber?

Damit Viber Desktop auf Ihrem Computer ausgeführt werden kann, müssen die folgenden Ports für alle Adressen sowohl für TCP als auch für UDP geöffnet sein:

  • 5242
  • 4244
  • 5243
  • 9785
  • 80
  • 443

Quelle Öffnen von Ports für Viber Desktop

Mit anderen Worten, wenn UDP blockiert ist, sollte kein Anruf möglich sein. Daher muss UDP im Gastnetzwerk auf den Ports arbeiten, die Viber verwendet. comfreak vor 7 Jahren 0
Ich denke das ist richtig. Siehe aktualisierte Antwort mit einer Liste der erforderlichen Ports (an diesen Ports sind sowohl UDP als auch TCP erforderlich). DavidPostill vor 7 Jahren 0
Mein erfolgreicher Anruf bedeutet aber auch, dass Viber nur 80 oder 443 (oder beides) benötigt, um zu funktionieren (zumindest für die TCP-Seite). Nach dem, was ich auf den verlinkten Websites gelesen habe, scheint RTP * normalerweise * in UDP implementiert zu sein. Dies schließt jedoch nicht aus, dass Viber keinen Backup-Service für TCP hat. Ich würde auf UDP-Ports testen, aber ich kenne kein Ziel, mit dem Sie mit nmap testen können. comfreak vor 7 Jahren 0
Versuchen Sie einen [UDP-Geschwindigkeitstest] (http://testmy.net/hoststats/udp) - der sollte Ihnen sagen, ob UDP blockiert ist :) DavidPostill vor 7 Jahren 0
uPNP ist möglicherweise offen, sodass einige UDP-Ports verwendet werden können. LPChip vor 7 Jahren 1
@comfreak Die Antwort wurde mit neuen Informationen aktualisiert. Es scheint, dass UDP für VoIP-Verkehr und TCP für SMS verwendet wird. DavidPostill vor 7 Jahren 0
@comfreak Benötigen Sie weitere Hilfe? Wenn dies für Sie hilfreich war und Ihre Frage beantwortet hat, vergessen Sie nicht, sie zu bestätigen. DavidPostill vor 7 Jahren 0
Der UDP-Geschwindigkeitstest funktioniert für mich nicht wirklich, die Website scheint nicht vollständig geladen zu werden. Ich habe aber in der Zwischenzeit versucht, ein Wireshark-Capture zu starten, und versuchte, eine Verbindung zu meinem IPSec-VPN herzustellen (was fehlschlägt). Ich bekomme eine ICMP-Antwort mit der Nachricht "Ziel nicht erreichbar (Kommunikation administrativ gefiltert)". Das Gleiche passiert offensichtlicher, wenn ich versuche, eine Traceroute auszuführen, wobei das Gateway am Router des Gast-WiFi den gleichen Fehler "! X" anzeigt. Meine Annahme ist also, dass direktes UDP nicht funktioniert. Der uPNP-Port des Routers scheint ebenfalls gefiltert zu sein. comfreak vor 7 Jahren 0
@comfreak Von welchem ​​Betriebssystem hast du traceroute? Windows verwendet kein UDP für Traceroute. Es verwendet ICMP (Linux verwendet UDP). DavidPostill vor 7 Jahren 0
@DavidPostill Ich habe macOS verwendet, das UDP verwendet. Wenn ich mit ICMP-Paketen teste, funktioniert der Traceroute. comfreak vor 7 Jahren 0
@comfreak Dann habe ich keine Ideen mehr. Ich schlage vor, Sie bitten Viber um eine endgültige Antwort. DavidPostill vor 7 Jahren 0