Catturare il traffico di telefonia mobile su Wireshark


Risposte:


350

Ecco alcuni suggerimenti:

  1. Per telefoni Android, qualsiasi rete : esegui il root del telefono, quindi installa tcpdump su di esso. Questa app è un wrapper tcpdump che installa tcpdump e ti consente di avviare acquisizioni utilizzando una GUI. Suggerimento: dovrai assicurarti di fornire il nome dell'interfaccia giusto per l'acquisizione e questo varia da un dispositivo all'altro, ad esempio -i eth0 o -i tiwlan0 - oppure usa -i any per registrare tutte le interfacce

  2. Per telefoni Android 4.0+ : Android PCAP di Kismet utilizza l'interfaccia USB OTG per supportare l'acquisizione di pacchetti senza richiedere root. Non ho provato questa app e ci sono alcune restrizioni sul tipo di dispositivi supportati (vedi la loro pagina)

  3. Per telefoni Android : tPacketCapture utilizza il servizio VPN Android per intercettare i pacchetti e acquisirli. Ho usato questa app con successo, ma sembra influire anche sulle prestazioni con grandi volumi di traffico (ad es. Streaming video)

  4. Per i dispositivi IOS 5+, qualsiasi rete : iOS 5 ha aggiunto una funzione di interfaccia virtuale remota (RVI) che consente di utilizzare i programmi di tracciamento dei pacchetti di Mac OS X per acquisire tracce da un dispositivo iOS. Vedi qui per maggiori dettagli

  5. Per tutti i telefoni, solo Wi-Fi: configura il tuo PC come punto di accesso wireless , quindi esegui WireShark sul PC

  6. Per tutti i telefoni, solo Wi-Fi: ottieni un dispositivo di acquisizione in grado di annusare il Wi-Fi. Questo ha il vantaggio di fornire anche le intestazioni 802.11x, ma potresti perdere alcuni dei pacchetti

  7. Cattura usando un server VPN : è abbastanza facile configurare il tuo server VPN usando OpenVPN. È quindi possibile instradare il traffico attraverso il server configurando il dispositivo mobile come client VPN e acquisire il traffico sull'estremità del server.


1
Se sei interessato a configurare un punto di accesso non autorizzato su Windows 7 e versioni successive e acquisire pacchetti utilizzando Wireshark, dai un'occhiata ai passaggi che metto insieme su mohit.io/blog/… Questo funzionerà per qualsiasi dispositivo che supporti WiFi (Android , iOS, Wii, XBox, ecc.)
mohit,

2
Per quanto riguarda l'opzione 2: è praticamente un'opzione inesistente. Dalla loro pagina: "Sarà necessario [...] e una scheda di rete wireless basata su RTL8187" !!!!
matteo,

1
Per me, l'opzione n. 3 è la più semplice per eseguire attività semplici come controllare quali chiamate fa una determinata app.
Notte

1
La maggior parte di questi non funziona per i pacchetti che non escono mai dal dispositivo o se si utilizza già una VPN. Quindi questi sono inutili per risolvere i problemi relativi alla MTU / alla frammentazione.
Evi1M4chine,

1
E se volessi fare il contrario? Utilizzare il mio smartphone collegato tramite USB per acquisire i pacchetti del mio PC? Fondamentalmente eseguo un software simile a un
wirehark

40

Oltre all'ottima risposta di Rupello, un trucco "sporco" ma molto efficace:

Per tutti i telefoni, qualsiasi rete (locale) : configura il tuo PC su Man-In-The-Middle sul tuo dispositivo mobile.

Usa Ettercap per eseguire lo spoofing ARP tra il dispositivo mobile e il router e tutto il traffico del tuo dispositivo mobile verrà visualizzato in Wireshark. Vedi questo tutorial per i dettagli di configurazione


3
Puoi anche usare il proxy Charles su Mac OS, per catturare il traffico HTTP, ha un'interfaccia e funzionalità molto carine. Dovrai configurare l'IP locale del tuo computer con un proxy sul tuo telefono. Può anche annusare il traffico TLS e farlo senza un avviso se installi il certificato Charles sul telefono.
minipif,

28

Un'altra opzione che non è stata suggerita qui è quella di eseguire l'app che si desidera monitorare nell'emulatore Android dall'SDK Android. È quindi possibile acquisire facilmente il traffico con WireShark sullo stesso computer.

Questa è stata l'opzione più semplice per me.


1
Questa è un'opzione interessante. Può gestire pacchetti ssl?
ransh,

22

Wireshark + OSX + iOS:

