¿Viber está utilizando TCP para VoIP?
Viber está utilizando UPD y no TCP para el tráfico de VoIP. TCP se utiliza para mensajes de texto.
Viber usa RTP (y SRTP cuando está encriptado). RTP se implementa principalmente en UDP, ya que es un protocolo en tiempo real.
El flujo RTP de la llamada de audio o audio / video se convierte a SRTP y se cifra mediante el algoritmo Salsa20 utilizando la clave de sesión.
Descripción general del cifrado de Viber de origen
El uso de TCP y UDP se confirma en Viber Communication Security descifra los contenidos codificados , que solían tcpdump
generar .pcap
archivos para analizar el tráfico de datos de Viber:
Este parecía ser un buen punto de partida para obtener algunos resultados, por lo que filtramos los datos para obtener una transmisión de voz unidireccional con el siguiente comando:
tshark -r long-call.pcap -w long-call-oneway.pcap udp.dstport == 5243
Aquí seleccionamos solo los paquetes UDP con el puerto de destino para el servicio de Viber, por lo que solo está originando tráfico de voz.
...
Además de las llamadas de voz que Viber le permite hacer al usuario, también le permite enviar y recibir mensajes de texto. Esta funcionalidad utiliza algún protocolo especializado basado en TCP para conectarse al servidor e intercambiar mensajes . La decodificación de esta secuencia no ha sido una prioridad dentro de este proyecto y no quedaba tiempo para investigar más.
¿Qué puertos usa Viber?
Para que Viber Desktop se ejecute en su computadora, los siguientes puertos deben estar abiertos para todas las direcciones para TCP y UDP:
- 5242
- 4244
- 5243
- 9785
- 80
- 443
Puertos de apertura de origen para Viber Desktop