Viber 是否使用 TCP 进行 VoIP?

Viber 是否使用 TCP 进行 VoIP?

我目前使用访客 WiFi,其中除用于上网(80、443、8080)和邮件(25、110、143、465、587、993、995)的端口之外的所有端口均被阻止(3128 似乎也能正常工作)。

我尝试在 iPhone 上拨打 Facetime 电话,但没有成功,这让我认为 UDP 也被阻止了。

但是,Viber 应用程序能够成功连接并开始视频通话,并且质量/延迟还不错。

我现在的问题是,Viber 是否使用 TCP 进行 VoIP 或者这是如何可能的?

答案1

Viber 是否使用 TCP 进行 VoIP?

Viber 使用 UPD 而不是 TCP 进行 VoIP 通信。TCP 用于文本消息传递。

Viber 用途实时协议(和安全传输协议加密时)。RTP 主要在 UDP 上实现,因为它是一种实时协议。

音频或音视频通话的RTP流转换为SRTP,并使用会话密钥通过Salsa20算法加密。

来源Viber 加密概述

TCP 和 UDP 的使用已得到确认Viber 通讯安全解密加密内容,用于tcpdump生成.pcap文件来分析Viber数据流量:

这似乎是获得一些结果的一个很好的起点,因此我们使用以下命令过滤数据以获取单向语音流:

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 Desktop 打开端口

相关内容