Respostas:
Pessoalmente, eu uso Charles para esse tipo de coisa.
Quando ativado, ele monitorará todas as solicitações de rede, exibindo detalhes estendidos de solicitação, incluindo suporte para SSL e vários formatos de solicitação / resposta, como JSON, etc ...
Você também pode configurá-lo para farejar apenas solicitações para servidores específicos, não todo o tráfego.
É um software comercial, mas existe uma versão de avaliação e IMHO é definitivamente uma ótima ferramenta.
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:
rvictl -s <iphone-uid-from-xcode-organizer>
Então você fareja a interface que ele cria com o Wireshark (ou sua ferramenta favorita) e, quando terminar, desliga a interface com:
rvictl -x <iphone-uid-from-xcode-organizer>
Isso é bom porque se você quiser farejar pacotes no simulador, terá que percorrer o tráfego para o seu Mac local também, mas rvictlcria uma interface virtual que apenas mostra o tráfego do dispositivo iOS que você conectou ao seu USB porta.
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.
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.
O Xcode fornece registro de diagnóstico CFNetwork. Doc da Apple
Para habilitá-lo, adicione CFNETWORK_DIAGNOSTICS=3na seção Variável de ambiente:
Isso mostrará as solicitações do aplicativo com seus cabeçalhos e corpo. Observe que OS_ACTIVITY_MODEdeve ser definido enablecomo mostrado. Caso contrário, nenhuma saída será exibida no console.
Selecione sua interface
Adicionar filteriniciar ocapture
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 !!
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!
Telerik Fiddler é uma boa escolha
http://www.telerik.com/blogs/using-fiddler-with-apple-ios-devices
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.
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
Netfox fornece uma visão rápida de todas as solicitações de rede executadas por seu aplicativo iOS ou OSX. Ele pega todas as solicitações - é claro, as solicitações de bibliotecas de terceiros (como AFNetworking, Alamofire ou outra), UIWebViews e muito mais