Ein iPhone vom Mac aus debuggen

Diese Anleitung führt von einem Telefon mit installiertem Chute zu einem Mac-Fenster, das die entschlüsselten Anfragen dieses Telefons zeigt, mit Anfrage- und Antwort-Bodies, bereit zum Filtern und Exportieren. Sie reiht Dinge, die eigene Referenzseiten haben — die CA, die Hostliste, die Aufzeichnung, den Steuerkanal, Dashboard — in der Reihenfolge aneinander, in der man sie tatsächlich tut, und sagt bei jedem Schritt, was Sie sehen sollten, bevor Sie weitergehen.

Sie brauchen:

  • Chute iOS auf dem Telefon, mit Lizenz. HTTPS-Entschlüsselung und Body-Aufzeichnung sind auf dem iPhone lizenzpflichtig; ohne Lizenz verbindet sich alles Folgende trotzdem, aber HTTPS-Zeilen bleiben undurchsichtig und die Daten-Tabs lassen sich nicht auswählen. Siehe Lizenz und Aktivierung.
  • Chute Dashboard auf dem Mac — kostenlos, keine Lizenz.
  • Ein USB-Kabel (empfohlen: nichts muss im Netzwerk geöffnet werden, und es funktioniert auch über Mobilfunk), oder Telefon und Mac im selben WLAN.

Wenn Sie lieber nichts auf dem Mac installieren möchten: Die Web-Konsole zeigt dieselben Verbindungen, Bodies und Umschreibungen im Browser und braucht auf dem Telefon nur external-http-controller. Die Schritte 1–3 unten gelten unverändert; ab Schritt 4 folgen Sie stattdessen Die Web-Konsole öffnen.

1. CA installieren und als vertrauenswürdig einstufen

Auf dem Telefon, im Konfigurationseditor: MITM → CA konfigurieren → Neues CA-Zertifikat generieren, dann CA-Zertifikat im System installieren, dann unter Einstellungen → Allgemein → Info → Zertifikatsvertrauenseinstellungen vertrauen. Die vollständige Anleitung, einschließlich des Schritts, den alle übersehen, steht auf der Seite HTTPS-Entschlüsselung.

Sie sollten sehen: Die Zertifikatsseite zeigt Vertrauenswürdiges CA-Zertifikat. Zeigt sie Nicht vertrauenswürdig, ist der Vertrauensschalter in den Zertifikatsvertrauenseinstellungen noch aus — nichts Weiteres funktioniert, bis er an ist.

2. Festlegen, welche Hosts entschlüsselt werden

Chute entschlüsselt nur die Hosts, die Sie auflisten. Fügen Sie im MitM-Abschnitt des Editors (dem mit CA konfigurieren) die Hosts hinzu, die Sie sehen wollen. Beginnen Sie eng — mit dem API-Host der App, die Sie untersuchen — statt mit *: Jeder entschlüsselte Host kostet CPU auf dem Telefon, und manche Apps pinnen ihre Zertifikate und brechen, wenn sie entschlüsselt werden. *.apple.com schließen Sie am besten von Anfang an aus.

[MITM]
enable = true
hostname = api.example.com, *.example.net, -*.apple.com

Die Grammatik — Ports, --Ausschlüsse, /path-Eingrenzung — steht auf der Seite HTTPS-Entschlüsselung. Sie können Hosts später auch im Feld MitM-Regeln von Dashboard hinzufügen und entfernen, während Sie die Wirkung beobachten, und die passenden in die Konfiguration übernehmen.

3. Entschlüsselung und Aufzeichnung einschalten

Im Bedienfeld des Telefons zwei Schalter:

  • MitM — Entschlüsselung ein, für die Hosts aus Schritt 2.
  • Datenverkehrsaufzeichnung — Anfrage- und Antwort-Bodies aufzeichnen (die Einstellung replica). Ohne sie zeigt Dashboard jede Verbindung mit Regel und Richtlinie, aber keine Daten.

