Einen Breakpoint setzen
Halte einen Request oder eine Antwort eines echten Smartphones mitten im Flug an, bearbeite das rohe HTTP im Dashboard und lass es weiterlaufen — oder brich es ab. Funktioniert auf iOS im VPN- und PAC-Modus, auf Android über den Proxy und in einem aufgezeichneten Chrome.
Traffic beobachten sagt dir, was die App gesendet hat. Ein Breakpoint lässt dich es ändern, bevor es ankommt. Wenn ein Request oder eine Antwort auf ein von dir gesetztes Muster passt, wird sie festgehalten — auf dem Smartphone selbst im iOS-VPN-Modus, im Tunnel, oder auf dem Proxy-Server für PAC-Modus-iOS, Android und Browser — und erscheint im Dashboard als Live-Pause mit einem Editor für das rohe HTTP. Du bearbeitest und entscheidest dann: weiter mit oder ohne deine Änderungen, oder abbrechen.
Das Dashboard ist in jedem Fall das Cockpit; das Smartphone muss nie angefasst werden. Muster sind einfache Host-plus-Pfad-Platzhalter, ein Ein-Klick-Sammelmuster pausiert alles, und eine vergessene Pause läuft von selbst ab — ein Breakpoint, von dem du weggegangen bist, kann den Traffic des Smartphones nie dauerhaft blockieren.
Was du
Ein Smartphone, das bereits aufzeichnet, und der Host, den du pausieren willst, darauf entschlüsselt.
Ein gekoppeltes Smartphone mit eingeschalteter Aufzeichnung — iOS in einem der beiden Modi oder Android über den Proxy.
Der Host auf der SSL-Proxy-Liste dieses Geräts. Ein Muster mit Pfad braucht einen entschlüsselten Host; ein verschlüsselter Host lässt sich nur per Name treffen.
Das Dashboard offen und etwa sechzig Sekunden Aufmerksamkeit pro Pause — das ist das Timeout.
Optional eine Umgebungsvariable mit einem frischen Token, damit du einen Aufruf wiederholen kannst, ohne das Geheimnis einzufügen.
Der Reihe
Sieben Schritte: entschlüsseln, Muster setzen, auslösen, bearbeiten, entscheiden, dann die Antwortseite und die Wiederholung.
- 01
Zuerst den Host entschlüsseln
Suche im Feed einen echten Request an den Endpunkt und prüfe, dass sein Body lesbar ist. Falls nicht, füge den Host der SSL-Proxy-Liste des Geräts hinzu und löse den Aufruf erneut aus — auf iOS im VPN-Modus schaltest du den Tunnel aus und ein, damit er die neue Liste übernimmt. Breakpoints matchen auf Host und Pfad, und den Pfad gibt es nur bei einem entschlüsselten Host.
- 02
Ein Request-Muster hinzufügen und speichern
Öffne die Seite Breakpoints aus der Einstellungsnavigation. Füge ein Request-Muster hinzu, um einen ausgehenden Request anzuhalten, bevor er den Server erreicht, oder ein Response-Muster, um die Antwort anzuhalten, bevor die App sie sieht — dieselbe Host-plus-Pfad-Platzhaltersyntax wie bei Blockregeln. Klicke auf Save patterns, um sie in den Aufzeichnungspfad zu pushen. Muster pro Gerät liegen unter dem Gerät, dann Breakpoints; der globale Satz ist der Fallback für jedes Gerät.
In Eile? Pause all requests ist ein Ein-Klick-Sammelmuster, das jeden ausgehenden Request ganz ohne Muster pausiert. Resume all macht es rückgängig.
Zwei Muster — eines für die Request-Seite, eines für die Response-Seite text# Request patterns (pause before the request leaves the phone) api.example.com/v1/checkout/* # Response patterns (pause the reply before the app sees it) *.example.com/v1/session - 03
Den Aufruf vom Smartphone auslösen
Benutze die App. Passt ein Request, bleibt er stehen — in der iOS-Tunnel-Erweiterung im VPN-Modus, sonst auf dem Proxy-Server — und taucht im Dashboard unter Live pauses auf, mit einer Statuspille, die bestätigt, dass die Live-Verbindung gesund ist. Für die App sieht es nur nach einem langsamen Netz aus.
- 04
Das rohe HTTP bearbeiten
Wähle die Pause und bearbeite den Request im Textfeld: Methode, Pfad, Header und Body. Die Content-Length wird automatisch neu berechnet, du musst also nie Bytes zählen. Der Host-Header ist editierbar, leitet den Request aber nicht um — er ändert, was der Server sieht, nicht wohin der Request geht.
So sieht ein pausierter Request im Editor aus httpPOST /v1/checkout/confirm HTTP/1.1 Host: api.example.com Content-Type: application/json Authorization: Bearer <redacted> {"amount": 4900, "currency": "eur", "coupon": null} - 05
Weiter, abbrechen oder zurücksetzen — innerhalb von sechzig Sekunden
Continue lässt den Request weiterlaufen, mit oder ohne deine Änderungen. Abort verwirft ihn, sodass die App einen Fehler sieht. Reset wirft deine Änderungen weg und stellt das aufgezeichnete Original wieder her. Deine Entscheidung reist über den Live-Steuerkanal zu dem Gerät, dem die Pause gehört; entscheidet niemand innerhalb von sechzig Sekunden, läuft die Pause von selbst ab und der ursprüngliche Request geht durch — ein unbeaufsichtigter Breakpoint blockiert das Smartphone also nie endgültig.
- 06
Auch die Antwortseite pausieren
Ein Response-Muster hält die Antwort des Servers fest, bevor die App sie erhält. So testest du, was die App mit einem Feld macht, das der Server nie sendet, einem Status, den er nie zurückgibt, oder einem leicht falschen Body — ohne Mock-Regel und ohne den Server anzufassen. Bearbeiten, fortsetzen und zusehen, wie die App reagiert.
- 07
Mit Resend wiederholen und iterieren
Aus der Aktionsleiste jedes aufgezeichneten Requests schickt Resend ihn unverändert erneut vom Gerät oder Proxy und markiert die neue Aufzeichnung als erneut gesendet. Edit and Resend öffnet ein Fenster, um vorher Methode, URL, Header oder Body anzupassen. Platzhalter in doppelten geschweiften Klammern in URL, Headern oder Body werden unmittelbar vor dem Absenden gegen die Umgebungsvariablen des Geräts aufgelöst — so kannst du einen Aufruf mit frischem Token wiederholen, ohne das Geheimnis einzufügen. Nutze den Resent-Filter im Feed, um Wiederholungen von Originalen zu trennen, und kombiniere beides: Request pausieren, kopieren, dann per Edit and Resend Varianten senden, bis die Antwort die gewünschte ist.
Was schief
Wenn nichts pausiert, matcht das Muster auf etwas, das es nicht sehen kann, oder es wurde nie gespeichert.
Der Request geht durch, ohne zu pausieren
Prüfe, dass der Host auf diesem Gerät entschlüsselt ist, dass du auf Save patterns geklickt hast und dass der Platzhalter exakt auf Host und Pfad aus der Feed-Zeile passt. Ein Satz pro Gerät überschreibt den globalen Fallback, prüfe also auch, welchen das Smartphone nutzt.
Die Pause verschwand, bevor ich fertig war
Sie ist nach sechzig Sekunden abgelaufen und das Original ging weiter. Halte deine Änderung bereit — aus einer früheren Aufzeichnung einfügen — und löse den Aufruf erneut aus.
Den Host-Header zu ändern hat den Request nicht woandershin geschickt
So gewollt: Der Header ist editierbar, leitet aber nie um. Um einen anderen Server zu treffen, nutze Edit and Resend mit einer anderen URL oder leite den Ausgang des Geräts über einen externen Proxy.
Pause all requests hat mehr eingefroren als beabsichtigt
Es ist ein Sammelmuster für jeden ausgehenden Request in dem Bereich, in dem du es gesetzt hast. Klicke auf Resume all und füge dann ein enges Request-Muster für den einen Host hinzu, um den es dir geht.
Die Statuspille meldet, die Live-Verbindung sei unterbrochen
Dein Continue oder Abort erreicht das Gerät erst, wenn der Steuerkanal wieder verbunden ist. Warte, bis sich die Pille erholt; eine Pause, die währenddessen abläuft, geht als Original weiter.
Häufige
Funktionieren Breakpoints auf iOS ohne WLAN-Proxy?
Ja. Im VPN-Modus führt der Tunnel auf dem Gerät denselben Pausieren-Bearbeiten-Fortsetzen-Zyklus in der Netzwerkerweiterung aus, über WLAN oder Mobilfunk. Der PAC-Modus führt ihn auf dem Proxy-Server aus. Das Dashboard sieht in beiden Fällen identisch aus.
Kann ich eine Antwort statt eines Requests pausieren?
Ja — Response-Muster halten die Antwort des Servers fest, bevor die App sie sieht, sodass du Status, Header oder Body bearbeiten und beobachten kannst, wie die App damit umgeht.
Was, wenn die Änderung jedes Mal automatisch passieren soll?
Das ist eine Blockregel oder ein Skript, kein Breakpoint: Eine Regel beantwortet jeden Treffer selbst, ein Skript schreibt die Bytes pro Request um. Breakpoints sind für die Fälle, in denen du jedes Mal selbst entscheiden willst.
Den Request anhalten,
Ein Muster, eine Pause, eine Änderung — und das Smartphone in deiner Hand bekommt genau den Request oder die Antwort, die du testen wolltest.