Reguły przepisywania i punkty przerwania
Przechwytywanie pozwala „patrzeć“, reguły i punkty przerwania pozwalają „zmieniać“. Trace Eagle czyni cię właścicielem twojego ruchu: zmieniaj żądania bez pisania kodu, używając prostych, bezpośrednich reguł typu wskaż-i-kliknij, aby automatycznie przepisać tysiące przepływów; albo użyj punktów przerwania, aby wstrzymać i edytować przepływy pojedynczo; tylko dla złożonej logiki, której reguły naprawdę nie są w stanie wyrazić, musisz sięgnąć po skrypty / wtyczki.
1. Reguły przepisywania (proste wskaż-i-kliknij, automatyczne zmiany)
Dział zatytułowany „1. Reguły przepisywania (proste wskaż-i-kliknij, automatyczne zmiany)”Najgorszym sposobem na rozpoczęcie zmieniania żądań jest pisanie skryptu. Tutaj nie musisz: wybierz akcję ze ściągawki i wpisz wartość, i już masz regułę: prostą, intuicyjną, stosowaną w chwili, w której ją tworzysz.
Reguły są po jednej w wierszu, w postaci <match> <action>://<value> (na przykład *.example.com resHeaders://X-Debug: 1). Puste wiersze i komentarze # są ignorowane, każdy wiersz jest walidowany osobno, a zmiany są stosowane natychmiast po zapisaniu; reguły można organizować w nazwane grupy i przełączać grupa po grupie. Interfejs zawiera klikalną ściągawkę: kliknij raz, aby wstawić pasujący przykład, a potem po prostu edytuj wartość, bez zapamiętywania składni.

