Android-App-Traffic mitschneiden
Die Busymate DevTools-App für Android betreibt eine VPN-basierte Aufzeichnungs-Engine direkt auf dem Smartphone. Kein Desktop-Proxy, kein gemeinsames WLAN, keine Proxy-Einstellung — und eine ehrliche Auskunft darüber, welche Apps sich auf einem Gerät ohne Root tatsächlich entschlüsseln lassen.
Unter Android führt der klassische Weg zum HTTPS einer App über einen Proxy auf dem Laptop plus einen manuellen Proxy-Eintrag in den WLAN-Einstellungen des Smartphones. Das funktioniert, bis du dieses Netz verlässt. Busymate DevTools nimmt den Proxy aus dem Bild: Die App registriert sich als VPN des Smartphones, sieht jede Verbindung, die das Gerät aufbaut, entschlüsselt die von dir gewählten Hosts mit einem auf dem Gerät erzeugten Zertifikat und streamt das Ergebnis in dasselbe Dashboard, das auch die iOS-App und der Desktop-Proxy nutzen.
Eine Plattform-Tatsache wird diese Anleitung nicht verschweigen. Seit Android 7.0 ignoriert eine App vom Nutzer installierte Zertifikate, sofern sie sich nicht ausdrücklich dafür entscheidet. Das Smartphone kann also den Traffic jeder App aufzeichnen, aber nur die Apps entschlüsseln, die dem Nutzer-Zertifikatsspeicher vertrauen — in der Praxis deine eigenen Debug-Builds sowie Systembrowser und ähnliche Clients. Schritt fünf zeigt die Ein-Datei-Änderung, die deine App dazuzählt, und die Pinning-Anleitung deckt den Rest ab.
Was du
Ein Smartphone, ein Konto und — wenn du entschlüsselte Bodies deiner eigenen App willst — ein Debug-Build, den du neu bauen kannst.
Ein Android-Smartphone mit Android 7.0 oder neuer. Zum Aufzeichnen sind weder Root noch ein Computer nötig.
Ein Busymate-Konto. Melde dich mit Google oder mit E-Mail und Passwort an; die Anmeldung koppelt das Smartphone mit deinem Dashboard.
Die Hostnamen der API, die du lesen willst, für die SSL-Proxy-Liste. Nur gelistete Hosts werden entschlüsselt.
Für deine eigene App: die Möglichkeit, ihren Debug-Build mit einer Ein-Datei-Netzwerksicherheitskonfiguration neu zu bauen, damit sie dem vom Smartphone erzeugten Zertifikat vertraut.
Der Reihe
Sechs Schritte. Die geführte Einrichtung der App erledigt die Plattform-Abfragen Bildschirm für Bildschirm; die einzige Arbeit außerhalb der App ist die Debug-Build-Änderung in Schritt fünf.
- 01
App installieren und der Aufzeichnung zustimmen
Installiere Busymate DevTools aus Google Play, oder lade die signierte Release-APK von der Android-Landingpage, falls der Eintrag in deiner Region noch nicht sichtbar ist. Beim ersten Start bittet die App um deine ausdrückliche Zustimmung zur Aufzeichnung des Netzwerk-Traffics. Die Aufzeichnung ist Opt-in und bleibt aus, bis du sie einschaltest — im Hintergrund läuft nichts, bevor du es sagst.


- 02
Anmelden — das Smartphone koppelt sich selbst
Melde dich mit Google oder mit E-Mail und Passwort an. Wie auf iOS ist die Anmeldung die Kopplung: Die App tauscht die Sitzung gegen ein langlebiges Geräte-Credential, das im verschlüsselten App-Speicher liegt, und das Smartphone erscheint einen Moment später als Online im Tab Devices des Dashboards. Der Startbildschirm zeigt den Gerätenamen, eine Konto-Pille, die Karte mit dem Aufzeichnungsschalter und eine Bereitschaftskarte mit einem Zahnrad für die Einstellungen.


- 03
Die zu entschlüsselnden Domains hinzufügen
Öffne über das Zahnrad die Einstellungen und gehe zu SSL Proxying. Liste die Hosts auf, deren HTTPS-Bodies du lesen willst; alles andere bleibt Ende-zu-Ende verschlüsselt und erscheint als Hostname mit Request-Zähler. Ein führendes Sternchen mit Punkt deckt eine Domain und all ihre Subdomains ab. Im selben Bereich liegen die Entschlüsselungsoptionen und eine Ignore-Hosts-Liste für Hintergrundrauschen, das du nie im Feed haben willst.
Das musst du nicht am Smartphone tun. Das Dashboard bearbeitet dieselbe Liste pro Gerät, und eine Änderung dort wird live aufs Smartphone gepusht — ein Teammitglied kann also einen Host hinzufügen, während du weiter testest.
- 04
Die geführte Einrichtung durchlaufen
Tippe auf die Bereitschaftskarte. Die geführte Einrichtung führt Bildschirm für Bildschirm durch drei Plattform-Abfragen: die Aufzeichnungsbenachrichtigung erlauben, das eigens für dich erzeugte Zertifikat in den Nutzer-Zertifikatsspeicher des Smartphones installieren und Androids eigene VPN-Verbindungsanfrage genehmigen. Jeder Schritt springt auf „erledigt“, sobald du ihn abschließt, und die Karte meldet Bereitschaft, wenn alle drei durch sind.
Dieses Zertifikat gehört nur deinem Gerät — es wird auf dem Smartphone erzeugt, nie von einem gemeinsamen Server geladen — und es ist das, was der App erlaubt, für jeden Host, den du entschlüsseln willst, ein vertrauenswürdiges Zertifikat vorzulegen.