Beide lassen sich später auch von der Symbolleiste von Dashboard aus umschalten, es ist also kein Problem, sie jetzt zu vergessen. Keiner überlebt einen Neustart, sofern er nicht in der Konfiguration steht (replica = true in [General], enable = true in [MITM]), und auf dem iPhone sind beide lizenzpflichtige Funktionen, die die Engine ohne Lizenz verweigert, was auch immer die Konfiguration sagt.

4. Dashboard die Verbindung erlauben

Im Konfigurationseditor: Externer Controller.

  1. Schalten Sie Externer Controller-Zugriff ein — als Fußnote steht darunter Chute Dashboard/Chute CLI-Verbindung erlauben.
  2. Geben Sie einen Port ein (irgendein freier Port; 6170, wenn Sie keine Präferenz haben) und ein eigenes Passwort.
  3. Zugriff über WLAN erlauben: für USB aus lassen. Nur einschalten, wenn Sie über WLAN verbinden werden — es öffnet den Listener für jeden in diesem Netzwerk, der das Passwort hat.
  4. Sichern und den Tunnel starten (oder neu starten).

Sie sollten sehen: Das Bedienfeld zeigt Externer Zugriffsport: 6170 (Ihren Port). Fehlt die Zeile, läuft der Tunnel nicht mit der gesicherten Konfiguration — starten Sie ihn neu.

5. Dashboard verbinden

Schließen Sie das Telefon an den Mac an und tippen Sie auf dem Telefon, falls gefragt, auf Vertrauen. Öffnen Sie Chute Dashboard; wählen Sie im Fenster Neues Dashboard Über USB verbinden, wählen Sie das Telefon unter Gerät:, geben Sie den Port aus Schritt 4 und das Passwort ein, dann verbinden.

Stattdessen über WLAN: Mit entferntem Rechner verbinden, mit Host = Adresse des Telefons (Einstellungen → WLAN → ⓘ, IP-Adresse), und denselben Port und Passwort.

Sie sollten sehen: ein neues Dashboard-Fenster, dessen Liste Aktiv sich füllt, während das Telefon Verbindungen aufbaut. Benutzen Sie das Telefon ein paar Sekunden, wenn sie leer ist. Zwei Dinge können hier schiefgehen: Passwort stimmt nicht überein, und ein Telefon, das nicht erreichbar ist (falsche Adresse, WLAN-Zugriff aus, Tunnel läuft nicht) — das Fenster öffnet sich trotzdem und endet über WLAN mit Verbindung geschlossen, während es über USB bei Verbinden … bleibt und es erneut versucht, bis das Telefon antwortet. Die Seite Dashboard hat die Details.

6. Die Schalter in der Symbolleiste prüfen

Oben in der Liste „Aktiv“ die beiden Schalter aus Schritt 3, wie Dashboard sie sieht:

  • Datenverkehrsaufzeichnung sollte Datenverkehrsaufzeichnung deaktivieren anzeigen — die Aufzeichnung läuft. Steht dort Datenverkehrsaufzeichnung aktivieren, klicken Sie darauf.
  • MitM aktivieren (N Regeln) sollte MitM deaktivieren (N Regeln) anzeigen — die Entschlüsselung läuft, und N ist die Zahl der Hosts aus Schritt 2. Trägt die Schaltfläche keine Anzahl „(N Regeln)“, hat die Hostliste das Telefon nicht erreicht: Prüfen Sie Schritt 2 und starten Sie den Tunnel neu.

7. Reproduzieren und die Anfrage finden

Tun Sie in der App das, dessen Verkehr Sie sehen wollen. Dann engen Sie die Liste mit der Filterleiste darüber ein: Tippen Sie den Host in Host/URL filtern … — das Feld Filtern in der Symbolleiste ist dieselbe Suche — oder aktivieren Sie Nur MitM, um nur die entschlüsselten Zeilen zu behalten.

Sie sollten sehen: Zeilen für Ihren Host mit einem M in der Spalte Flags. Die Spalte Methode zeigt die Verbindungsart — HTTPS — und nicht das Verb: Anfragezeile und Statuszeile sind die ersten Zeilen von Anfrage-Header und Antwort-Header. Wählen Sie eine aus: Der Tab Anfrage-Header hat die Header, Query-Parameter und Cookies; Antwort-Daten zeigt den Body, als Text, bis Sie JSON für einen Baum oder Bild für ein Bild wählen.

