Herschrijfregels en breakpoints
Vastleggen laat je “kijken”, regels en breakpoints laten je “veranderen”. Trace Eagle maakt je de eigenaar van je verkeer: verander verzoeken zonder code te schrijven, met eenvoudige, directe klikregels die automatisch duizenden flows herschrijven; of gebruik breakpoints om flows één voor één te pauzeren en te bewerken; alleen voor de complexe logica die regels echt niet kunnen uitdrukken, val je terug op scripts / plugins.
1. Herschrijfregels (eenvoudig klikken, automatische wijzigingen)
Section titled “1. Herschrijfregels (eenvoudig klikken, automatische wijzigingen)”De slechtste manier om te beginnen met het veranderen van verzoeken, is een script schrijven. Hier hoeft dat niet: kies een actie uit een spiekbriefje en vul een waarde in, en dat is een regel: eenvoudig, intuïtief, en toegepast op het moment dat je hem maakt.
Regels staan één per regel, in de vorm <match> <actie>://<waarde> (bijvoorbeeld *.example.com resHeaders://X-Debug: 1). Lege regels en #-commentaar worden genegeerd, elke regel wordt afzonderlijk gevalideerd, en wijzigingen worden bij opslaan direct toegepast; regels kunnen worden georganiseerd in benoemde groepen en per groep worden in- of uitgeschakeld. De interface heeft een klikbaar spiekbriefje: klik één keer om het bijpassende voorbeeld in te voegen, pas dan alleen nog de waarde aan, geen syntax om te onthouden.

