Risposte:
Ecco alcuni suggerimenti:
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
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)
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)
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
Per tutti i telefoni, solo Wi-Fi: configura il tuo PC come punto di accesso wireless , quindi esegui WireShark sul PC
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
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.
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
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.
Wireshark + OSX + iOS:
Ottima panoramica finora, ma se vuoi specifiche per Wireshark + OSX + iOS:
rvictl -s x
dove si x
trova 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).Capture->Options
, viene visualizzata una finestra di dialogo, fai clic sulla linea, rvi0
quindi premi il Start
pulsante.Ora vedrai tutto il traffico di rete sul dispositivo iOS. Può essere piuttosto travolgente. Un paio di suggerimenti:
ip.addr==204.144.14.134
visualizza il traffico con un indirizzo di origine o destinazione di 204.144.14.134http
visualizza solo il traffico httpEcco una finestra di esempio che mostra il traffico TCP per il download di pdf dal 204.144.14.134:
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!
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.
Installa Fiddler sul tuo PC e usalo come proxy sul tuo dispositivo Android.
Fonte: http://www.cantoni.org/2013/11/06/capture-android-web-traffic-fiddler
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ì.
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!
Presupposti: adb e WireShark è installato sul tuo computer e hai un dispositivo Android con root.
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
dopo aver acquisito abbastanza pacchetti.exit
exit
adb pull /sdcard/dump.pcap ~/Downloads/
Ora puoi aprire il file pcap usando Wireshark.
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.
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.