Réponses:
Voici quelques suggestions:
Pour les téléphones Android, n'importe quel réseau : rootez votre téléphone, puis installez tcpdump dessus. Cette application est un wrapper tcpdump qui installera tcpdump et vous permettra de démarrer des captures à l'aide d'une interface graphique. Astuce: vous devrez vous assurer de fournir le bon nom d'interface pour la capture et cela varie d'un appareil à 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 avoir besoin de root. Je n'ai pas essayé cette application et il existe certaines 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 elle semble également affecter les performances avec de gros volumes de trafic (par exemple, le streaming vidéo)
Pour les appareils IOS 5+, tout réseau : iOS 5 a ajouté une fonction d'interface virtuelle à distance (RVI) qui vous permet d'utiliser des programmes de trace de paquets Mac OS X pour capturer des traces à partir d'un appareil iOS. Voir ici pour plus de détails
Pour tous les téléphones, Wi-Fi uniquement: configurez votre PC comme point d'accès sans fil , puis exécutez Wireshark sur le PC
Pour tous les téléphones, Wi-Fi uniquement: obtenez un appareil de capture capable de flairer le Wi-Fi. Cela a l'avantage de vous donner également des en-têtes 802.11x, mais vous risquez de manquer certains des paquets
Capture à l'aide d'un serveur VPN : il est assez facile de configurer votre propre serveur VPN à l' aide d'OpenVPN. Vous pouvez ensuite acheminer votre trafic via votre serveur en configurant l'appareil mobile en tant que client VPN et capturer le trafic côté serveur.
En plus de l'excellente réponse de rupello, une astuce "sale" mais très efficace:
Pour tous les téléphones, tout réseau (local) : configurez votre PC pour Man-In-The-Middle votre appareil mobile.
Utilisez Ettercap pour effectuer une usurpation ARP entre votre appareil mobile et votre routeur, et tout le trafic de votre mobile apparaîtra dans Wireshark. Voir ce tutoriel pour les détails de configuration
Une autre option qui n'a pas été suggérée ici est d'exécuter l'application que vous souhaitez surveiller dans l'émulateur Android à partir du SDK Android. Vous pouvez ensuite facilement capturer le trafic avec Wireshark sur la même machine.
C'était l'option la plus simple pour moi.
Wireshark + OSX + iOS:
Grande vue d'ensemble jusqu'à présent, mais si vous souhaitez des détails sur Wireshark + OSX + iOS:
rvictl -s x
oùx
est l'UDID de votre appareil iOS. Vous pouvez trouver l'UDID de votre appareil iOS via iTunes (assurez-vous que vous utilisez l'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 Start
bouton.Vous verrez maintenant tout le trafic réseau sur l'appareil iOS. Cela peut être assez écrasant. Quelques conseils:
ip.addr==204.144.14.134
affiche le trafic avec une adresse source ou de destination 204.144.14.134http
affiche uniquement le trafic httpVoici un exemple de fenêtre décrivant le trafic TCP pour le téléchargement de pdf à partir de 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=en
Cette application m'a sauvé la vie. Je déboguais un problème avec l'échec de la prise de contact SSL / TLS sur mon application Android. J'ai essayé de configurer un réseau ad hoc afin que je puisse utiliser Wireshark sur mon ordinateur portable. Ça n'a pas marché pour moi. Cette application m'a rapidement permis de capturer le trafic réseau, de le partager sur mon Google Drive pour pouvoir le télécharger sur mon ordinateur portable où je pourrais l'examiner avec Wireshark! Génial et aucune racine requise!
L'application Packet Capture Android implémente un VPN qui enregistre tout le trafic réseau sur l'appareil Android. Vous n'avez pas besoin de configurer de serveur VPN / proxy sur votre PC. N'a pas besoin de root. Prend en charge le déchiffrement SSL, contrairement à tPacketCapture. Il comprend également une bonne visionneuse de journaux.
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
De manière similaire à faire de votre PC un point d'accès sans fil, mais cela peut être beaucoup plus facile, utilisez le partage de connexion inversé. Si vous possédez un téléphone HTC, ils ont une belle option de partage de connexion inversée appelée "Pass-through Internet", sous les paramètres de partage réseau / réseau mobile. Il achemine tout votre trafic via votre PC et vous pouvez simplement y exécuter Wireshark.
Faites de votre ordinateur portable un point d'accès wifi pour votre téléphone (n'importe lequel) et connectez-le à Internet. Reniflez le trafic sur votre interface wifi à l'aide de Wireshark.
vous apprendrez beaucoup de choses anti-vie privée!
Conditions préalables: adb et wirehark est installé sur votre ordinateur et vous avez un appareil Android 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
après avoir capturé suffisamment de paquets.exit
exit
adb pull /sdcard/dump.pcap ~/Downloads/
Vous pouvez maintenant ouvrir le fichier pcap à l'aide de Wireshark.
Pour Android , j'avais précédemment utilisé tPacketCapture mais cela ne fonctionnait pas bien pour une application diffusant des vidéos. 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 qui peut être lu par Wireshark. Les arguments par défaut sont généralement assez bons pour moi.
J'ai eu un problème similaire qui m'a inspiré à développer une application qui pourrait aider à capturer le trafic à partir d'un appareil Android. L'application dispose d'un serveur SSH qui vous permet d'avoir du trafic dans Wireshark à la volée ( composant sshdump Wireshark ). Comme l'application utilise une fonctionnalité de système d'exploitation appelée VPNService pour capturer le trafic, elle ne nécessite pas l'accès root.
L'application est en début de version bêta. Si vous avez des problèmes / suggestions, n'hésitez pas à me le faire savoir.
Tutoriel dans lequel vous pouvez lire des détails supplémentaires