Haben die Zeilen Ihres Hosts kein M, wurde die Verbindung nicht entschlüsselt. Nach Wahrscheinlichkeit geordnet: Der Host steht nicht in der Liste (oder das Muster passt nicht — api.example.com deckt www.example.com nicht ab); MitM ist aus; die CA ist installiert, aber nicht vertrauenswürdig (die App selbst zeigt dann Zertifikatsfehler); die App pinnt ihr Zertifikat (schließen Sie den Host aus und akzeptieren Sie, dass Sie nicht hineinsehen können); die App spricht HTTP/3 über QUIC, das sich nicht entschlüsseln lässt — setzen Sie block-quic, um sie zurück auf TCP zu lenken.

Hat die Zeile ein M, lassen sich Anfrage-Daten und Antwort-Daten aber nicht auswählen, wurde nichts aufgezeichnet: Die Aufzeichnung war aus, als diese Verbindung lief (einschalten, erneut reproduzieren), oder der Host wird von [Replica] auf dem Telefon ausgefiltert. Einen Body über 2 MiB gibt das Telefon nicht heraus; sein Tab zeigt Der Body konnte nicht geladen werden.

8. Das Gefundene aufbewahren

Markieren Sie die Zeilen und klicken Sie mit der rechten Maustaste auf eine davon: Auswahl als HAR exportieren … schreibt sie alle samt Bodies in eine Datei, die sich in den Entwicklerwerkzeugen eines Browsers, in Charles oder Proxyman öffnen lässt; curl-Befehl kopieren kopiert die Anfrage der angeklickten Zeile, um sie vom Terminal des Mac aus zu wiederholen; Auswahl als CSV exportieren … für eine Tabellenkalkulation. Als bin exportieren in einem Daten-Tab sichert einen Body, wie er aufgezeichnet wurde.

9. Etwas verändern (optional)

Die Felder der Ansicht MitM bearbeiten die laufende Engine. Zwei schnelle Experimente:

  • Header-Umschreibung → eine Regel für Ihren Host hinzufügen: Anfrage, Hinzufügen, X-Debug = 1. Reproduzieren; die neuen Zeilen tragen H und R, und Ausgelöste Regeln im Detailbereich zitiert Ihre Regel.
  • Mock-Antwort → einen Endpunkt mit einem eigenen Body beantworten. Der Typ des Antwort-Body ist ein Aufklappmenü — file, text, base64 oder tiny-gif —, und das Feld daneben nimmt, was der Typ braucht: einen Pfad bei file (Durchsuchen … wählt einen aus), den Body selbst bei text, seine Base64-Form bei base64 und nichts bei tiny-gif. Einen file-Pfad liest das Telefon, und das hat kein /Users/…; wählen Sie für ein Telefon also text oder base64 und legen Sie den Body in die Regel selbst, direkt hier im Bereich — siehe den Hinweis unter MitM-Werkzeuge. Gemockte Zeilen tragen K.

Hier hinzugefügte Regeln verschwinden, wenn der Tunnel neu startet. Sobald eine funktioniert, schreiben Sie sie in die Konfiguration — die Referenzseiten: URL-Umschreibung, Header-Umschreibung, Body-Umschreibung, Mock-Antwort.

Wenn Sie fertig sind

  • Schalten Sie Datenverkehrsaufzeichnung aus oder setzen Sie replica = false: Bodies sammeln sich auf dem Telefon, solange die Aufzeichnung läuft.
  • Schalten Sie Zugriff über WLAN erlauben wieder aus, falls Sie es eingeschaltet haben.
  • Lassen Sie die CA installiert, wenn Sie das wieder tun werden; andernfalls entfernen Sie sie unter Einstellungen → Allgemein → VPN & Geräteverwaltung.
S. Smart Rabbit LLC © All Rights Reserved            updated 2026-09-29 21:57:05

Diese Seite ist eine Übersetzung der englischen Version. Bei Abweichungen ist die englische Version maßgeblich.

results matching ""

    No results matching ""