Captura no Android
Capturar HTTPS no Android com um proxy costuma emperrar em “o certificado está instalado, mas o app ainda não o aceita”. Nos sistemas mais novos, os apps não confiam em certificados de usuário por padrão, e os apps com fixação de certificado não podem ser capturados de forma alguma. A captura no Android segue uma abordagem diferente: captura do dispositivo inteiro com descriptografia automática, e sem nunca precisar instalar um certificado no telefone. Dispositivos físicos e emuladores são ambos suportados, e mesmo os apps com fixação de certificado ou criptografia personalizada têm seu texto claro lido por dentro.
1. Preparação comum
Seção intitulada “1. Preparação comum”- Conecte o dispositivo: conecte-o ao computador com um cabo de dados e ative a depuração USB; os emuladores costumam ser detectados automaticamente.
- Root necessário: os três métodos exigem um dispositivo com root.
- Nenhum certificado para instalar: nenhum deles é um método de proxy intermediário, então não há certificado para instalar no telefone, e é exatamente por isso que eles são mais sem complicação do que a captura por proxy no Android. Quando um certificado for necessário, um dispositivo com root também pode instalar o certificado confiável automaticamente, poupando você dos passos manuais.
- Funciona de imediato: os componentes auxiliares necessários para a captura são baixados e armazenados em cache automaticamente conforme a arquitetura do dispositivo, sem qualquer configuração manual de ambiente da sua parte.
2. Captura em emulador
Seção intitulada “2. Captura em emulador”Capturar o tráfego dentro de um emulador Android no computador é quase igual a capturar um dispositivo físico, e muitas vezes até mais simples:
- Detectado automaticamente: emuladores das marcas comuns são descobertos automaticamente, sem cabo de dados e sem conexão manual (apenas dispositivos físicos precisam de USB).
- Normalmente já com root: os emuladores geralmente já vêm com root ou podem receber root com um clique, o que satisfaz de forma conveniente o requisito de captura.
- Prefira a “chave da NIC”: o kernel do sistema de um emulador costuma ser mais antigo e pode não suportar a “captura na NIC”, então basta escolher a chave da NIC, que tem a melhor compatibilidade com emuladores.
Todo o resto é igual ao de um dispositivo físico: selecione o dispositivo do emulador e capture usando os métodos abaixo.
3. Como escolher entre os três métodos
Seção intitulada “3. Como escolher entre os três métodos”| Sua situação | Qual usar | Observações |
|---|---|---|
| Dispositivo mais antigo / emulador / não tem certeza de quão novo é | Chave da NIC (padrão recomendado) | Melhor compatibilidade; funciona em quase qualquer dispositivo com root |
| Um dispositivo físico mais novo com root | Captura na NIC | Mais fácil, autossuficiente |
| Só se importa com um app, ou ele não pode ser descriptografado no modo NIC | Captura na camada de aplicação | Lê o texto claro de dentro do app, lidando com a fixação de certificado / criptografia personalizada |
Os dois primeiros são captura do dispositivo inteiro com descriptografia automática e sem certificado para instalar; o terceiro é voltado a um único app e dá conta até dos mais fortemente blindados.
4. Chave da NIC (padrão recomendado)
Seção intitulada “4. Chave da NIC (padrão recomendado)”Capture todo o tráfego na NIC do dispositivo (Wi-Fi por padrão) e descriptografe-o automaticamente, sem precisar escolher um app específico e sem certificado para instalar.
- Melhor compatibilidade: ela não é exigente quanto ao kernel, e dispositivos mais antigos e diversos emuladores funcionam todos, que é a sua maior vantagem sobre a captura na NIC. Quando você não tiver certeza de quão novo é o dispositivo, esta é a escolha mais segura.
- Alguns poucos apps podem mostrar só texto cifrado: apps isolados que agregam componentes de criptografia fora do padrão podem ter tráfego que não pode ser descriptografado; nesse caso, mude para a captura na camada de aplicação abaixo para tratá-lo com precisão.
Como usar: selecione o dispositivo → selecione a NIC (Wi-Fi por padrão) → inicie a captura.
5. Captura na NIC
Seção intitulada “5. Captura na NIC”Também captura todo o tráfego na NIC do dispositivo e o descriptografa automaticamente. O que a diferencia é que ela é autossuficiente e a mais fácil de usar (os dados e a informação necessária para descriptografá-los são empacotados juntos).
- Pré-requisito: exige um dispositivo mais novo (kernel mais novo). Se o dispositivo for antigo demais para se qualificar, você receberá uma mensagem clara de “captura na NIC não suportada” ao iniciar a captura; basta mudar para a chave da NIC então.
Como usar: selecione o dispositivo → selecione a NIC (Wi-Fi por padrão) → inicie a captura.
6. Captura na camada de aplicação
Seção intitulada “6. Captura na camada de aplicação”Voltada a um único app, ela lê o texto claro diretamente de dentro dele, e nem a fixação de certificado nem a criptografia personalizada conseguem detê-la.
- Não limitada pelas deficiências do modo NIC: apps que não podem ser descriptografados no modo NIC (fixação de certificado, criptografia personalizada) têm seu texto claro lido aqui também, porque ela lê de dentro do app, sem atuar como intermediária e sem depender da descriptografia na NIC.
- Ative o “tráfego de socket” como alternativa quando não puder ser decodificado: para apps que fazem link estático / usam uma biblioteca personalizada e dos quais os métodos usuais não conseguem obter texto claro, ative este interruptor para chegar aos dados por um caminho de nível mais baixo.
- Reiniciar o programa alvo: você pode fechar e reabrir o app primeiro para capturar o tráfego do início da execução.
- Só se volta ao app que você selecionou (não ao tráfego do dispositivo inteiro).
Como usar: escolha o app alvo (selecione-o na lista de apps instalados, ou preencha um nome de pacote / nome de processo; deixe em branco para capturar o app em primeiro plano) → marque “reiniciar o programa alvo” se precisar capturar o tráfego de inicialização → inicie a captura.
7. Você também pode usar a captura por proxy
Seção intitulada “7. Você também pode usar a captura por proxy”Além dos três métodos acima, um dispositivo Android também pode usar a captura por proxy: aponte o proxy Wi-Fi do dispositivo para esta máquina, instale o certificado raiz, e você poderá capturar texto claro HTTPS exatamente como em um computador e usar o conjunto completo de recursos de reescrita e reenvio. Serve para depurar apps que passam pelo proxy do sistema, ou para cenários que precisam de reescrita / reenvio baseados em regras de requisições móveis.
- Instalar o certificado: escaneie o QR code no telefone para instalação com um toque → Gerenciamento e instalação de certificados
- Recursos de captura e reescrita: → Captura por proxy
8. Quando usar a captura no Android
Seção intitulada “8. Quando usar a captura no Android”- Analisar as requisições de rede de um app de telefone e investigar problemas de endpoint, com descriptografia automática do dispositivo inteiro e sem ficar mexendo com certificados.
- Ver, de uma perspectiva do dispositivo inteiro, a quais endpoints um dispositivo ou um app realmente se conectou e o que ele enviou.
- Quando um app usa fixação de certificado e o modo NIC não consegue descriptografá-lo, use a captura na camada de aplicação para obter o texto claro com precisão.
- Para visualizar e editar ao mesmo tempo (reescrever / reenviar), use a captura por proxy.
Voltar para Captura por proxy · Relacionados: Visualização e decodificação de dados · Gerenciamento e instalação de certificados