Comment capturer le trafic de téléphonie mobile sur Wireshark?
Voici quelques suggestions:
Pour les téléphones Android, tous les réseaux: Racinez votre téléphone, puis installez tcpdump dessus. Cette application est un wrapper tcpdump qui installera tcpdump et vous permettra de démarrer les captures à l'aide d'une interface graphique. Astuce: vous devez vous assurer de fournir le nom d'interface correct pour la capture et cela varie d'un périphérique à l'autre, par exemple -i eth0 ou -i tiwlan0 - ou utilisez -i any pour enregistrer toutes les interfaces
Pour les téléphones Android 4.0+: Android PCAP de Kismet utilise l'interface USB OTG pour prendre en charge la capture de paquets sans nécessiter de root. Je n'ai pas essayé cette application, et il y a des restrictions sur le type d'appareils pris en charge (voir leur page)
Pour les téléphones Android: tPacketCapture utilise le service VPN Android pour intercepter les paquets et les capturer. J'ai utilisé cette application avec succès, mais cela semble également affecter les performances avec des volumes de trafic importants (par exemple, la diffusion vidéo en continu).
Pour IOS 5+, tout réseau: iOS 5 a ajouté une fonction interface virtuelle à distance (RVI) qui vous permet d'utiliser les programmes de traçage de paquets Mac OS X pour capturer les traces d'un périphérique iOS. Voir ici pour plus de détails
Pour tous les téléphones, wi-fi uniquement:Configurez votre PC en tant que point d'accès sans fil , puis exécutez Wireshark sur le PC.
Pour tous les téléphones, wi-fi uniquement: Get un périphérique de capture qui peut renifler wi-fi. Cela a l’avantage de vous donner des en-têtes 802.11x également, mais vous risquez de rater des paquets.
Capture en utilisant un serveur VPN: Il est assez facile de configurer votre propre serveur VPN avec OpenVPN. Vous pouvez ensuite acheminer votre trafic via votre serveur en configurant l'appareil mobile en tant que un client VPN et en capturant le trafic sur le serveur.
En plus de l'excellente réponse de rupello, une astuce "sale" mais très efficace:
Pour tous les téléphones, tous les réseaux (locaux): configurez votre PC sur Man-In-The-Middle votre appareil mobile.
Utilisez Ettercap à faire ARP spoofing entre votre appareil mobile et votre routeur, et tout le trafic de votre mobile apparaîtra dans Wireshark. Voir ce tutoriel pour plus de détails sur la configuration
Une autre option qui n’a pas été suggérée ici consiste à exécuter l’application que vous souhaitez surveiller dans l’émulateur Android à partir du SDK Android. Vous pouvez alors facilement capturer le trafic avec Wireshark sur la même machine.
C'était l'option la plus facile pour moi.
Wireshark + OSX + iOS:
Excellente vue d'ensemble jusqu'à présent, mais si vous voulez des détails concernant Wireshark + OSX + iOS:
rvictl -s x
où x
est le UDID de votre appareil iOS. Vous pouvez trouver le UDID de votre appareil iOS via iTunes (assurez-vous que vous utilisez le UDID et non le numéro de série).Capture->Options
, une boîte de dialogue apparaît, cliquez sur la ligne rvi0
puis appuyez sur le bouton Start
.Vous verrez maintenant tout le trafic réseau sur le périphérique iOS. Cela peut être assez écrasant. Quelques pointeurs:
ip.addr==204.144.14.134
affiche le trafic avec une adresse source ou une adresse de destination 204.144.14.134.http
affiche uniquement le trafic httpVoici un exemple de fenêtre décrivant le trafic TCP pour le téléchargement PDF à partir du 204.144.14.134:
Pour le téléphone Android, j’ai utilisé tPacketCapture: https://play.google.com/store/apps/details?id=jp.co.taosoftware.Android.packetcapture&hl=fr
Cette application a été une bouée de sauvetage. J'étais en train de déboguer un problème d'échec de la négociation SSL/TLS sur mon application Android. J'ai essayé de configurer un réseau ad hoc pour pouvoir utiliser Wireshark sur mon ordinateur portable. Cela n'a pas fonctionné pour moi. Cette application m'a rapidement permis de capturer le trafic réseau, de le partager sur mon Google Drive afin de pouvoir le télécharger sur mon ordinateur portable et de l'examiner avec Wireshark! Génial et aucune racine requise!
Application de capture de paquets Android implémente un VPN qui enregistre tout le trafic réseau sur le périphérique Android. Vous n'avez pas besoin de configurer de serveur VPN/proxy sur votre PC. N'a pas besoin de racine. Prend en charge le déchiffrement SSL, ce que tPacketCapture ne fait pas. Il comprend également un bon visualiseur de journaux.
De la même manière, il peut être beaucoup plus facile d’utiliser un modem inversé. Si vous possédez un téléphone HTC, celui-ci dispose d’une option de connexion inversée Nice, appelée "Transfert Internet", dans les paramètres de partage réseau/réseau mobile. Il dirige tout votre trafic sur votre PC et vous pouvez simplement y exécuter Wireshark.
Installez Fiddler sur votre PC et utilisez-le comme proxy sur votre appareil Android.
Source: http://www.cantoni.org/2013/11/06/capture-Android-web-traffic-fiddler
Faites de votre ordinateur portable un point d'accès wifi pour votre téléphone (tous les types) et connectez-le à Internet. Reniflez le trafic sur votre interface wifi à l'aide de Wireshark.
vous apprendrez beaucoup de choses sur la protection de la vie privée!
Pour Android, j’avais précédemment utilisé tPacketCapture, mais cela ne fonctionnait pas bien pour une application diffusant certaines vidéos en streaming. J'utilise maintenant Shark . Vous devez être root pour l'utiliser.
Il utilise TCPDump (vérifiez les arguments que vous pouvez transmettre ) et crée un fichier pcap lisible par Wireshark. Les arguments par défaut me suffisent généralement.
Conditions préalables: adb et wireShark est installé sur votre ordinateur et vous avez un appareil Android enraciné.
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
exit
exit
adb pull /sdcard/dump.pcap ~/Downloads/
Vous pouvez maintenant ouvrir le fichier pcap avec Wireshark.