Émulateur Android: Comment surveiller le trafic réseau?

Comment puis-je surveiller le trafic réseau envoyé et reçu depuis mon émulateur android?

107
demandé sur Janusz 2010-03-16 14:40:03

10 réponses

il y a deux façons de capturer le trafic réseau directement à partir D'un émulateur Android:

  1. copier et exécuter un tcpdump binaire compatible ARM sur l'émulateur, en écrivant la sortie à la carte SD, peut-être (par exemple tcpdump -s0 -w /sdcard/emulator.cap ).

  2. Run emulator -tcpdump emulator.cap -avd my_avd pour écrire tout le trafic de l'émulateur dans un fichier local sur votre PC

dans les deux cas, vous pouvez ensuite analyser le fichier pcap avec tcpdump ou Wireshark comme d'habitude.

95
répondu Christopher Orr 2010-04-04 13:34:30

il est également possible d'utiliser le proxy http pour surveiller les requêtes http de l'émulateur. Vous pouvez passer -http-proxy drapeau lors du démarrage d'un nouvel émulateur pour définir proxy (exemple burp ) pour surveiller le trafic Android. Exemple d'utilisation ./emulator -http-proxy localhost:8080 -avd android2.2 . Notez que dans mon exemple J'utilise Burp, et il écoute le port 8080. Plus d'informations peuvent être trouvées ici .

20
répondu Waltsu 2012-04-12 07:50:57

pour OS X vous pouvez utiliser Charles , c'est simple et facile à utiliser.

6
répondu Tom Susel 2013-06-26 05:36:35

Oui, wireshark marchera.

Je ne pense pas qu'il y ait un moyen facile de filtrer uniquement le trafic émulateur, puisqu'il provient de la même IP src.

peut-être que la meilleure façon serait de mettre en place un environnement VMware très nu et de n'y faire fonctionner que l'émulateur, au moins de cette façon il n'y aurait pas trop de trafic de fond.

5
répondu Bitdivision 2010-04-04 13:17:10

une version actuelle D'Android Studio n'a pas correctement appliqué l'argument -tcpdump . J'ai quand même réussi à capturer un dump en passant le paramètre correspondant à qemu comme suit:

tools/emulator -engine classic -tcpdump dump.cap -avd myAvd
5
répondu Tad 2016-08-18 13:06:14

vous pouvez utiliser Fiddler pour surveiller le trafic http:

http://aurir.wordpress.com/2010/03/22/tutorial-getting-android-emulator-working-with-fiddler-http-proxy-tool/

vous pouvez également utiliser Fiddler2 ici .

4
répondu Laramie 2011-10-20 01:54:47

, Vous pouvez démarrer l'émulateur avec la commande -avd Adfmf -http-proxy http://SYSTEM_IP:PORT . J'ai utilisé L'analyseur HTTP, mais ça devrait marcher pour tout le reste. Plus de détails peuvent être trouvés ici: http://stick2code.blogspot.in/2014/04/intercept-http-requests-sent-from-app.html

2
répondu Paddy 2014-04-03 14:27:06

vous pouvez surveiller le trafic réseau depuis Android Studio. Allez à Android Monitor et ouvrez l'onglet Réseau.

http://developer.android.com/tools/debugging/ddms.html

2
répondu Fivos 2015-11-19 10:32:13

il est maintenant possible d'utiliser Wireshark directement pour capturer le trafic des émulateurs Android. Il y a un extcap 151980920 "plugin appelé androiddump qui le rend possible. Vous devez avoir un exécutable tcpdump dans l'image système tournant sur l'émulateur (la plupart des images actuelles l'ont testé avec les images API 24 et API 27) et adbd tournant en root sur l'hôte (il suffit d'exécuter adb root ). Dans la liste des interfaces disponibles dans Wireshark (version Qt seulement, GTK + déprécié ne l'a pas) ou la liste affichée avec tshark -D il devrait y avoir plusieurs interfaces Android permettant de renifler le trafic Bluetooth, Logcat, ou Wifi, par exemple:

android-wifi-tcpdump-emulator-5554 (Android WiFi Android_SDK_built_for_x86 emulator-5554)

2
répondu Prof. Moriarty 2018-02-13 15:17:24

vous pouvez utiliser http://docs.mitmproxy.org/en/stable/install.html

c'est facile à configurer et ne nécessitera pas de modifications supplémentaires.

je passe par divers outils, mais j'ai trouvé qu'il est vraiment bon et facile.

1
répondu Dhiraj Himani 2017-01-13 03:59:14