Viber использует TCP для VoIP?

В настоящее время я нахожусь в гостевом WiFi, где все порты, кроме тех, которые предназначены для серфинга в Интернете (80, 443, 8080) и почтовых сообщений (25, 110, 143, 465, 587, 993, 995), заблокированы (3128, похоже, тоже работает).

Я пытался разместить вызов FaceTime на своем iPhone, но это не сработало, что заставило меня предположить, что UDP тоже заблокирован. Тем не менее, приложение Viber смогло успешно подключиться и начать видеозвонок с достойным качеством / задержкой.

Мой вопрос сейчас, Viber использует TCP для VoIP или как это возможно?

1 ответ

Viber использует TCP для VoIP?

Viber использует UPD, а не TCP для трафика VoIP. TCP используется для обмена текстовыми сообщениями.

Viber использует RTPSRTP при шифровании). RTP в основном реализован на UDP, поскольку это протокол реального времени.

Поток RTP аудио- или аудио- / видеовызова преобразуется в SRTP и шифруется с помощью алгоритма Salsa20 с использованием ключа сеанса.

Обзор исходного кода Viber

Использование TCP и UDP подтверждается в Viber Communication Security для расшифровки зашифрованного содержимого, которое использовалось tcpdump чтобы генерировать .pcap файлы для анализа трафика данных Viber:

Это казалось хорошей отправной точкой для получения некоторых результатов, поэтому мы отфильтровали данные, чтобы получить односторонний голосовой поток, используя следующую команду:

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

Здесь мы выбираем только пакеты UDP с портом назначения для сервиса Viber, поэтому он только инициирует голосовой трафик.

...

Помимо голосовых вызовов, которые Viber позволяет пользователю делать, он также позволяет им отправлять и получать текстовые сообщения. Эта функциональность использует некоторый специализированный протокол на основе tcp для подключения к серверу и обмена сообщениями. Декодирование этого потока не было приоритетом в этом проекте, и у нас не было времени исследовать этот вопрос.


Какие порты использует Viber?

Чтобы Viber Desktop мог работать на вашем компьютере, должны быть открыты следующие порты для всех адресов как для TCP, так и для UDP:

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

Исходные порты открытия для Viber Desktop

Другие вопросы по тегам