Tank · Code Alliance Developers
Termux Arsenalby Tank · Code Alliance
Guia · PC Auxiliar

Charles Proxy no Windows — do zero ao primeiro request interceptado

Configure um PC Windows como proxy auxiliar para o seu Termux / celular Android. Ao final, todo tráfego HTTP e HTTPS do device passará pelo Charles, pronto para análise no fluxo do prompt Engenheiro de Tráfego HTTP + Charles Proxy.

Use apenas em contas, apps e domínios seus ou com autorização escrita. Interceptar tráfego de terceiros sem consentimento é crime (Lei 12.737/12 e Marco Civil).
01

Pré-requisitos

  • PC Windows 10/11 (x64), 4 GB RAM mínimo.
  • Java não é necessário — o instalador do Charles 4.x/5.x traz JRE embutido.
  • PC e celular na mesma rede Wi-Fi (mesma sub-rede, ex.: 192.168.0.x).
  • Permissão de administrador no Windows para liberar a porta no Firewall.
02

Baixar e instalar o Charles

Baixe o instalador oficial (32 dias de trial totalmente funcional):

Link oficial
$ https://www.charlesproxy.com/download/latest-release/

Execute o charles-proxy-*-win64.msi, aceite os padrões e abra o app.

Na primeira execução, o Charles pergunta se quer configurar o proxy do Windows automaticamente — responda Yes. Isso não afeta o celular, só o navegador do PC.
03

Descobrir o IP do PC na rede

No Prompt de Comando (Win+R → cmd):

CMD
$ ipconfig | findstr /I IPv4

Anote o IPv4 da interface Wi-Fi (algo como 192.168.0.10). Esse é o endereço que o celular vai usar como proxy.

04

Liberar a porta 8888 no Firewall do Windows

Abra PowerShell como Administrador e cole:

PowerShell (admin)
$ New-NetFirewallRule -DisplayName "Charles Proxy 8888" -Direction Inbound -Protocol TCP -LocalPort 8888 -Action Allow
Sem essa regra, o celular vai reclamar de connection refused mesmo com tudo certo.
05

Habilitar o proxy no Charles

No Charles, vá em Proxy → Proxy Settings e confirme:

  • HTTP Proxy Port: 8888
  • Marque Enable transparent HTTP proxying
  • Aba SOCKS: deixe desmarcado

Depois, em Proxy → Access Control Settings, adicione a faixa da sua rede:

Access Control
$ 192.168.0.0/16
06

Configurar o proxy no Android / Termux

Android (Wi-Fi manual):

  • Configurações → Wi-Fi → mantenha pressionada a rede → Modificar → Avançado
  • Proxy: Manual
  • Nome do host: IP-DO-PC (ex.: 192.168.0.10)
  • Porta: 8888

Termux (variáveis para curl/wget/pip):

~/.bashrc
$ export http_proxy="http://192.168.0.10:8888" export https_proxy="http://192.168.0.10:8888" export ALL_PROXY="http://192.168.0.10:8888"
Aplicar
$ source ~/.bashrc
Assim que o celular tentar acessar qualquer site, o Charles vai perguntar se aceita a conexão. Clique em Allow e marque remember para o IP do celular.
07

Instalar o certificado root para HTTPS

Sem isso você só vê CONNECT ... criptografado. No Charles:

Help → SSL Proxying → Install Charles Root Certificate on a Mobile Device or Remote Browser

Ele mostra um endereço: chls.pro/ssl. No celular:

  1. Abra o navegador → acesse chls.pro/ssl
  2. Baixe o arquivo .pem
  3. Configurações → Segurança → Criptografia → Instalar certificado → CA
  4. Selecione o arquivo baixado e nomeie como Charles
A partir do Android 7, apps só confiam em user certs se estiverem no APK config. Para app próprio, adicione network_security_config.xml. Para apps de terceiros, você precisa de root + Magisk module MoveCertificate ou usar Frida para bypassar o SSL pinning.
08

Habilitar SSL Proxying para os domínios alvo

Proxy → SSL Proxying Settings → Add:

Host
$ *
Port
$ 443

Para produção, restrinja ao domínio alvo (ex.: api.exemplo.com) para reduzir ruído.

09

Validar o setup

No celular, abra o navegador e acesse:

Teste
$ https://httpbin.org/get

No Charles, o request deve aparecer na aba Structure ou Sequence em texto claro, com Host, Headers e Response JSON legíveis.

Deu certo? Você tem um PC auxiliar pronto. Agora combine com o copiloto Engenheiro de Tráfego HTTP + Charles e envie a última request do fluxo para o modelo reconstruir tudo.
10

Troubleshooting rápido

  • Connection refused → Firewall bloqueando a 8888 (volte ao passo 4).
  • ERR_TUNNEL_CONNECTION_FAILED → Access Control sem a faixa da rede (passo 5).
  • Cert inválido no app → SSL pinning ativo. Use Frida script frida-multiple-unpinning.
  • Só vejo CONNECT → cert não instalado como CA (passo 7).
  • Celular sem internet → PC hibernou ou trocou de IP. Fixe IP estático no roteador.

Próximos passos