In diesem Beitrag möchte ich zeigen wie man im eigenen Heimnetzwerk den Datenverkehr bestimmter iOS-Apps beobachten kann, um z. B. zu sehen, welche Endpunkte (URLs bzw. APIs) von einer App angesprochen werden und welche Daten ausgetauscht werden.

Charles Proxy laden und installieren

Zunächst benötigst Du das Programm Charles Proxy. Die kostenlose Version kannst Du immer 30 Minuten lang nutzen, danach musst Du die Anwendung neu starten. Sie ist für 30 Tage kostenlos. Für meine Zwecke reicht dies aus. Wenn Du willst, kannst Du das Programm auch für 50$ kaufen.

Root Certificate Authority (CA) auf dem Mac erstellen

Damit die Daten unverschlüsselt zu sehen sind, müssen wir einen „Man in the middle Angriff“ auf uns selbst starten.

Hierfür muss zunächst ein Root Certificate Authority (CA) angelegt und installiert werden:

Help > SSL Proxying > Save Charles Root Certificate

Nachdem das Zertifikat erstellt wurde, musst Du dies öffnen. Es wird dann automatisch dem Schlüsselbund hinzugefügt. Nun musst Du es dort suchen. Durch einen Doppelklick auf das Zertifikat öffnet sich ein neues Fenster. Dort unter dem Punkt „Vertrauen“ > „Bei Verwendung dieses Zertifikats“ die Einstellung „Immer vertrauen“ wählen.

Anschließend in der Charles App den folgenden Menüpunkt wählen:

Proxy > SSL Proxying Settings…

und dort den Eintrag */* für Host und Port hinzufügen.

Einstellungen auf dem iPhone

Als nächstes musst Du das erstellte Root CA per Mail an Dein iPhone schicken und den Anhang dort öffnen und installieren.

Das Zertifikat ist dann unter „Einstellungen > Allgemein > Profil“ zu finden.

Damit dem Zertifikat auch immer vertraut wird, muss Du es noch unter „Einstellungen > Allgemein > Info > Zertifikatsvertrauenseinstellungen“ aktivieren.

Zum Schluss musst Du nur noch den Proxy in Deiner WLAN-Verbindung setzen. Damit dies auch wirklich funktioniert, stelle sicher, dass beide Geräte im gleichen Netzwerk sind.

Nun musst Du nur noch die IP-Adresse des Rechners herausfinden, auf dem Charles installiert ist. Diese trägst Du dann im iPhone unter „Einstellungen > WLAN > [Name des WLANs] > HTTP Proxy > Manuell“ ein und gibst Port 8888 an.

Wenn alles geklappt hat, erscheint in der Charles App ein Popup, dass Dich um Erlaubnis zum Verbindungsaufbau fragt. Dies bestätigst Du mit „allow“.

Fertig! Nun kannst Du von iOS Apps alles Verbindungen sehen und die übertragenen Daten untersuchen.

Wenn Du ohne den Proxy wieder in Deinem WLAN surfen willst, kannst Du den Proxy einfach in den WLAN-Einstellungen deaktivieren, indem Du auf „aus“ (oder „automatisch“) stellst. Sobald Du die Einstellungen wieder auf „manuell“ stellst, erscheinen die zuvor eingegebene IP-Adresse und der Port wieder.

Wenn alles geklappt hat, sollte es dann so in Charles aussehen: