Android-Capture
Der Mitschnitt von HTTPS unter Android per Proxy bleibt oft an dem Punkt hängen, dass „das Zertifikat zwar installiert ist, die App es aber trotzdem nicht akzeptiert“. Auf neueren Systemen vertrauen Apps Benutzerzertifikaten standardmäßig nicht, und Apps mit Certificate Pinning lassen sich überhaupt nicht mitschneiden. Android-Capture verfolgt einen anderen Ansatz: Capture des gesamten Geräts mit automatischer Entschlüsselung, ohne dass zu irgendeinem Zeitpunkt ein Zertifikat auf dem Telefon installiert werden muss. Physische Geräte und Emulatoren werden gleichermaßen unterstützt, und selbst bei Apps mit Certificate Pinning oder eigener Verschlüsselung wird der Klartext von innen ausgelesen.
1. Gemeinsame Vorbereitung
Abschnitt betitelt „1. Gemeinsame Vorbereitung“- Gerät verbinden: Verbinde es per Datenkabel mit dem Computer und aktiviere USB-Debugging; Emulatoren werden in der Regel automatisch erkannt.
- Root erforderlich: Alle drei Methoden setzen ein gerootetes Gerät voraus.
- Kein Zertifikat zu installieren: Keine davon ist eine Man-in-the-Middle-Proxy-Methode, es muss also kein Zertifikat auf dem Telefon installiert werden, was sie unter Android genau deshalb unkomplizierter macht als Proxy-Capture. Wird doch ein Zertifikat benötigt, kann ein gerootetes Gerät das vertrauenswürdige Zertifikat auch automatisch installieren und erspart dir die manuellen Schritte.
- Sofort einsatzbereit: Die für den Mitschnitt benötigten Hilfskomponenten werden anhand der Gerätearchitektur automatisch heruntergeladen und zwischengespeichert, ganz ohne manuelle Einrichtung deinerseits.
2. Emulator-Capture
Abschnitt betitelt „2. Emulator-Capture“Der Mitschnitt des Datenverkehrs innerhalb eines Android-Emulators auf dem Computer funktioniert nahezu genauso wie beim physischen Gerät und ist oft sogar einfacher:
- Automatisch erkannt: Emulatoren gängiger Marken werden automatisch gefunden, ganz ohne Datenkabel und ohne manuelle Verbindung (nur physische Geräte benötigen USB).
- Meist bereits gerootet: Emulatoren sind in der Regel bereits gerootet oder lassen sich mit einem Klick rooten, was die Capture-Voraussetzung bequem erfüllt.
- „NIC-Schlüssel“ bevorzugen: Der System-Kernel eines Emulators ist häufig älter und unterstützt „NIC-Capture“ womöglich nicht, wähle also einfach NIC-Schlüssel, der die beste Kompatibilität mit Emulatoren bietet.
Alles Weitere ist wie beim physischen Gerät: Wähle das Emulator-Gerät aus und schneide mit den folgenden Methoden mit.
3. Wie du dich zwischen den drei Methoden entscheidest
Abschnitt betitelt „3. Wie du dich zwischen den drei Methoden entscheidest“| Deine Situation | Was du verwenden solltest | Hinweise |
|---|---|---|
| Älteres Gerät / Emulator / Alter unklar | NIC-Schlüssel (empfohlene Voreinstellung) | Beste Kompatibilität; funktioniert auf nahezu jedem gerooteten Gerät |
| Ein neueres, gerootetes physisches Gerät | NIC-Capture | Am einfachsten, in sich abgeschlossen |
| Es geht nur um eine App, oder sie lässt sich im NIC-Modus nicht entschlüsseln | App-Layer-Capture | Liest den Klartext aus dem Inneren der App und kommt an Certificate Pinning / eigener Verschlüsselung vorbei |
Die ersten beiden sind Capture des gesamten Geräts mit automatischer Entschlüsselung und ohne zu installierendes Zertifikat; die dritte zielt auf eine einzelne App und kommt selbst mit den am stärksten abgesicherten zurecht.
4. NIC-Schlüssel (empfohlene Voreinstellung)
Abschnitt betitelt „4. NIC-Schlüssel (empfohlene Voreinstellung)“Erfasse den gesamten Datenverkehr auf der NIC des Geräts (standardmäßig WLAN) und entschlüssele ihn automatisch, ohne eine bestimmte App auswählen zu müssen und ohne zu installierendes Zertifikat.
- Beste Kompatibilität: Er ist beim Kernel nicht wählerisch, und ältere Geräte sowie diverse Emulatoren funktionieren allesamt, was sein größter Vorteil gegenüber NIC-Capture ist. Wenn du nicht sicher bist, wie neu das Gerät ist, ist dies die sicherste Wahl.
- Bei wenigen Apps erscheint nur Chiffretext: Einzelne Apps, die nicht standardmäßige Verschlüsselungskomponenten mitbringen, haben womöglich Datenverkehr, der sich nicht entschlüsseln lässt; wechsle in diesem Fall zur unten beschriebenen App-Layer-Capture, um sie gezielt zu behandeln.
So gehst du vor: Gerät auswählen → NIC auswählen (standardmäßig WLAN) → Mitschnitt starten.
5. NIC-Capture
Abschnitt betitelt „5. NIC-Capture“Erfasst ebenfalls den gesamten Datenverkehr auf der NIC des Geräts und entschlüsselt ihn automatisch. Was sie auszeichnet: Sie ist in sich abgeschlossen und am einfachsten zu verwenden (die Daten und die zum Entschlüsseln nötigen Informationen sind zusammen verpackt).
- Voraussetzung: Erfordert ein neueres Gerät (neuerer Kernel). Ist das Gerät zu alt, um zu qualifizieren, erhältst du beim Start des Mitschnitts eine klare Meldung „NIC-Capture nicht unterstützt“; wechsle dann einfach zu NIC-Schlüssel.
So gehst du vor: Gerät auswählen → NIC auswählen (standardmäßig WLAN) → Mitschnitt starten.
6. App-Layer-Capture
Abschnitt betitelt „6. App-Layer-Capture“Sie zielt auf eine einzelne App, liest den Klartext direkt aus deren Innerem aus, und weder Certificate Pinning noch eigene Verschlüsselung können sie aufhalten.
- Nicht durch die Schwächen des NIC-Modus begrenzt: Auch bei Apps, die sich im NIC-Modus nicht entschlüsseln lassen (Certificate Pinning, eigene Verschlüsselung), wird hier der Klartext ausgelesen, denn er wird aus dem Inneren der App gelesen, ohne als Man-in-the-Middle aufzutreten und ohne auf NIC-Entschlüsselung angewiesen zu sein.
- „Socket-Traffic“ als Rückfalloption aktivieren, wenn sich nichts decodieren lässt: Bei Apps, die statisch linken / eine eigene Bibliothek verwenden und aus denen sich mit den üblichen Methoden kein Klartext gewinnen lässt, aktiviere diesen Schalter, um über einen tieferliegenden Weg an die Daten zu gelangen.
- Zielprogramm neu starten: Du kannst die App zunächst schließen und neu starten, um ihren Datenverkehr in der Startphase zu erfassen.
- Zielt nur auf die von dir ausgewählte App (nicht auf den Datenverkehr des gesamten Geräts).
So gehst du vor: Ziel-App auswählen (aus der Liste der installierten Apps auswählen oder einen Paketnamen / Prozessnamen eintragen; leer lassen, um die App im Vordergrund zu erfassen) → „Zielprogramm neu starten“ ankreuzen, falls du den Datenverkehr beim Start erfassen musst → Mitschnitt starten.
7. Du kannst auch Proxy-Capture verwenden
Abschnitt betitelt „7. Du kannst auch Proxy-Capture verwenden“Neben den drei oben genannten Methoden kann ein Android-Gerät auch Proxy-Capture nutzen: Richte den WLAN-Proxy des Geräts auf diesen Rechner, installiere das Wurzelzertifikat, und schon kannst du HTTPS-Klartext genau wie auf einem Computer mitschneiden und das gesamte Repertoire an Umschreibungs- und Replay-Funktionen nutzen. Das eignet sich zum Debuggen von Apps, die über den System-Proxy laufen, oder für Szenarien, die regelbasiertes Umschreiben / Replay mobiler Anfragen erfordern.
- Zertifikat installieren: QR-Code auf dem Telefon scannen für die Installation mit einem Tipp → Zertifikatsverwaltung und -installation
- Capture- und Umschreibungsfunktionen: → Proxy-Capture
8. Wann sich Android-Capture eignet
Abschnitt betitelt „8. Wann sich Android-Capture eignet“- Analyse der Netzwerkanfragen einer Telefon-App und Untersuchung von Endpunkt-Problemen, mit automatischer Entschlüsselung des gesamten Geräts und ohne Herumbasteln an Zertifikaten.
- Aus der Perspektive des gesamten Geräts erkennen, mit welchen Endpunkten ein Gerät oder eine App tatsächlich Verbindung aufgenommen und was es gesendet hat.
- Wenn eine App Certificate Pinning einsetzt und der NIC-Modus sie nicht entschlüsseln kann, nutze App-Layer-Capture, um den Klartext gezielt zu gewinnen.
- Um gleichzeitig zu betrachten und zu bearbeiten (Umschreiben / Replay), verwende Proxy-Capture.
Zurück zu Proxy-Capture · Verwandt: Datenansicht und Decodierung · Zertifikatsverwaltung und -installation