WaWeb canonical pipeline
Do socket à mensagem
Como o WhatsApp Web sai do nada e chega a mandar e receber uma mensagem: abre um canal seguro, pede autorização ao celular principal, autentica a sessão, baixa o estado da conta e troca mensagens.
Fluxo visual do pipeline
Mapa navegável do processo completo. Clique em qualquer caixa para abrir a página interna correspondente ao bloco analítico.
Como ler este relatório
O fluxo tem três níveis ao mesmo tempo. O WebSocket carrega frames binários; alguns frames viram stanzas, que são as mensagens estruturadas do protocolo; o relatório usa a sequência do pipeline para preservar a ordem exata em que tudo aconteceu.
Número do evento na linha do tempo completa. Inclui transporte, frames, Noise e stanzas.
C → S é cliente para servidor. S → C é servidor para cliente.
Pacote binário bruto que passa pelo WebSocket. Antes da primeira stanza, ele é usado pelo Noise.
Mensagem estruturada do WhatsApp. Tem direção, tag, atributos e filhos.
Noise protege o canal WebSocket. Signal protege o conteúdo das mensagens ponta a ponta.
Observado vem direto da captura. Inferido é interpretação do papel daquele evento no fluxo.
Ver linha narrativa e exemplo seguro
tag: message direção: recv attrs: [from, id, type] children: [enc, reporting] valores reais: ocultos
Mapa visual do fluxo
ws-1 · HTTP upgrade · 101
O navegador chama o servidor do WhatsApp e mantém uma linha aberta para trocar dados.
Ver detalhes desta etapaframe sent · 43B
O navegador manda um primeiro cumprimento cifrado com uma chave descartável.
Ver detalhes desta etapaframe recv · 350B
O servidor devolve sua parte para os dois lados fecharem o canal seguro.
Ver detalhes desta etapaframe sent · 372B
O navegador conclui a negociação. A partir daqui as stanzas trafegam cifradas.
Ver detalhes desta etaparecv iq · pair-device
Primeiro nó WAP decodificado depois do canal seguro abrir.
Ver detalhes desta etapaS → C · refs de pareamento
O servidor manda referências temporárias para combinar com o celular principal.
Ver detalhes desta etapaC → S · stage + JID/chaves
O navegador se apresenta em etapas e envia suas chaves de identidade.
Ver detalhes desta etapaS → C · country_code + ref
O servidor informa o país do número e devolve uma nova referência.
Ver detalhes desta etapaS → C · notification; depois C → S · ack
O celular principal entra na conversa; o navegador confirma que recebeu.
Ver detalhes desta etapaS → C · pair-success; depois C → S · pair-device-sign
O servidor autoriza o novo aparelho; o navegador assina como prova.
Ver detalhes desta etapastream:error · xmlstreamend
O servidor encerra o canal antigo. A sessão real entra no canal seguinte.
Ver detalhes desta etapaws-4 · reconexão autenticada
O navegador abre nova conexão com os dados combinados no pareamento.
Ver detalhes desta etapaC → S · sessão registrada
O navegador entrega ao servidor as credenciais da sessão recém-criada.
Ver detalhes desta etapaS → C · lid, props, companion key
O servidor aceita a entrada e devolve identidade e regras de uso.
Ver detalhes desta etapamedia_conn · props · edge_routing
O navegador pergunta por onde mandar mídia, quais regras valem e onde estão os servidores.
Ver detalhes desta etaparegistration · identity · skey
O navegador envia chaves descartáveis usadas para cifrar conversas futuras.
Ver detalhes desta etapaprivacy · tos · notices
O servidor entrega termos, privacidade e avisos que fazem parte do estado da conta.
Ver detalhes desta etapaactive · usync · offline · devices
O navegador descobre aparelhos vinculados e baixa mensagens que chegaram antes dele.
Ver detalhes desta etapapicture · business_profile · tokens · key
O navegador puxa foto, perfil, tokens e chaves vigentes antes do envio.
Ver detalhes desta etapacontexto externo · não é stanza
O celular auxiliar dispara a mensagem que aparecerá no WebSocket.
Ver detalhes desta etapastanza 200 · enc + url_text + url_number + reporting
Chega uma mensagem cifrada; o texto real só existiria depois de decifrar.
Ver detalhes desta etapausync · identity · final list
Antes de encerrar a captura, o navegador confere identidades e contatos.
Ver detalhes desta etapa