169 Stimmen

Android-Emulator: Wie überwacht man den Netzwerkverkehr?

Wie kann ich den von meinem Android-Emulator gesendeten und empfangenen Netzwerkverkehr überwachen?

126voto

Christopher Orr Punkte 108221

Es gibt zwei Möglichkeiten, den Netzwerkverkehr zu erfassen direkt von einem Android-Emulator aus:

  1. Kopieren und Ausführen einer ARM-kompatible tcpdump-Binärdatei auf dem Emulator, das Schreiben der Ausgabe auf die SD-Karte, vielleicht (z.B. tcpdump -s0 -w /sdcard/emulator.cap ).

  2. ausführen. emulator -tcpdump emulator.cap -avd my_avd um den gesamten Datenverkehr des Emulators in eine lokale Datei auf Ihrem PC zu schreiben

In beiden Fällen können Sie die pcap-Datei dann wie gewohnt mit tcpdump oder Wireshark analysieren.

22voto

Waltsu Punkte 612

Es ist auch möglich, einen http-Proxy zu verwenden, um http-Anfragen vom Emulator aus zu überwachen. Sie können übergeben -http-proxy Flagge beim Starten eines neuen Emulators, um den Proxy zu setzen (Beispiel Rülpsen ), um den Android-Datenverkehr zu überwachen. Beispiel Nutzung ./emulator -http-proxy localhost:8080 -avd android2.2 . Beachten Sie, dass ich in meinem Beispiel Burp verwende, das den Port 8080 abhört. Mehr Informationen finden Sie unter ici .

16voto

Tom Susel Punkte 3207

Für OS X können Sie Folgendes verwenden Karl Es ist einfach und leicht zu bedienen.

Weitere Informationen finden Sie unter Android-Emulator und Charles Proxy Blogbeitrag.

12voto

Prof. Moriarty Punkte 511

Es ist jetzt möglich, Wireshark direkt zu verwenden, um den Datenverkehr des Android-Emulators aufzuzeichnen. Es gibt eine extcap Plugin namens androiddump die es möglich macht. Sie brauchen eine tcpdump im System-Image, das auf dem Emulator läuft (die meisten aktuellen Images haben es, getestet mit API 24 und API 27 Images) und adbd als Root auf dem Host laufen (führen Sie einfach adb root ). In der Liste der verfügbaren Schnittstellen in Wireshark (nur in der Qt-Version, das veraltete GTK+ hat sie nicht) oder in der Liste, die mit tshark -D Es sollte mehrere Android-Schnittstellen geben, die es ermöglichen, Bluetooth-, Logcat- oder Wifi-Verkehr abzuhören, z.B.:

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

9voto

Bitdivision Punkte 97

Ja, Wireshark wird funktionieren.

Ich glaube nicht, dass es eine einfache Möglichkeit gibt, den reinen Emulatorverkehr herauszufiltern, da er von derselben src-IP kommt.

Vielleicht wäre es am besten, eine reine VMware-Umgebung einzurichten und nur den Emulator darin laufen zu lassen, dann gäbe es zumindest nicht zu viel Hintergrundverkehr.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X