Respostas:
Aqui estão algumas sugestões:
Para telefones Android, qualquer rede : faça root no seu telefone e instale o tcpdump nele. Este aplicativo é um wrapper tcpdump que instala o tcpdump e permite iniciar capturas usando uma GUI. Dica: você precisará fornecer o nome correto da interface para a captura e isso varia de um dispositivo para outro, por exemplo -i eth0 ou -i tiwlan0 - ou use -i any para registrar todas as interfaces
Para telefones Android 4.0+ : O PCAP Android da Kismet usa a interface USB OTG para oferecer suporte à captura de pacotes sem a necessidade de root. Eu não experimentei este aplicativo e existem algumas restrições quanto ao tipo de dispositivo suportado (consulte a página deles)
Para telefones Android : tPacketCapture usa o serviço VPN Android para interceptar pacotes e capturá-los. Eu usei este aplicativo com sucesso, mas também parece afetar o desempenho com grandes volumes de tráfego (por exemplo, streaming de vídeo)
Para dispositivos IOS 5+, qualquer rede : o iOS 5 adicionou um recurso de interface virtual remota (RVI) que permite usar programas de rastreamento de pacotes do Mac OS X para capturar rastreamentos de um dispositivo iOS. Veja aqui para mais detalhes
Para todos os telefones, apenas wi-fi: configure o seu PC como um ponto de acesso sem fio e execute o wireshark no PC
Para todos os telefones, apenas wi-fi: obtenha um dispositivo de captura que possa detectar o wi-fi. Isso tem a vantagem de fornecer cabeçalhos 802.11x também, mas você pode perder alguns dos pacotes
Capture usando um servidor VPN : É bastante fácil configurar seu próprio servidor VPN usando o OpenVPN. Em seguida, você pode rotear seu tráfego através do servidor configurando o dispositivo móvel como um cliente VPN e capturar o tráfego no servidor.
Além da excelente resposta de rupello, um truque "sujo", mas muito eficaz:
Para todos os celulares, qualquer rede (local) : Configurar o seu PC para Man-In-The-Middle seu dispositivo móvel.
Use o Ettercap para fazer a falsificação de ARP entre seu dispositivo móvel e seu roteador, e todo o tráfego do seu celular aparecerá no Wireshark. Consulte este tutorial para obter detalhes de configuração
Outra opção que não foi sugerida aqui é executar o aplicativo que você deseja monitorar no emulador do Android a partir do SDK do Android. Você pode capturar facilmente o tráfego com o wireshark na mesma máquina.
Esta foi a opção mais fácil para mim.
Wireshark + OSX + iOS:
Ótima visão geral até o momento, mas se você quiser informações específicas para Wireshark + OSX + iOS:
rvictl -s x
onde x
está o UDID do seu dispositivo iOS. Você pode encontrar o UDID do seu dispositivo iOS via iTunes (verifique se você está usando o UDID e não o número de série).Capture->Options
, uma caixa de diálogo é exibida, clique na linha rvi0
e pressione o Start
botão.Agora você verá todo o tráfego de rede no dispositivo iOS. Pode ser bastante avassalador. Algumas dicas:
ip.addr==204.144.14.134
visualiza o tráfego com um endereço de origem ou destino 204.144.14.134http
visualiza apenas tráfego httpAqui está uma janela de exemplo que descreve o tráfego TCP para download em pdf a partir de 204.144.14.134:
Para o telefone Android, usei o tPacketCapture: https://play.google.com/store/apps/details?id=jp.co.taosoftware.android.packetcapture&hl=pt_BR
Este aplicativo foi um salva-vidas. Estava depurando um problema com falha do handshake SSL / TLS no meu aplicativo Android. Tentei configurar redes ad hoc para que eu pudesse usar o wireshark no meu laptop. Não funcionou para mim. Esse aplicativo rapidamente permitiu que eu capturasse o tráfego da rede, o compartilhasse no meu Google Drive para que eu pudesse fazer o download no meu laptop, onde eu poderia examiná-lo com o Wireshark! Impressionante e sem raiz necessária!
O aplicativo Packet Capture Android implementa uma VPN que registra todo o tráfego de rede no dispositivo Android. Você não precisa configurar nenhum servidor VPN / proxy no seu PC. Não precisa de raiz. Suporta descriptografia SSL que tPacketCapture não. Ele também inclui um bom visualizador de logs.
Instale o Fiddler no seu PC e use-o como proxy no seu dispositivo Android.
Fonte: http://www.cantoni.org/2013/11/06/capture-android-web-traffic-fiddler
Da mesma forma que tornar seu PC um ponto de acesso sem fio, mas pode ser muito mais fácil, é usar o tethering reverso. Se você possui um telefone HTC, ele tem uma boa opção de conexão reversa chamada "Internet pass-through", nas configurações de compartilhamento de rede / rede móvel. Ele direciona todo o seu tráfego através do seu PC e você pode simplesmente executar o Wireshark lá.
Faça do seu laptop um ponto de acesso wifi para o seu telefone (qualquer um) e conecte-o à Internet. Detecte o tráfego na sua interface wifi usando o wireshark.
você conhecerá muitas coisas anti-privacidade!
Condições prévias: o adb e o wireshark estão instalados no seu computador e você tem um dispositivo Android enraizado.
adb push ~/Downloads/tcpdump /sdcard/
adb shell
su root
mv /sdcard/tcpdump /data/local/
cd /data/local/
chmod +x tcpdump
./tcpdump -vv -i any -s 0 -w /sdcard/dump.pcap
CTRL+C
depois de capturar pacotes suficientes.exit
exit
adb pull /sdcard/dump.pcap ~/Downloads/
Agora você pode abrir o arquivo pcap usando o Wireshark.
Para o Android , eu usei o tPacketCapture anteriormente, mas não funcionou bem para um aplicativo que transmite algum vídeo. Agora estou usando tubarão . Você precisa ser root para usá-lo.
Ele usa TCPDump (verifique os argumentos que você pode transmitir ) e cria um arquivo pcap que pode ser lido pelo Wireshark. Os argumentos padrão geralmente são bons o suficiente para mim.
Eu tive um problema semelhante que me inspirou a desenvolver um aplicativo que poderia ajudar a capturar o tráfego de um dispositivo Android. O aplicativo possui servidor SSH que permite que você tenha tráfego no Wireshark on the fly ( componente sshdump wireshark ). Como o aplicativo usa um recurso do sistema operacional chamado VPNService para capturar tráfego, ele não requer acesso root.
O aplicativo está no início da versão beta. Se você tiver algum problema / sugestão, não hesite em me avisar.