Pune un breakpoint
Pune pe pauză o cerere sau un răspuns de pe un telefon real din mers, editează HTTP-ul brut în dashboard și las-o să continue — sau anuleaz-o. Funcționează pe iOS în modul VPN și PAC, pe Android prin proxy și într-un Chrome capturat.
Urmărirea traficului îți spune ce a trimis aplicația. Un breakpoint te lasă să-l schimbi înainte să ajungă. Când o cerere sau un răspuns se potrivește cu un tipar pe care l-ai setat, este reținut — chiar pe telefon în modul VPN iOS, în interiorul tunelului, sau pe serverul proxy pentru iOS în mod PAC, Android și browsere — și apare în dashboard ca o pauză live cu un editor pentru HTTP-ul brut. Editezi, apoi decizi: continui cu sau fără modificările tale, sau anulezi.
Dashboardul este cabina de comandă în orice caz; telefonul nu trebuie atins niciodată. Tiparele sunt wildcard-uri simple host-plus-cale, un buton prinde-tot pune totul pe pauză cu un clic, iar o pauză uitată expiră singură, așa că un breakpoint de la care ai plecat nu poate bloca niciodată definitiv traficul telefonului.
De ce ai
Un telefon care capturează deja și hostul pe care vrei să-l oprești, decriptat pe el.
Un telefon asociat cu captura pornită — iOS în oricare mod, sau Android prin proxy.
Hostul în lista SSL proxy a acelui dispozitiv. Un tipar cu cale are nevoie de un host decriptat; un host criptat poate fi potrivit doar după nume.
Dashboardul deschis și cam șaizeci de secunde de atenție per pauză — acesta este timeout-ul.
Opțional, o variabilă de mediu cu un token proaspăt, ca să poți reda un apel fără să lipești secretul.
Urmează
Șapte pași: decriptează, setează tiparul, declanșează, editează, decide, apoi partea de răspuns și redarea.
- 01
Decriptează mai întâi hostul
Găsește în feed o cerere reală către endpoint și confirmă că corpul ei este lizibil. Dacă nu, adaugă hostul în lista SSL proxy a dispozitivului și declanșează apelul din nou — pe iOS în mod VPN, oprește și repornește tunelul ca să preia noua listă. Breakpoint-urile se potrivesc pe host și cale, iar calea există doar pentru un host decriptat.
- 02
Adaugă un tipar de cerere și salvează-l
Deschide pagina Breakpoints din navigația de setări. Adaugă un tipar de cerere ca să oprești o cerere care pleacă înainte să ajungă la server, sau un tipar de răspuns ca să oprești răspunsul înainte ca aplicația să-l vadă — aceeași sintaxă de wildcard host-plus-cale pe care o folosesc regulile de blocare. Dă clic pe Save patterns ca să le trimiți în calea de captură. Tiparele per dispozitiv stau sub dispozitiv, apoi Breakpoints; setul global este rezerva pentru fiecare dispozitiv.
Grăbit? Pause all requests este un prinde-tot cu un clic care oprește fiecare cerere care pleacă, fără niciun tipar. Resume all îl anulează.
Două tipare — unul pentru partea de cerere, unul pentru partea de răspuns 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
Declanșează apelul de pe telefon
Folosește aplicația. Când o cerere se potrivește, se oprește — în extensia de tunel iOS în mod VPN, pe serverul proxy altfel — și apare sub Live pauses în dashboard, cu o pastilă de stare care confirmă că legătura live este sănătoasă. Pentru aplicație, e doar o rețea lentă.
- 04
Editează HTTP-ul brut
Alege pauza și editează cererea în zona de text: metodă, cale, antete și corp. Lungimea conținutului se recalculează automat, așa că nu trebuie să numeri octeți. Antetul Host este editabil, dar nu redirecționează cererea — schimbă ce vede serverul, nu unde merge cererea.
Cum arată o cerere pusă pe pauză în editor 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
Continuă, anulează sau resetează — în șaizeci de secunde
Continue lasă cererea să meargă mai departe, cu sau fără editările tale. Abort o aruncă, așa că aplicația vede un eșec. Reset renunță la editările tale și restaurează originalul capturat. Decizia ta călătorește către dispozitivul care deține pauza prin canalul de control live; dacă nimeni nu decide în șaizeci de secunde, pauza expiră singură și cererea originală trece, așa că un breakpoint lăsat nesupravegheat nu blochează niciodată definitiv telefonul.
- 06
Pune pe pauză și partea de răspuns
Un tipar de răspuns reține răspunsul serverului înainte ca aplicația să-l primească. Așa testezi ce face aplicația cu un câmp pe care serverul nu-l trimite niciodată, un status pe care nu-l returnează niciodată sau un corp ușor greșit — fără regulă de mock și fără să atingi serverul. Editează, continuă și privește cum reacționează aplicația.
- 07
Redă cu Resend și iterează
Din bara de acțiuni a oricărei cereri capturate, Resend o retrimite ca atare de pe dispozitiv sau proxy și marchează noua captură ca retrimisă. Edit and Resend deschide o fereastră ca să ajustezi mai întâi metoda, URL-ul, antetele sau corpul. Substituenții între acolade duble din URL, antete sau corp sunt rezolvați din variabilele de mediu ale dispozitivului chiar înainte ca cererea să plece — așa că poți reda un apel cu un token proaspăt fără să lipești secretul. Folosește filtrul Resent din feed ca să izolezi redările de originale și combină-le pe cele două: pune o cerere pe pauză, copiaz-o, apoi Edit and Resend cu variații până când răspunsul este cel pe care îl căutai.
Ce poate
Dacă nimic nu se oprește, tiparul se potrivește cu ceva ce nu poate vedea, sau nu a fost salvat niciodată.
Cererea trece fără să se oprească
Verifică dacă hostul este decriptat pe acel dispozitiv, dacă ai dat clic pe Save patterns și dacă wildcard-ul se potrivește exact cu hostul și calea afișate în rândul din feed. Un set per dispozitiv suprascrie rezerva globală, așa că verifică și pe care îl folosește telefonul.
Pauza a dispărut înainte să termin de editat
A expirat la șaizeci de secunde și originalul a continuat. Ai editarea pregătită — lipește-o dintr-o captură anterioară — și declanșează apelul din nou.
Schimbarea antetului Host nu a trimis cererea altundeva
Prin design: antetul este editabil, dar nu redirecționează niciodată. Ca să atingi alt server, folosește Edit and Resend cu alt URL, sau rutează ieșirea dispozitivului printr-un proxy extern.
Pause all requests a înghețat mai mult decât voiam
Este un prinde-tot pentru fiecare cerere care pleacă în domeniul în care l-ai setat. Dă clic pe Resume all, apoi adaugă un tipar de cerere îngust pentru singurul host care te interesează.
Pastila de stare spune că legătura live e căzută
Continue sau Abort nu pot ajunge la dispozitiv până când canalul de control se reconectează. Așteaptă ca pastila să-și revină; o pauză care expiră între timp continuă ca originalul.
Întrebări
Funcționează breakpoint-urile pe iOS fără proxy Wi-Fi?
Da. În modul VPN, tunelul de pe dispozitiv rulează același ciclu pauză-editare-continuare în extensia de rețea, pe Wi-Fi sau rețea celulară. Modul PAC îl rulează pe serverul proxy. Dashboardul arată identic în ambele.
Pot pune pe pauză un răspuns în loc de o cerere?
Da — tiparele de răspuns rețin răspunsul serverului înainte ca aplicația să-l vadă, așa că poți edita statusul, antetele sau corpul și să vezi cum se descurcă aplicația.
Și dacă vreau ca schimbarea să se întâmple automat de fiecare dată?
Aceea este o regulă de blocare sau un script, nu un breakpoint: o regulă răspunde singură la fiecare potrivire, un script rescrie octeții per cerere. Breakpoint-urile sunt pentru cazurile în care vrei să decizi de fiecare dată.
Oprește cererea,
Un tipar, o pauză, o editare — iar telefonul din mâna ta primește exact cererea sau răspunsul pe care voiai să-l testezi.