Viber использует TCP для VoIP?
Viber использует UPD, а не TCP для трафика VoIP. TCP используется для обмена текстовыми сообщениями.
Viber использует RTP (и SRTP при шифровании). RTP в основном реализован на UDP, так как это протокол реального времени.
Поток RTP аудио- или аудио- / видеовызова преобразуется в SRTP и шифруется с помощью алгоритма Salsa20 с использованием ключа сеанса.
Использование 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