- 05
Der eigenen App Vertrauen in den Nutzer-Zertifikatsspeicher beibringen
Diesen Schritt kann kein Android-Aufzeichnungstool überspringen. Seit Android 7.0 vertraut eine App, die auf diese Version oder höher zielt, standardmäßig nur dem System-Zertifikatsspeicher — deine App schließt die Verbindung also in dem Moment, in dem das Smartphone sein erzeugtes Zertifikat vorlegt. Die Lösung ist eine kleine Netzwerksicherheitskonfiguration, nur für Debug-Builds, die den Nutzerspeicher neben dem Systemspeicher hinzufügt. Android entfernt den Debug-Overrides-Block aus Release-Builds vollständig, er kann also nicht in die Produktion gelangen.
Lege die Datei unten in deiner App an, behalte den System-Anker neben dem Nutzer-Anker, damit gewöhnliches HTTPS weiter funktioniert, verweise aus dem application-Tag deines Manifests darauf, und baue und installiere dann den Debug-Build neu. Das alte Binary erneut zu installieren bringt nichts — das Vertrauen steckt in der frisch gebauten App.
Die Netzwerksicherheitskonfiguration nur für Debug, dann der Verweis im Manifest xml<!-- app/src/main/res/xml/network_security_config.xml --> <network-security-config> <debug-overrides> <trust-anchors> <certificates src="user" /> <certificates src="system" /> </trust-anchors> </debug-overrides> </network-security-config> <!-- AndroidManifest.xml --> <application android:networkSecurityConfig="@xml/network_security_config" ... > - 06
Aufzeichnung einschalten und inspizieren
Schalte den Aufzeichnungsschalter ein. Android zeigt das VPN-Schlüsselsymbol in der Statusleiste, und jeder Request des Smartphones landet ab jetzt im Dashboard-Feed und im Network-Bildschirm der App — eine Statuszeile, Statistik-Pillen, Kategorie-Chips und eine nach Host gruppierte Liste mit Suche unten. Tippe auf einen Host und dann auf einen Request für die vollständigen Details: die Tabs General, Header, Summary, Timing und Body für Request wie Response.
Öffne deine App und löse einen Aufruf aus. Ihre HTTPS-Einträge zeigen jetzt lesbare Header und einen entschlüsselten Body statt eines undurchsichtigen Tunnels. Wenn du fertig bist, schalte die Aufzeichnung aus — das VPN fällt weg, und Zertifikat wie App lassen sich wie jede andere entfernen.


Was schief
Die meisten Android-Probleme sind die Plattform, die bei Zertifikaten streng ist — und der Feed sagt dir, welches du getroffen hast.
Der Traffic deiner eigenen App erscheint weiterhin verschlüsselt
Die Netzwerksicherheitskonfiguration hat nicht gegriffen. Prüfe, dass du den Debug-Build nach dem Hinzufügen neu gebaut und installiert hast, dass das Manifest auf die Datei zeigt und dass das Zertifikat im Nutzerspeicher liegt. Liegt die Konfiguration in einem reinen Debug-Source-Set, muss das Manifest-Attribut ebenfalls im Debug-Manifest stehen.
Eine Store-App, die du nicht gebaut hast, bleibt undurchsichtig
Auf einem Smartphone ohne Root erwartbar: Diese App hat sich nie für Nutzerzertifikate entschieden, also zeichnet das Smartphone die Verbindung nur als Metadaten auf. Sie zu entschlüsseln braucht ein gerootetes Gerät, auf dem das Zertifikat in den Systemspeicher kann — die Stufe, die die Phone-Farm nutzt —, und selbst das öffnet keine App, die ihr eigenes Zertifikat pinnt.
Androids VPN-Abfrage kommt immer wieder
Eine andere VPN-App ist aktiv, oder die frühere Genehmigung wurde in den VPN-Einstellungen des Systems widerrufen. Es kann nur ein VPN gleichzeitig laufen; trenne das andere und genehmige die Abfrage erneut über die geführte Einrichtung.
Die Aufzeichnungsbenachrichtigung ist nie erschienen
Die Benachrichtigungsberechtigung wurde bei der ersten Abfrage verweigert. Aktiviere sie für Busymate DevTools in den App-Einstellungen des Systems erneut; die geführte Einrichtung prüft sie nach und setzt den Schritt auf „erledigt“.
Ein Host steht auf der Liste, aber die Pfad-Regel feuert nicht
Regeln, die auf einen Pfad matchen, brauchen einen entschlüsselten Host; bei einem Host, der verschlüsselt durchläuft, ist nur der Hostname sichtbar. Setze den Host zuerst auf die SSL-Proxy-Liste und prüfe die Regel dann erneut.
Häufige
Brauche ich Root?
Nicht fürs Aufzeichnen und nicht zum Entschlüsseln deiner eigenen Debug-Builds oder von Clients, die dem Nutzerspeicher vertrauen. Root ist nur nötig, um das Zertifikat in den Systemspeicher zu bringen, damit Apps, die du nicht gebaut hast, ihm vertrauen.
Steckt darunter ein Proxy?
Nein. Die App ist als VPN des Smartphones registriert und sieht daher den Traffic jeder App über WLAN und Mobilfunk, ohne eine Proxy-Einstellung anzufassen. Für Browser und Backends gibt es einen separaten Desktop-Proxy, aber diese Anleitung nutzt ihn nie.
Was passiert mit Apps, die nicht auf meiner Liste stehen?
Sie funktionieren genau wie zuvor. Ihre Verbindungen werden nur als Host und Timing erfasst und nie entschlüsselt, und Ignore Hosts kann die lautesten komplett aus dem Feed nehmen.
Der Traffic deiner App,
Installiere die App, durchlaufe die geführte Einrichtung, füge die Ein-Datei-Debug-Konfiguration hinzu und sieh zu, wie die Requests deiner App entschlüsselt landen.