it-swarm.com.de

Android: Erfassen von HTTP-Anforderungen mit einem nicht gerooteten Android-Gerät

Ich habe eine Android-Anwendung, in der ein Drittanbieterglas verwendet wird. Die HTTP-Anforderung wird vom Drittanbieter-JAR an den Server gesendet, wenn die Anwendung ausgeführt wird. Ich muss die HTTP-Anforderung erfassen, die von einem Drittanbieter-Jar gesendet wird. Ich frage mich, ob es eine einfache Möglichkeit gibt, mit nicht gerootetem Gerät zu implementieren

Zum Starten: Ich habe versucht, "proxyDroid" herunterzuladen, es muss jedoch ein gerootetes Telefon Ich habe auch versucht, "shark for root" mit "shark reader" herunterzuladen, das ebenfalls ein gerootetes Gerät .__ könnte die vollständige Anforderung erfassen, aber es ist nur ein gerootetes Gerät

Ich brauche etwas, was Fiddler/Wireshark für Fenster tun kann. Ein Netzwerkpaketanalysator, der leicht in eine Android-Anwendung integriert werden kann und das Anforderungsobjekt mit allen Headerfeldern enthalten kann. 

53
Venkatesh

Sie können Charles - einen HTTP-Proxy/HTTP-Monitor/Reverse-Proxy installieren, mit dem Entwickler den gesamten HTTP- und SSL/HTTPS-Verkehr zwischen ihrem Computer und dem Internet auf Ihrem PC oder MAC anzeigen können.

Konfigurationsschritte:

  • Lassen Sie Ihr Telefon und Ihren PC oder MAC in demselben LAN
  • Starten Sie Charles, den Sie installiert haben (Standard-Proxy-Port ist 8888).
  • Richten Sie die WLAN-Konfiguration Ihres Telefons ein: Stellen Sie die IP-Adresse des Delegaten auf die IP-Adresse Ihres PCs oder MACs, den Port des Delegaten auf 8888 ein
  • Lass deine App auf deinem Handy laufen. Und http-Anfragen auf Charles überwachen.
48
SFeng

Ich habe gerade Drony installiert, ist keine Shareware und benötigt kein root auf dem Handy mit Android 3.x oder höher 

https://play.google.com/store/apps/details?id=org.sandroproxy.drony

Es fängt die Anforderungen ab und wird in einem LOG angezeigt

Es gibt viele Möglichkeiten, dies zu tun, aber eine davon ist Fiddler

Fiddler-Konfiguration

  1. Gehe zu Optionen 
  2. Aktivieren Sie auf der Registerkarte HTTPSHTTPS-Verbindungen erfassen und HTTPS-Datenverkehr entschlüsseln 
  3. Aktivieren Sie auf der Registerkarte Verbindungen die Option Erlaube Remote-Computern, eine Verbindung herzustellen 
  4. Fiddler neu starten

Android-Konfiguration

  1. Stellen Sie eine Verbindung zum selben Netzwerk her 
  2. Ändern Sie die Netzwerkeinstellungen 
  3. Fügen Sie einen Proxy für die Verbindung mit der IP-Adresse (oder dem Hostnamen) Ihres PCs und dem Standardport des Fiddlers hinzu (8888/Sie können dies in den Einstellungen ändern)

Jetzt können Sie in Fiddler das vollständige Protokoll Ihres Geräts anzeigen

Auch hier finden Sie eine vollständige Anleitung hier

7
Arash Hatami

Sie können Fiddler als Webdebugger verwenden http://www.telerik.com/fiddler/web-debugging

Fiddler ist ein Debugging-Tool von telerik, mit dem Sie jede Anfrage abfangen können, die von Ihrem Computer aus initiiert wird.

6
Citizen Ken

SandroProxy scheint besser zu sein als Drony (vom selben Entwickler): Sie können (Muss aber nicht) den Verkehr in Ihrem PC-Browser bequem anzeigen und analysieren.

Sollte auch in Emulatoren funktionieren.

2

sie können Burp-Suite verwenden. Folgen Sie dem nachstehenden Verfahren.

Konfigurieren Sie den Burp-Proxy-Listener

Gehen Sie in Burp zur Registerkarte "Proxy" und dann zur Registerkarte "Optionen". Klicken Sie im Abschnitt "Proxy Listeners" auf die Schaltfläche "Hinzufügen".

Geben Sie auf der Registerkarte "Bindung" im Feld "An Port binden:" eine Portnummer ein, die derzeit nicht verwendet wird, z. "8082". Wählen Sie dann die Option "Alle Schnittstellen" und klicken Sie auf "OK".

Konfigurieren Sie Ihr Gerät für die Verwendung des Proxys

Gehen Sie auf Ihrem Android-Gerät zum Menü „Einstellungen“.

Wenn Ihr Gerät noch nicht mit dem von Ihnen verwendeten drahtlosen Netzwerk verbunden ist, schalten Sie die Schaltfläche "Wi-Fi" ein und tippen Sie auf die Schaltfläche "Wi-Fi", um auf das Menü "Wi-Fi" zuzugreifen.

Suchen Sie in der Tabelle "Wi-Fi-Netzwerke" Ihr Netzwerk und tippen Sie darauf, um das Verbindungsmenü aufzurufen.

Tippen Sie auf "Verbinden". Wenn Sie ein Kennwort eingerichtet haben, geben Sie es ein und fahren Sie fort.

Wenn Sie verbunden sind, halten Sie die Netzwerk-Taste gedrückt, um das Kontextmenü aufzurufen. Tippen Sie auf "Netzwerk-Konfiguration ändern".

Stellen Sie sicher, dass das Kontrollkästchen "Erweiterte Optionen anzeigen" aktiviert ist.

Ändern Sie die "Proxy-Einstellungen" in "Manuell", indem Sie auf die Schaltfläche tippen.

Geben Sie anschließend die IP-Adresse des Computers, auf dem Burp ausgeführt wird, in den "Proxy-Hostnamen" ein. Geben Sie die zuvor im Abschnitt "Proxy-Listener" konfigurierte Portnummer ein, in diesem Beispiel "8082".

Testen Sie die Konfiguration

Wechseln Sie in Burp zur Registerkarte "Proxy Intercept" und stellen Sie sicher, dass Intercept aktiviert ist (wenn die Schaltfläche "Intercept ist deaktiviert" lautet, klicken Sie darauf, um den Interception-Status umzuschalten).

Öffnen Sie den Browser auf Ihrem Android-Gerät und rufen Sie eine HTTP-Webseite auf (Sie können eine HTTPS-Webseite besuchen, wenn Sie das Burp-CA-Zertifikat auf Ihrem Android-Gerät installiert haben.)

Die Anfrage sollte in Burp abgefangen werden.

2
Vis

Legen Sie ein https://mitmproxy.org/ als Proxy in demselben LAN fest 

  • Open Source
  • In Python gebaut 3
  • Installierbar über Pip
0
AlexisCaffa