Flexibele matchvoorwaarden
Section titled “Flexibele matchvoorwaarden”- Exact domein:
traceeagle.com(kan een padvoorvoegsel bevattentraceeagle.com/path) - Jokertekensubdomein:
*.traceeagle.com(komt overeen met het apex-domein plus alle subdomeinen) - Regex tegen de hele URL:
regex://… - Exacte volledige URL:
$https://host/path - Poort:
:8080 - Negatie: zet
!voor elke match
Ondersteunde herschrijfacties
Section titled “Ondersteunde herschrijfacties”Verzoekrichting
- Redirect / doorsturen: verander het aangewezen doel-IP (
host), map naar een andere volledige URL (map-remote, kan naar een lokale ontwikkelserver wijzen), route via een upstream http/socks5-proxy, of herstel de netwerkverzoekkenmerken van een client naar die van een standaardclient (getrouwe reproductie). - Nepdata mocken:
mock://200ofmock://200|<body>, geef een vooraf ingesteld antwoord terug zonder de server te raken, een uitkomst wanneer de frontend op een backend-API zit te wachten. - Verzoekregel / headers bewerken: methode, User-Agent, Referer, Basic auth, X-Forwarded-For, Content-Type / charset, Cookie, query-parameters samenvoegen, URL zoeken-en-vervangen.
- Verzoekbody bewerken: volledig vervangen / zoeken-en-vervangen / toevoegen aan het einde / toevoegen aan het begin / dumpen naar een lokaal bestand.
Antwoordrichting
- Status / headers bewerken: verander de statuscode, voeg een responseheader toe of verwijder die, Set-Cookie, open CORS met één klik, forceer een download als bijlage, cachebeheer (caching uitschakelen of max-age instellen), Cookie/compressie/keep-alive uitschakelen, zoeken-en-vervangen op headerwaarde.
- Antwoordbody bewerken: volledig vervangen / zoeken-en-vervangen / toevoegen aan het einde / toevoegen aan het begin / ondiepe JSON-samenvoeging.
- Injecteren op type: alleen wanneer de Content-Type overeenkomt, scripts, stijlen of snippets injecteren in of vervangen in HTML / JS / CSS.
Netwerk en protocol
- Dumpen naar bestand: naast de verzoek-/antwoordbody kan ook het volledige ruwe verzoek / antwoord met één klik naar een lokaal bestand worden gedumpt, voor archivering of offline analyse.
- Slecht-netwerksimulatie: verzoek-/antwoordvertraging (milliseconden), bandbreedtebeperking (met 2G / 3G / 4G-presets).
- WebSocket-frame herschrijven:
oud=>nieuw-vervanging per richting (beide richtingen / client naar server / server naar client). - Ruwe TCP / UDP herschrijven: vervanging per richting op niet-HTTP-bytestromen / SOCKS5 UDP-datagrammen.
Dynamische waarden in regels
Section titled “Dynamische waarden in regels”Regelwaarden kunnen dynamische variabelen gebruiken zoals ${url} ${host} ${port} ${method} ${status} ${now} ${random} ${randomUUID} ${req.headers.X} ${res.headers.X}, plus eigen benoemde waarden {name} (definieer een veelgebruikte waarde één keer, verwijs er overal naar). Benoemde waarden {name} worden vooral gebruikt in verzoek-/antwoordherschrijvingen; vervangingswaarden bij WebSocket-frame herschrijven ondersteunen ${...}.
2. Breakpoints (handmatig bewerken)
Section titled “2. Breakpoints (handmatig bewerken)”Voor flows die precieze, geval-per-geval controle nodig hebben, gebruik je een breakpoint om te pauzeren en een editor te openen voordat het verzoek wordt verstuurd of voordat het antwoord terugkomt.
Twee manieren om te activeren
Section titled “Twee manieren om te activeren”- Door regel geactiveerd: gebruik een
breakpoint://req|res|both-regel om precies te markeren welke flows worden onderschept. - Algemene onderscheppingsschakelaar: schakel onderschepping in voor de hele sessie, en verfijn optioneel het bereik met onderscheppingsfilterregels (filteren op domein / methode / fase); zonder regels wordt alles onderschept.
Wat je kunt veranderen zodra iets is onderschept
Section titled “Wat je kunt veranderen zodra iets is onderschept”- Verzoekfase: methode, URL (de host volgt de URL), headers, body.
- Antwoordfase: statuscode, responseheaders, responsebody.
- Direct laten vervallen: Abort laat dit verzoek / antwoord vallen (de client ontvangt een gatewayfout).
- Flows met meerdere treffers komen in een wachtrij te staan voor jou om af te handelen: je kunt elk hervatten (Resume), laten vervallen (Abort), of alles in één keer hervatten. Flows die lange tijd onbehandeld blijven, worden automatisch ongewijzigd hervat, zodat verkeer nooit oneindig vast blijft zitten.
3. Scripts en plugins (geavanceerde automatisering)
Section titled “3. Scripts en plugins (geavanceerde automatisering)”Voor logica die regels niet kunnen uitdrukken, draag je het over aan een script of plugin:
- JavaScript-scripts: definieer
onRequest(req)/onResponse(resp)en bewerk velden rechtstreeks om ze effect te laten hebben. Ingebouwde hulpfuncties omvatten loggen, synchrone uitgaande aanroepen naar andere diensten, data bewaren over verzoeken heen (voor tellers / gecachete tokens), Base64 coderen/decoderen en meer. - HTTP-uitgaande plugins: gebruik een
plugin://naam-regel om het verzoek / antwoord door te geven aan je eigen pluginservice ter verwerking (aangeroepen via HTTP), en de plugin geeft de herschreven inhoud terug (of mockt die direct). Taalonafhankelijk, geschikt voor teams die eigen verwerking in elke gewenste taal willen implementeren.
4. Verwerkingsvolgorde
Section titled “4. Verwerkingsvolgorde”Een flow doorloopt, in volgorde: verzoekregels, verzoekscripts, verzoekplugins, verzoekbreakpoint, doorsturen / mocken, antwoordregels, antwoordscripts, antwoordplugins, antwoordbreakpoint. Het patroon is eenvoudig: eerst automatische regels, dan scripts, dan plugins, en pas als laatste stapt een breakpoint handmatig in, elk met zijn eigen taak zonder elkaar in de weg te zitten.
Terug naar Proxy-capture · Gerelateerd: Verzoeken samenstellen en opnieuw versturen