Guia

Capture HTTPS em um iPhone, sem precisar de Mac

Tudo acontece no celular: instale o app, confie no certificado, escolha os hosts que quer descriptografar e ligue a VPN. As requisições descriptografadas chegam ao seu dashboard um segundo depois, por Wi-Fi ou rede celular.

O jeito comum de ler o HTTPS de um iPhone é um proxy de desktop: um notebook na mesma Wi-Fi, uma configuração manual de proxy no celular, um certificado instalado à mão e uma sessão que morre assim que você passa para a rede celular. O Busymate DevTools tira o notebook do caminho. O app roda um motor de captura de todo o sistema no próprio dispositivo usando o NetworkExtension da Apple, descriptografa apenas os hosts que você coloca em uma lista e envia cada requisição para um dashboard web que você abre de qualquer lugar.

Este guia leva você de um celular vazio até a primeira requisição descriptografada. Ele usa o modo VPN, o túnel no dispositivo que cobre Wi-Fi e rede celular igualmente. Se preferir capturar por um proxy Wi-Fi, o app também oferece um modo PAC; ele é mencionado onde importa, mas você não precisa dele para terminar aqui.

Antes de começar

O que você precisa

Sem computador, sem cabo, sem jailbreak. Quatro coisas, todas no celular ou em uma aba do navegador.

  • Um iPhone ou iPad com um iOS atual e acesso à App Store.

  • Uma conta Busymate — entre com a Apple ou com e-mail e senha. Entrar é o que pareia o celular ao seu dashboard.

  • Dois minutos no app Ajustes para instalar o perfil do certificado e ativar a confiança total nele.

  • Os nomes de host da API que você quer ler. Só os hosts que você adicionar são descriptografados; todo o resto passa intocado.

Passo a passo

Faça na ordem

Seis passos, nesta ordem. O cartão de prontidão do app avisa quando a parte do certificado está concluída, então você nunca precisa adivinhar.

  1. 01

    Instale o app e aceite o consentimento de captura

    Instale o Busymate DevTools pela App Store e abra o app. No primeiro uso você verá uma tela de consentimento de captura de rede. A Apple exige isso porque o app inspeciona o tráfego do dispositivo, e o app não vai parear nem começar a capturar até você aceitar. É uma etapa única — se algo tentasse iniciar o túnel sem o seu consentimento, a mesma tela reapareceria.

  2. 02

    Entre na conta — isso pareia o celular

    Uma tela de login cobre o app até o celular ser pareado. Escolha Entrar com a Apple ou digite seu e-mail e senha. Não há etapa de ativação separada nem código para digitar: o app troca sua sessão autenticada por uma credencial de dispositivo de longa duração, guarda-a nas chaves do dispositivo e fecha a tela.

    Abra o dashboard em qualquer navegador e veja a aba Devices — o celular já está lá e aparece como Online. Você pode renomeá-lo de qualquer um dos lados; o nome sincroniza nas duas direções em tempo real, e o dispositivo mantém sua identidade mesmo renomeado.

    A tela de login do Busymate DevTools em um iPhone
  3. 03

    Instale o perfil do certificado

    Na parte de baixo da tela inicial fica o cartão de prontidão. Neste momento ele mostra um escudo amarelo e diz Not Ready, porque o celular ainda não confia no certificado que o app usa para descriptografar HTTPS. Toque no cartão para abrir as etapas de configuração e depois toque em Download.

    O app abre o Safari em um perfil de configuração. O iOS mostra um aviso de perfil baixado; abra o app Ajustes, toque nesse aviso perto do topo e toque em Instalar no perfil do Busymate DevTools. É o mesmo perfil que você pode baixar manualmente no endereço abaixo.

    O perfil de certificado que o app abre para você
    text
    https://busymate.net/ca.mobileconfig
  4. 04

    Ative a confiança total no certificado

    Instalar o perfil não basta. O iOS exige um interruptor de confiança separado e explícito para qualquer certificado raiz instalado pelo usuário, e esse é o passo que a maioria das pessoas pula. Vá em Ajustes, depois Geral, depois Sobre, depois Ajustes de Confiança de Certificados, e ative o Busymate DevTools na lista de confiança total.

    Volte ao app. Ele verifica a confiança a cada poucos segundos enquanto a tela de configuração está aberta e sempre que volta ao primeiro plano, então em um ou dois segundos o cartão de prontidão fica verde e diz Ready. A tela inicial troca o aviso de configuração incompleta pelos controles de captura. A confiança sobrevive à reinstalação do app — isso é feito uma vez por celular.

    A tela inicial do Busymate DevTools com o cartão de prontidão e o botão de captura
  5. 05

    Adicione os hosts que quer descriptografar

    Confiar no certificado não abre tudo. O app só descriptografa os domínios da sua lista de SSL proxy; qualquer outra conexão continua fluindo, mas permanece criptografada e aparece com um cadeado fechado, só com o nome do host e a contagem de requisições. Abra a lista pela engrenagem do cartão de prontidão — Settings, depois Tunnel, depois SSL Proxying —, toque em Add Domain e digite um host.

    Um nome de host simples corresponde exatamente àquele host. Um asterisco e um ponto no início correspondem ao domínio pai e a todos os subdomínios em qualquer nível, que costuma ser o que você quer para uma API. Duas chaves relacionadas ficam na mesma seção Tunnel: Inspect All Requests registra todas as conexões que o celular faz em vez de só os hosts listados, e MITM All Hosts descriptografa todos os hosts HTTPS — mais pesado, e melhor deixar desligado a menos que precise. Ignore Hosts esconde do feed o ruído de fundo, como telemetria.

    Você também pode gerenciar essa lista pelo dashboard: edite lá os domínios de SSL proxy do dispositivo e a alteração é enviada ao celular ao vivo, então um colega pode adicionar um host por você sem tocar no dispositivo.

    A tela de ajustes do Busymate DevTools em um iPhone, onde fica a lista de SSL proxy
  6. 06

    Ligue a VPN e leia o tráfego

    Na tela inicial, a linha Status traz o botão da VPN. Ligue-o. Você verá um breve Syncing e depois Connected; o ícone do app se estabiliza em um anel verde com um selo VPN, e o mesmo selo VPN aparece na barra de status do iOS. A partir desse momento, toda requisição que o celular fizer, por Wi-Fi ou rede celular, é transmitida ao seu dashboard, e o túnel continua ativo quando você troca de app.

    Use o app que está depurando. Depois olhe o dashboard: novas linhas aparecem no topo do feed no momento em que acontecem, uma por requisição, e a barra lateral de dispositivos permite focar só neste celular. Clique em qualquer linha para abrir a requisição e a resposta completas — cabeçalhos e corpo, com JSON formatado. No próprio celular, Settings, depois Tools, depois Network Log mostra a mesma captura agrupada por domínio, com um cadeado aberto em cada host que você escolheu descriptografar.

    O Network Log do app em um iPhone, com as requisições agrupadas por domínio

