Captura de tráfego de celular no Wireshark

Respostas:

350

Aqui estão algumas sugestões:

  1. 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

  2. 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)

  3. 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)

  4. 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

  5. Para todos os telefones, apenas wi-fi: configure o seu PC como um ponto de acesso sem fio e execute o wireshark no PC

  6. 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

  7. 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.

rupello
fonte
1
Se você estiver interessado em configurar um ponto de acesso não autorizado no Windows 7 e superior e capturar pacotes usando o Wireshark, veja as etapas que eu montei em mohit.io/blog/… Isso funcionará para qualquer dispositivo que suporte WiFi (Android , iOS, Wii, XBox, etc)
mohit
2
Em relação à opção 2: é praticamente uma opção inexistente. Da página deles: "Você precisará [...] de uma placa de rede sem fio baseada em RTL8187" !!!!
Matteo
1
Para mim, a opção 3 é a mais fácil de executar tarefas simples, como verificar o que chama um determinado aplicativo.
Nighto 8/04
1
A maioria deles não funciona para pacotes que nunca saem do dispositivo ou se você já usa uma VPN. Portanto, eles são inúteis para resolver problemas relacionados à MTU / fragmentação.
Evi1M4chine
1
E se eu quiser fazer o oposto? Use meu smartphone conectado por USB para capturar os pacotes do meu PC? Basicamente executar um wireshark-like software no meu telefone Android
dominicbri7
40

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

minipif
fonte
3
Você também pode usar o proxy Charles no Mac OS, para capturar tráfego HTTP, possui uma interface e funcionalidades muito agradáveis. Você precisará configurar o IP local do seu computador com um proxy no seu telefone. Ele também pode detectar o tráfego TLS e fazê-lo sem aviso, se você instalar o certificado de Charles no telefone.
Minipif
28

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.

MazeChaZer
fonte
1
Essa é uma opção interessante. Ele pode lidar com pacotes ssl?
Ransh
22

Wireshark + OSX + iOS:

Ótima visão geral até o momento, mas se você quiser informações específicas para Wireshark + OSX + iOS:

  • instale o Wireshark no seu computador
  • conectar dispositivo iOS ao computador via cabo USB
  • conectar dispositivo iOS e computador à mesma rede WiFi
  • execute este comando em uma janela do terminal OSX: rvictl -s xonde xestá 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).
  • Para ir ao Wireshark Capture->Options, uma caixa de diálogo é exibida, clique na linha rvi0e pressione o Startbotão.

Caixa de diálogo Opções de captura do Wireshark

Agora você verá todo o tráfego de rede no dispositivo iOS. Pode ser bastante avassalador. Algumas dicas:

  • não use o iOS com uma VPN, não será possível entender o tráfego criptografado
  • use filtros simples para focar no tráfego interessante
  • ip.addr==204.144.14.134 visualiza o tráfego com um endereço de origem ou destino 204.144.14.134
  • http visualiza apenas tráfego http

Aqui está uma janela de exemplo que descreve o tráfego TCP para download em pdf a partir de 204.144.14.134:

Tráfego TCP do Wireshark para download em pdf a partir de 204.144.14.134

drbobdugan
fonte
9

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!

Farrukh Najmi
fonte
Não funcionará, se seus problemas ocorrerem somente ao usar uma VPN (e nunca terminem no hub / roteador).
Evi1M4chine
8

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.

Akira Yamamoto
fonte
Essa VPN não funciona ... nenhuma página é abertura ou dados são buscados ... ter que VPN é como ter nenhuma conexão com a internet ...
Himanshu Bansal
4

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á.

Peter Jeffe
fonte
2

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!

FireCruZ
fonte
6
Você pode ser mais específico sobre como fazê-lo em pelo menos uma plataforma (Windows, Linux ou Mac OS X)?
Alexandre Marcondes
2

Condições prévias: o adb e o wireshark estão instalados no seu computador e você tem um dispositivo Android enraizado.

  1. Faça o download do tcpdump para ~ / Downloads
  2. adb push ~/Downloads/tcpdump /sdcard/
  3. adb shell
  4. su root
  5. mv /sdcard/tcpdump /data/local/
  6. cd /data/local/
  7. chmod +x tcpdump
  8. ./tcpdump -vv -i any -s 0 -w /sdcard/dump.pcap
  9. CTRL+C depois de capturar pacotes suficientes.
  10. exit
  11. exit
  12. adb pull /sdcard/dump.pcap ~/Downloads/

Agora você pode abrir o arquivo pcap usando o Wireshark.

AtomicBoolean
fonte
1

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.

user276648
fonte
1
O tubarão não está mais disponível no Google Play.
not2qubit
De fato, parece ter sido removido. O site swapper.n3o.lv também parece não conter mais os aplicativos.
user276648
0

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.

Download do jogo

Tutorial no qual você pode ler detalhes adicionais

Andrey Egorov
fonte