Ottima panoramica finora, ma se vuoi specifiche per Wireshark + OSX + iOS:

  • installa Wireshark sul tuo computer
  • collegare il dispositivo iOS al computer tramite cavo USB
  • collegare il dispositivo iOS e il computer alla stessa rete WiFi
  • eseguire questo comando in una finestra del terminale OSX: rvictl -s xdove si xtrova l'UDID del dispositivo iOS. Puoi trovare l'UDID del tuo dispositivo iOS tramite iTunes (assicurati di utilizzare l'UDID e non il numero seriale).
  • vai a Wireshark Capture->Options, viene visualizzata una finestra di dialogo, fai clic sulla linea, rvi0quindi premi il Startpulsante.

Finestra di dialogo Opzioni di acquisizione Wireshark

Ora vedrai tutto il traffico di rete sul dispositivo iOS. Può essere piuttosto travolgente. Un paio di suggerimenti:

  • non usare iOS con una VPN, non sarai in grado di dare un senso al traffico crittografato
  • utilizza semplici filtri per concentrarti su traffico interessante
  • ip.addr==204.144.14.134 visualizza il traffico con un indirizzo di origine o destinazione di 204.144.14.134
  • http visualizza solo il traffico http

Ecco una finestra di esempio che mostra il traffico TCP per il download di pdf dal 204.144.14.134:

Wireshark TCP traffic for pdf download from 204.144.14.134


9

Per il telefono Android ho usato tPacketCapture: https://play.google.com/store/apps/details?id=jp.co.taosoftware.android.packetcapture&hl=en

Questa app è stata un vero toccasana. Stavo eseguendo il debug di un problema con errore dell'handshake SSL / TLS sulla mia app Android. Ho provato a configurare una rete ad hoc in modo da poter utilizzare WireShark sul mio laptop. Non ha funzionato per me. Questa app mi ha rapidamente permesso di catturare il traffico di rete, condividerlo sul mio Google Drive in modo da poter scaricare sul mio laptop dove poterlo esaminare con Wireshark! Fantastico e nessuna radice richiesta!


Non funzionerà, se i tuoi problemi si verificano solo quando usi una VPN (e non finisci mai sull'hub / router).
Evi1M4chine,

8

L'app Android Packet Capture implementa una VPN che registra tutto il traffico di rete sul dispositivo Android. Non è necessario configurare alcun server VPN / proxy sul PC. Non ha bisogno di root. Supporta la decrittografia SSL che tPacketCapture non ha. Include anche un buon visualizzatore di log.


Quella VPN non funziona ... nessuna pagina si apre o i dati vengono recuperati ... avere quella VPN è come non avere una connessione a Internet ...
Himanshu Bansal


4

Analogamente per rendere il PC un punto di accesso wireless, ma può essere molto più semplice, si utilizza il tethering inverso. Se ti capita di avere un telefono HTC, hanno una bella opzione di tethering inverso chiamata "Internet pass-through", sotto le impostazioni di condivisione della rete / rete mobile. Instrada tutto il tuo traffico attraverso il tuo PC e puoi semplicemente eseguire Wireshark lì.


2

Trasforma il tuo laptop in un hotspot wifi per il tuo telefono (qualsiasi) e collegalo a Internet. Sniffare il traffico sulla tua interfaccia wifi usando WireShark.

conoscerai molte cose anti privacy!


6
Puoi essere più specifico su come farlo su almeno una piattaforma (Windows, Linux o Mac OS X)?
Alexandre Marcondes,

2

Presupposti: adb e WireShark è installato sul tuo computer e hai un dispositivo Android con root.

  1. Scarica tcpdump su ~ / Download
  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 dopo aver acquisito abbastanza pacchetti.
  10. exit
  11. exit
  12. adb pull /sdcard/dump.pcap ~/Downloads/

Ora puoi aprire il file pcap usando Wireshark.


1

Per Android , in precedenza avevo usato tPacketCapture ma non funzionava bene per un'app in streaming di alcuni video. Ora sto usando Shark . Devi essere root per usarlo però.

Usa TCPDump (controlla gli argomenti che puoi passare ) e crea un file pcap che può essere letto da Wireshark. Gli argomenti predefiniti di solito sono abbastanza buoni per me.


1
Shark non è più disponibile su Google Play.
not2qubit il

In effetti, sembra essere stato rimosso. Anche il sito swapper.n3o.lv sembra non contenere più l'apk.
user276648

0

Ho avuto un problema simile che mi ha ispirato a sviluppare un'app che potrebbe aiutare a catturare il traffico da un dispositivo Android. L'app include un server SSH che ti consente di avere il traffico al volo in Wireshark ( componente sshdump WireShark ). Poiché l'app utilizza una funzionalità del sistema operativo chiamata VPNService per acquisire il traffico, non richiede l'accesso come root.

L'app è all'inizio della Beta. Se hai problemi / suggerimenti, non esitare a farmelo sapere.

Scarica da Play

Tutorial in cui è possibile leggere ulteriori dettagli

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.