Estou tentando monitorar chamadas de um aplicativo para meu servidor, assim como o Firebug faz. Não consegui encontrar uma maneira de ver isso no simulador iOS ou no xCode.
Existe uma maneira de fazer isso sem farejar todo o tráfego? Se não, qual ferramenta você sugere?
xcode
networking
ios-simulator
network-monitoring
Mad Echet
fonte
fonte
Um proxy man-in-the-middle, como sugerido por outras respostas, é uma boa solução se você deseja apenas ver o tráfego HTTP / HTTPS. Burp Suite é muito bom. Porém, pode ser difícil configurar. Não tenho certeza de como você convenceria o simulador a falar com ele. Você pode ter que definir o proxy em seu Mac local para sua instância de um servidor proxy para que ele seja interceptado, uma vez que o simulador fará uso do ambiente de seu Mac local.
A melhor solução para farejar pacotes (embora funcione apenas para dispositivos iOS reais , não o simulador) que encontrei é usar
rvictl
. Esta postagem do blog tem uma boa redação. Basicamente, você faz:Então você fareja a interface que ele cria com o Wireshark (ou sua ferramenta favorita) e, quando terminar, desliga a interface com:
Isso é bom porque se você quiser farejar pacotes no simulador, terá que percorrer o tráfego para o seu Mac local também, mas
rvictl
cria uma interface virtual que apenas mostra o tráfego do dispositivo iOS que você conectou ao seu USB porta.fonte
Uma ferramenta de proxy gratuita e de código aberto que roda facilmente em um Mac é o mitmproxy .
O site inclui links para um binário Mac, bem como o código-fonte no Github.
Os documentos contêm uma introdução muito útil para carregar um certificado em seu dispositivo de teste para visualizar o tráfego HTTPS.
Não é tão GUI-tastic quanto Charles, mas faz tudo que eu preciso e é gratuito e mantido. Bom material e bastante simples se você já usou algumas ferramentas de linha de comando antes.
ATUALIZAÇÃO: Acabei de notar no site que o mitmproxy está disponível como uma instalação homebrew. Não poderia ser mais fácil.
fonte
Recentemente, encontrei um repositório git que torna isso mais fácil.
Você pode experimentá-lo.
Esta é a captura de tela de um aplicativo:
Cumprimentos.
fonte
O Xcode fornece registro de diagnóstico CFNetwork. Doc da Apple
Para habilitá-lo, adicione
CFNETWORK_DIAGNOSTICS=3
na seção Variável de ambiente:Isso mostrará as solicitações do aplicativo com seus cabeçalhos e corpo. Observe que
OS_ACTIVITY_MODE
deve ser definidoenable
como mostrado. Caso contrário, nenhuma saída será exibida no console.fonte
Wireshark it
Selecione sua interface
Adicionar
filter
iniciar ocapture
Testando
Clique em qualquer ação ou botão que acione uma solicitação GET / POST / PUT / DELETE
Você vai vê-lo listado no wirehark
Se você quiser saber mais detalhes sobre um pacote específico, basta selecioná-lo e Seguir> HTTP Stream .
espero que isso ajude outras pessoas !!
fonte
Se você tiver conexão a cabo e Mac, existe um método simples e poderoso:
instale o Wireshark gratuito, certifique-se de que ele pode capturar dispositivos com (e você precisa fazer isso após cada reinicialização do computador !):
sudo chmod 644 / dev / bpf *
Agora compartilhe sua rede com wi-fi. Preferências do sistema> Compartilhamento> Compartilhamento de Internet. Verifique se você tem "Compartilhar suas conexões de: Ethernet" e usando: Wi-Fi. Você também pode querer configurar alguma segurança wi-fi, não perturba o monitoramento de dados.
Conecte seu telefone à rede recém-criada. Muitas vezes preciso de várias tentativas aqui. Se o telefone não quiser se conectar, desligue o wi-fi do Mac e repita a etapa 2 acima e seja paciente.
Inicie o Wireshark para capturar sua interface wireless com o Wireshark, provavelmente é "en1". Filtre seus endereços IP e / ou portas necessários. Quando você encontrar um pacote que seja interessante, selecione-o, clique com o botão direito (menu de contexto)> Seguir TCP Stream e você verá uma bela representação de texto das solicitações e respostas.
E o que é melhor: exatamente o mesmo truque funciona para Android também!
fonte
Telerik Fiddler é uma boa escolha
http://www.telerik.com/blogs/using-fiddler-with-apple-ios-devices
fonte
fonte
Uma boa solução se você está acostumado com as ferramentas do inspetor de cromo é o depurador Pony: https://github.com/square/PonyDebugger
É um pouco complicado configurar, mas depois de fazer isso funciona bem. No entanto, certifique-se de usar o Safari em vez do Chrome para usá-lo.
fonte
Eu uso netfox. É muito fácil de usar e integrar. Você pode usá-lo no simulador e no dispositivo. Ele mostra todas as solicitações e respostas. Ele suporta JSON, XML, HTML, Imagem e outros tipos de respostas. Você pode compartilhar solicitações, respostas e log completo pelos formatos de compartilhamento padrão do IOS (Gmail, WhatsApp, e-mail, slack, sms, etc.)
Você pode verificar no GitHub: https://github.com/kasketis/netfox
fonte