Elastyczne warunki dopasowania
Dział zatytułowany „Elastyczne warunki dopasowania”- Dokładna domena:
traceeagle.com(może zawierać prefiks ścieżkitraceeagle.com/path) - Poddomena z symbolem wieloznacznym:
*.traceeagle.com(dopasowuje domenę główną plus wszystkie poddomeny) - Wyrażenie regularne wobec całego URL:
regex://… - Dokładny pełny URL:
$https://host/path - Port:
:8080 - Negacja: poprzedź dowolne dopasowanie znakiem
!
Obsługiwane akcje przepisywania
Dział zatytułowany „Obsługiwane akcje przepisywania”Kierunek żądania
- Przekierowanie / przekazanie: zmień docelowy adres IP połączenia (
host), zmapuj na inny pełny URL (map-remote, może wskazywać na lokalny serwer deweloperski), przekieruj przez nadrzędne proxy http/socks5, albo przywróć charakterystyki żądań sieciowych klienta do takich, jak u standardowego klienta (wierne odwzorowanie). - Mockowanie fałszywych danych:
mock://200lubmock://200|<body>, zwraca gotową odpowiedź bez odpytywania serwera, ratunek, gdy frontend czeka na API backendu. - Edycja linii żądania / nagłówków: metoda, User-Agent, Referer, uwierzytelnianie Basic, X-Forwarded-For, Content-Type / kodowanie znaków, Cookie, scalanie parametrów zapytania, znajdź-i-zamień w URL.
- Edycja treści żądania: pełne zastąpienie / znajdź-i-zamień / dopisanie na końcu / dopisanie na początku / zrzut do lokalnego pliku.
Kierunek odpowiedzi
- Edycja statusu / nagłówków: zmiana kodu statusu, dodanie lub usunięcie dowolnego nagłówka odpowiedzi, Set-Cookie, otwarcie CORS jednym kliknięciem, wymuszenie pobrania jako załącznika, kontrola cache (wyłączenie cache lub ustawienie max-age), wyłączenie Cookie/kompresji/keep-alive, znajdź-i-zamień w wartościach nagłówków.
- Edycja treści odpowiedzi: pełne zastąpienie / znajdź-i-zamień / dopisanie na końcu / dopisanie na początku / płytkie scalenie JSON.
- Wstrzykiwanie według typu: tylko gdy Content-Type pasuje, wstrzyknij lub zastąp skrypty, style albo fragmenty w HTML / JS / CSS.
Sieć i protokół
- Zrzut do pliku: oprócz treści żądania / odpowiedzi, do lokalnego pliku można jednym kliknięciem zrzucić także całe surowe żądanie / odpowiedź, na potrzeby archiwizacji albo analizy offline.
- Symulacja słabej sieci: opóźnienie żądania / odpowiedzi (milisekundy), ograniczanie przepustowości (z gotowymi ustawieniami 2G / 3G / 4G).
- Przepisywanie ramek WebSocket: zamiana
old=>newwedług kierunku (w obie strony / klient do serwera / serwer do klienta). - Przepisywanie surowego TCP / UDP: zamiana według kierunku w strumieniach bajtów spoza HTTP / datagramach SOCKS5 UDP.
Wartości dynamiczne w regułach
Dział zatytułowany „Wartości dynamiczne w regułach”Wartości reguł mogą używać zmiennych dynamicznych, takich jak ${url} ${host} ${port} ${method} ${status} ${now} ${random} ${randomUUID} ${req.headers.X} ${res.headers.X}, plus własnych nazwanych wartości {name} (zdefiniuj wspólną wartość raz, odwołuj się do niej wszędzie). Nazwane wartości {name} są używane głównie w przepisywaniu żądań / odpowiedzi; wartości zamiany w przepisywaniu ramek WebSocket obsługują ${...}.
2. Punkty przerwania (edycja ręczna)
Dział zatytułowany „2. Punkty przerwania (edycja ręczna)”Dla przepływów wymagających precyzyjnej kontroli, przypadek po przypadku, użyj punktu przerwania, aby wstrzymać i wyświetlić edytor przed wysłaniem żądania lub przed powrotem odpowiedzi.
Dwa sposoby wyzwolenia
Dział zatytułowany „Dwa sposoby wyzwolenia”- Wyzwalane regułą: użyj reguły
breakpoint://req|res|both, aby precyzyjnie oznaczyć, które przepływy przechwytywać. - Globalny przełącznik przechwytywania: włącz przechwytywanie dla całej sesji, a następnie opcjonalnie zawęź zakres regułami filtrowania przechwytywania (filtruj według domeny / metody / etapu); bez reguł przechwytywane jest wszystko.
Co można zmienić po przechwyceniu
Dział zatytułowany „Co można zmienić po przechwyceniu”- Etap żądania: metoda, URL (host podąża za URL-em), nagłówki, treść.
- Etap odpowiedzi: kod statusu, nagłówki odpowiedzi, treść odpowiedzi.
- Bezpośrednie odrzucenie: Abort odrzuca to żądanie / odpowiedź (klient otrzymuje błąd bramy).
- Przepływy pasujące do wielu trafień ustawiają się w kolejce do obsłużenia: możesz wznowić każdy z nich (Resume), odrzucić (Abort) albo wznowić wszystkie naraz. Przepływy pozostawione długo bez obsługi są automatycznie wznawiane bez zmian, więc ruch nigdy nie utyka na stałe.
3. Skrypty i wtyczki (zaawansowana automatyzacja)
Dział zatytułowany „3. Skrypty i wtyczki (zaawansowana automatyzacja)”Dla logiki, której reguły nie są w stanie wyrazić, przekaż ją skryptowi lub wtyczce:
- Skrypty JavaScript: zdefiniuj
onRequest(req)/onResponse(resp)i edytuj pola bezpośrednio, aby wprowadzić zmiany. Wbudowane funkcje pomocnicze obejmują logowanie, synchroniczne wywołania wychodzące do innych usług, przechowywanie danych między żądaniami (na potrzeby liczników / buforowanych tokenów), kodowanie/dekodowanie Base64 i więcej. - Wychodzące wtyczki HTTP: użyj reguły
plugin://name, aby przekazać żądanie / odpowiedź własnej usłudze wtyczki do przetworzenia (wywoływanej przez HTTP), a wtyczka zwróci przepisaną treść (albo zamockuje ją bezpośrednio). Niezależne od języka, odpowiednie dla zespołów do wdrożenia własnego przetwarzania w dowolnym języku.
4. Kolejność przetwarzania
Dział zatytułowany „4. Kolejność przetwarzania”Przepływ przechodzi kolejno przez: reguły żądania, skrypty żądania, wtyczki żądania, punkt przerwania żądania, przekazanie / mock, reguły odpowiedzi, skrypty odpowiedzi, wtyczki odpowiedzi, punkt przerwania odpowiedzi. Schemat jest prosty: najpierw automatyczne reguły, potem skrypty, potem wtyczki, a dopiero na końcu ręcznie wkracza punkt przerwania, każdy robi swoje, nie wchodząc sobie w drogę.
Powrót do Przechwytywanie przez proxy · Powiązane: Komponowanie i odtwarzanie