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

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

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

1 ответ1

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .