Surveiller l'activité du réseau dans les téléphones Android
j'aimerais surveiller le trafic réseau de mon téléphone Android. Je pensais utiliser tcpdump pour Android, mais je ne suis pas sûr si je dois recompiler pour le téléphone.
une autre question Est la suivante, si je veux surveiller les données trafic pour une certaine application, Il ya une commande pour le faire?
10 réponses
TCPDUMP est l'un de mes outils préférés pour analyser le réseau, mais si vous trouvez difficile de compiler tcpdump pour android, je vous recommande d'utiliser certaines applications du marché.
ce sont les applications dont je parlais:
- requin: est une petite version de wireshark pour les téléphones Android). Ce programme permettra de créer un *.ppce et vous pouvez lire le fichier dans le PC avec wireshark.
- Lecteur De Requins : Ce programme vous permet de lire les *.ppce directement dans votre téléphone Android.
Requin application fonctionne avec les périphériques débridés, donc si vous voulez l'installer, assurez-vous d'avoir votre appareil déjà enracinée.
Bonne chance ;)
Si vous le faites à partir de l'émulateur, vous pouvez le faire comme ceci:
Exécuter emulator -tcpdump emulator.cap -avd my_avd
pour écrire tous les émulateur du trafic vers un fichier local sur votre PC, puis de l'ouvrir dans wireshark
Il ya un poste similaire qui pourrait aider ici
Note: tcpdump exige des privilèges root, donc vous devrez root votre téléphone si ce n'est déjà fait. Voici un bras binaire de tcpdump (cela fonctionne pour mon Samsung Captivate). Si vous préférez construire votre propre binaire, les instructions sont ici (oui, vous devrez probablement effectuer une compilation croisée).
Aussi, découvrez Requin de la Racine (un Android outil de capture de paquets basé sur tcpdump).
Je ne crois pas que tcpdump puisse surveiller le trafic par un identifiant de processus spécifique. La strace méthode à laquelle se réfère Chris Stratton semble être plus un effort que sa valeur. Il serait plus simple de surveiller des IP et des ports spécifiques utilisés par le processus cible. Si cette information n'est pas connue, capturez tout le trafic pendant une période d'activité de processus et puis tamisez par le pcap résultant avec Wireshark.
L'outil DDMS inclus dans le SDK Android inclut un outil pour surveiller le trafic réseau. Il ne fournit pas le genre de détail que vous obtenez de tcpdump et des outils de bas niveau similaires, mais il est encore très utile.
documents officiels: http://developer.android.com/tools/debugging/ddms.html#network
vous devez root le téléphone et compiler tcpdump ou utiliser la version déjà compilée de quelqu'un d'autre.
vous pourriez trouver plus facile de faire ces expériences avec l'émulateur, auquel cas vous pourriez faire la surveillance à partir du PC d'hébergement. Si vous devez utiliser un appareil réel, une autre option serait de le mettre sur un réseau wifi suspendu à une interface secondaire sur une machine linux tournant tcpdump.
Je ne sais pas comment vous allez filtrer par un processus spécifique. Une suggestion que j'ai trouvée dans certains googling rapide est d'utiliser strace sur le processus sujet au lieu de tcpdump sur le système.
pour les téléphones Android(sans Root):- vous pouvez utiliser cette application tPacketCapture cela capturera le trafic réseau pour votre appareil lorsque vous activez la capture. Voir à cette url pour plus de détails sur le reniflage du réseau sans enracinement de votre appareil.
une fois que vous avez le fichier qui est dans le format .pcap
vous pouvez utiliser ce fichier et analyser le trafic en utilisant n'importe quel analyseur de trafic comme Wireshark.
Voir Aussi ce billet pour plus d'idées sur capturer le trafic de téléphonie mobile sur le marché noir
sans root, vous pouvez utiliser des proxies de débogage comme Charlesproxy &Co.
la Capture de paquets est le meilleur outil pour suivre les données réseau sur l'android. Ne nécessite aucun accès root et facile à lire et enregistrer les appels basés sur l'application. Cochez la case ce out
l'approche commune est d'appeler "cat/proc/net / netstat" comme décrit ici:
essayez cette application https://play.google.com/store/apps/details?id=app.greyshirts.sslcapture
nous pouvons voir toutes les communications réseau .. même les communications cryptées SSL.