ViberはVoIPにTCPを使用していますか?
Viberは、VoIPトラフィックにTCPではなくUPDを使用しています。TCPはテキストメッセージングに使用されます。
ViberはRTP(および暗号化されている場合はSRTP)を使用します。RTPは、リアルタイムプロトコルであるため、ほとんどがUDPで実装されます。
オーディオまたはオーディオ/ビデオコールのRTPストリームはSRTPに変換され、セッションキーを使用してSalsa20アルゴリズムを介して暗号化されます。
ソースViber暗号化の概要
TCPとUDPの両方の使用は、Viber Communication Securityでスクランブルされたコンテンツのスクランブルを解除し、Viberデータトラフィックを分析するためのファイルをtcpdump
生成.pcap
するために使用されます。
これはいくつかの結果を得るための良い出発点のように思えたので、次のコマンドを使用してデータをフィルター処理して一方向の音声ストリームを取得しました。
tshark -r long-call.pcap -w long-call-oneway.pcap udp.dstport == 5243
ここでは、Viberサービスの宛先ポートを持つUDPパケットのみを選択するため、音声トラフィックのみが発信されます。
...
Viberを使用すると、ユーザーは音声通話を行うことができますが、テキストメッセージを送受信することもできます。この機能では、特殊なtcpベースのプロトコルを使用してサーバーに接続し、メッセージを交換します。このプロジェクトでは、このストリームのデコードは優先事項ではなく、これをさらに調査する時間はありませんでした。
Viberはどのポートを使用しますか?
Viber Desktopをコンピューターで実行するには、TCPとUDPの両方のすべてのアドレスに対して次のポートを開く必要があります。
- 5242
- 4244
- 5243
- 9785
- 80
- 443
Viberデスクトップのソースオープニングポート