Regole di riscrittura e breakpoint
La cattura ti permette di “osservare”, le regole e i breakpoint ti permettono di “modificare”. Trace Eagle ti rende il proprietario del tuo traffico: modifica le richieste senza scrivere codice, usando regole point-and-click semplici e dirette per riscrivere automaticamente migliaia di flussi; oppure usa i breakpoint per mettere in pausa e modificare i flussi uno alla volta; solo per la logica complessa che le regole davvero non riescono a esprimere devi ricorrere a script / plugin.
1. Regole di riscrittura (point-and-click semplice, modifiche automatiche)
Sezione intitolata “1. Regole di riscrittura (point-and-click semplice, modifiche automatiche)”Il modo peggiore per iniziare a modificare le richieste è scrivere uno script. Qui non è necessario: scegli un’azione da un prontuario e inserisci un valore, ed ecco una regola: semplice, intuitiva e applicata nell’istante in cui la crei.
Le regole sono una per riga, nella forma <match> <action>://<value> (ad esempio *.example.com resHeaders://X-Debug: 1). Le righe vuote e i commenti # vengono ignorati, ogni riga viene convalidata singolarmente, e le modifiche vengono applicate a caldo al salvataggio; le regole possono essere organizzate in gruppi con nome e attivate gruppo per gruppo. L’interfaccia include un prontuario cliccabile: fai un clic per inserire l’esempio corrispondente, poi basta modificare il valore, nessuna sintassi da memorizzare.

Condizioni di corrispondenza flessibili
Sezione intitolata “Condizioni di corrispondenza flessibili”- Dominio esatto:
traceeagle.com(può includere un prefisso di percorsotraceeagle.com/path) - Sottodominio con wildcard:
*.traceeagle.com(corrisponde al dominio apex più tutti i sottodomini) - Regex sull’intero URL:
regex://… - URL completo esatto:
$https://host/path - Porta:
:8080 - Negazione: anteponi
!a qualsiasi corrispondenza
Azioni di riscrittura supportate
Sezione intitolata “Azioni di riscrittura supportate”Direzione della richiesta
- Redirect / inoltro: cambia l’IP di destinazione contattato (
host), mappa verso un URL completo diverso (map-remote, può puntare a un server di sviluppo locale), instrada attraverso un proxy http/socks5 a monte, oppure ripristina le caratteristiche di rete della richiesta di un client a quelle di un client standard (riproduzione fedele). - Mock di dati fittizi:
mock://200omock://200|<body>, restituisce una risposta preimpostata senza raggiungere il server, una salvezza quando il frontend è in attesa di un’API del backend. - Modifica della riga di richiesta / degli header: metodo, User-Agent, Referer, autenticazione Basic, X-Forwarded-For, Content-Type / charset, Cookie, unione dei parametri di query, ricerca e sostituzione nell’URL.
- Modifica del body della richiesta: sostituzione completa / ricerca e sostituzione / append / prepend / dump su un file locale.
Direzione della risposta
- Modifica dello stato / degli header: cambia il codice di stato, aggiungi o rimuovi qualsiasi header di risposta, Set-Cookie, apri il CORS con un clic, forza il download di un allegato, controllo della cache (disabilita la cache o imposta max-age), disabilita Cookie/compressione/keep-alive, ricerca e sostituzione nei valori degli header.
- Modifica del body della risposta: sostituzione completa / ricerca e sostituzione / append / prepend / merge JSON superficiale.
- Iniezione per tipo: solo quando il Content-Type corrisponde, inietta o sostituisci script, stili o snippet in HTML / JS / CSS.
Rete e protocollo
- Dump su file: oltre al body della richiesta / risposta, anche l’intera richiesta / risposta grezza può essere salvata su un file locale con un clic, per l’archiviazione o l’analisi offline.
- Simulazione di rete scadente: ritardo della richiesta / risposta (millisecondi), limitazione della banda (con preset 2G / 3G / 4G).
- Riscrittura di frame WebSocket: sostituzione
old=>newper direzione (in entrambi i sensi / dal client al server / dal server al client). - Riscrittura TCP / UDP grezzo: sostituzione per direzione su flussi di byte non HTTP / datagrammi SOCKS5 UDP.
Valori dinamici nelle regole
Sezione intitolata “Valori dinamici nelle regole”I valori delle regole possono usare variabili dinamiche come ${url} ${host} ${port} ${method} ${status} ${now} ${random} ${randomUUID} ${req.headers.X} ${res.headers.X}, oltre a valori con nome personalizzati {name} (definisci un valore comune una volta, riferiscilo ovunque). I valori con nome {name} si usano principalmente nelle riscritture di richiesta / risposta; i valori di sostituzione nella riscrittura di frame WebSocket supportano ${...}.
2. Breakpoint (modifica manuale)
Sezione intitolata “2. Breakpoint (modifica manuale)”Per i flussi che richiedono un controllo preciso, caso per caso, usa un breakpoint per mettere in pausa e far comparire un editor prima che la richiesta venga inviata o prima che la risposta ritorni.
Due modi per attivarli
Sezione intitolata “Due modi per attivarli”- Attivazione tramite regola: usa una regola
breakpoint://req|res|bothper contrassegnare con precisione quali flussi intercettare. - Interruttore globale di intercettazione: attiva l’intercettazione per l’intera sessione, poi restringi facoltativamente l’ambito con regole di filtro dell’intercettazione (filtra per dominio / metodo / fase); senza regole, viene intercettato tutto.
Cosa puoi modificare una volta intercettato
Sezione intitolata “Cosa puoi modificare una volta intercettato”- Fase della richiesta: metodo, URL (l’host segue l’URL), header, body.
- Fase della risposta: codice di stato, header di risposta, body della risposta.
- Scarta direttamente: Abort elimina questa richiesta / risposta (il client riceve un errore di gateway).
- I flussi che corrispondono a più intercettazioni si mettono in coda perché tu li gestisca: puoi riprendere ciascuno (Resume), scartarlo (Abort), o riprenderli tutti in una volta. I flussi lasciati non gestiti a lungo vengono ripresi automaticamente senza modifiche, così il traffico non resta mai bloccato all’infinito.
3. Script e plugin (automazione avanzata)
Sezione intitolata “3. Script e plugin (automazione avanzata)”Per la logica che le regole non riescono a esprimere, affidala a uno script o a un plugin:
- Script JavaScript: definisci
onRequest(req)/onResponse(resp)e modifica i campi direttamente per applicare le modifiche. Gli helper integrati includono logging, chiamate sincrone in uscita verso altri servizi, conservazione dei dati tra richieste (per contatori / token in cache), codifica/decodifica Base64 e altro. - Plugin HTTP in uscita: usa una regola
plugin://nameper affidare la richiesta / risposta al tuo servizio plugin per l’elaborazione (chiamato tramite HTTP), e il plugin restituisce il contenuto riscritto (o lo simula direttamente). Indipendente dal linguaggio, adatto ai team per implementare elaborazioni personalizzate in qualsiasi linguaggio.
4. Ordine di elaborazione
Sezione intitolata “4. Ordine di elaborazione”Un flusso attraversa, in ordine: regole di richiesta, script di richiesta, plugin di richiesta, breakpoint di richiesta, inoltro / mock, regole di risposta, script di risposta, plugin di risposta, breakpoint di risposta. Lo schema è semplice: prima le regole automatiche, poi gli script, poi i plugin, e solo per ultimo interviene manualmente un breakpoint, ciascuno svolgendo il proprio compito senza pestarsi i piedi a vicenda.
Torna a Cattura tramite proxy · Correlati: Componi e riproduci