Solução de problemas

O que pode dar errado

Quase toda configuração travada é uma destas cinco, e cada uma tem um sinal visível.

  • O cartão de prontidão continua amarelo depois de instalar o perfil

    A confiança total ainda está desligada. Instalar o perfil e ativar a confiança são dois passos separados no iOS; volte em Ajustes, Geral, Sobre, Ajustes de Confiança de Certificados e ative o Busymate DevTools. O cartão fica verde sozinho assim que isso acontece.

  • Um host mostra cadeado fechado e nenhum corpo

    Esse host não está na lista de SSL proxy, ou você o adicionou com a VPN ligada. Adicione-o, depois desligue e ligue a VPN para que o túnel carregue a nova lista — uma captura em modo PAC não precisa do reinício, mas o túnel precisa.

  • O app que você está depurando se recusa a conectar quando o host é descriptografado

    O app fixa o próprio certificado e rejeita qualquer outro, o que nenhuma captura no dispositivo consegue contornar. Remova o host da lista para que ele volte a passar criptografado e leia o guia sobre pinning para saber o que ainda dá para ver.

  • O cartão PAC diz Unavailable — VPN active

    Isso é esperado, não um erro. VPN e PAC são mutuamente exclusivos; enquanto o túnel está ativo o iOS esconde o estado do proxy Wi-Fi, e o app diz isso com honestidade. Desligue a VPN se quiser usar PAC.

  • Nada chega ao dashboard

    Verifique as três portas em ordem: a tela de consentimento foi aceita, o celular aparece Online na aba Devices e o botão Status diz Connected. Se o app não conseguiu alcançar o backend por um instante sob tráfego intenso, ele mostra um pequeno aviso com o número de entradas descartadas, então nunca há perda silenciosa.

Perguntas frequentes

Perguntas que as pessoas fazem

Eu realmente não preciso de Mac, cabo ou configuração de proxy?

Correto. Captura, descriptografia e transmissão rodam no celular. Um computador só entra se você escolher ler o dashboard nele — e o navegador do celular também serve para isso.

Ele captura tráfego da rede celular e de outros apps?

No modo VPN, sim: o túnel no dispositivo cobre todos os apps do celular, por Wi-Fi e rede celular. A alternativa PAC cobre só Wi-Fi, porque é uma configuração de proxy Wi-Fi e não um túnel.

Tudo é descriptografado depois que o certificado é confiável?

Não. A confiança só torna a descriptografia possível. O app descriptografa os hosts da sua lista de SSL proxy e nada mais, a menos que você ligue deliberadamente o MITM All Hosts. Apps que fixam o próprio certificado continuam criptografados de qualquer forma.

Sua primeira requisição descriptografada está a poucos toques de distância

Instale o app, leve o cartão de prontidão ao verde e veja o tráfego do celular chegar ao seu dashboard.

Ask your mate