Yeniden Yazma Kuralları ve Breakpoint'ler
Yakalama size “bakma” imkânı verir, kurallar ve breakpoint’ler ise “değiştirme” imkânı verir. Trace Eagle sizi trafiğinizin sahibi yapar: kod yazmadan istekleri değiştirin, basit ve doğrudan nokta-tıkla kurallarla binlerce akışı otomatik olarak yeniden yazın; ya da akışları tek tek durdurup düzenlemek için breakpoint kullanın; kuralların gerçekten ifade edemediği karmaşık mantık için ancak o zaman betiklere / eklentilere başvurmanız gerekir.
1. Yeniden Yazma Kuralları (basit nokta-tıkla, otomatik değişiklikler)
Bölüm başlığı “1. Yeniden Yazma Kuralları (basit nokta-tıkla, otomatik değişiklikler)”İstekleri değiştirmeye başlamanın en kötü yolu betik yazmaktır. Burada buna gerek yok: bir kopya kağıdından bir eylem seçin ve bir değer girin, işte bu bir kural: basit, sezgisel ve oluşturduğunuz an uygulanır.
Kurallar satır başına bir tane olacak şekilde <eşleşme> <eylem>://<değer> biçimindedir (örneğin *.example.com resHeaders://X-Debug: 1). Boş satırlar ve # yorumları yok sayılır, her satır kendi başına doğrulanır ve değişiklikler kaydedilir kaydedilmez uygulanır; kurallar adlandırılmış gruplar halinde düzenlenebilir ve grup grup açılıp kapatılabilir. Arayüzde tıklanabilir bir kopya kağıdı bulunur: bir kez tıklayarak ilgili örneği ekleyin, ardından sadece değeri düzenleyin, ezberlenecek bir söz dizimi yoktur.

Esnek eşleşme koşulları
Bölüm başlığı “Esnek eşleşme koşulları”- Tam alan adı:
traceeagle.com(bir yol öneki de içerebilirtraceeagle.com/path) - Joker karakterli alt alan adı:
*.traceeagle.com(apex alan adı artı tüm alt alan adlarıyla eşleşir) - Tüm URL’ye karşı regex:
regex://… - Tam URL:
$https://host/path - Port:
:8080 - Olumsuzlama: herhangi bir eşleşmenin başına
!ekleyin
Desteklenen yeniden yazma eylemleri
Bölüm başlığı “Desteklenen yeniden yazma eylemleri”İstek yönü
- Yönlendirme / iletme: aranan hedef IP’yi (
host) değiştirme, farklı bir tam URL’ye eşleme (map-remote, yerel bir geliştirme sunucusuna işaret edebilir), bir üst akış http/socks5 proxy’si üzerinden yönlendirme veya bir istemcinin ağ isteği özelliklerini standart bir istemcininkine döndürme (sadık yeniden üretim). - Sahte veri döndür (mock):
mock://200veyamock://200|<body>, sunucuya hiç gitmeden önceden hazırlanmış bir yanıt döndürür; frontend bir backend API’sini beklerken can kurtarıcıdır. - İstek satırını / başlıklarını düzenle: yöntem, User-Agent, Referer, Basic auth, X-Forwarded-For, Content-Type / karakter kodlaması, Cookie, sorgu parametrelerini birleştirme, URL’de bul ve değiştir.
- İstek gövdesini düzenle: tam değiştirme / bul ve değiştir / sona ekleme / başına ekleme / yerel bir dosyaya dökme.
Yanıt yönü
- Durumu / başlıkları düzenle: durum kodunu değiştirme, herhangi bir yanıt başlığı ekleme veya kaldırma, Set-Cookie, tek tıkla CORS açma, indirmeyi ek dosya (attachment) olarak zorlama, önbellek kontrolü (önbelleklemeyi devre dışı bırakma veya max-age ayarlama), Cookie/sıkıştırma/keep-alive devre dışı bırakma, başlık değerinde bul ve değiştir.
- Yanıt gövdesini düzenle: tam değiştirme / bul ve değiştir / sona ekleme / başına ekleme / sığ JSON birleştirme.
- Türe göre enjekte et: Content-Type eşleştiğinde, HTML / JS / CSS içine betik, stil veya kod parçacığı enjekte etme veya değiştirme.
Ağ ve protokol
- Dosyaya dökme: istek / yanıt gövdesinin yanı sıra, tüm ham istek / yanıt de tek tıkla arşivleme veya çevrimdışı analiz için yerel bir dosyaya dökülebilir.
- Kötü ağ simülasyonu: istek / yanıt gecikmesi (milisaniye), bant genişliği kısıtlama (2G / 3G / 4G ön ayarlarıyla).
- WebSocket kare yeniden yazma: yöne göre (her iki yön / istemciden sunucuya / sunucudan istemciye)
eski=>yenideğiştirme. - Ham TCP / UDP yeniden yazma: HTTP olmayan bayt akışları / SOCKS5 UDP datagramları üzerinde yöne göre değiştirme.
Kurallarda dinamik değerler
Bölüm başlığı “Kurallarda dinamik değerler”Kural değerleri, ${url} ${host} ${port} ${method} ${status} ${now} ${random} ${randomUUID} ${req.headers.X} ${res.headers.X} gibi dinamik değişkenleri, artı özel adlandırılmış değerleri {name} (ortak bir değeri bir kez tanımlayın, her yerde referans verin) kullanabilir. Adlandırılmış değerler {name} esas olarak istek / yanıt yeniden yazmalarında kullanılır; WebSocket kare yeniden yazma değiştirme değerleri ${...} destekler.
2. Breakpoint’ler (elle düzenleme)
Bölüm başlığı “2. Breakpoint’ler (elle düzenleme)”Hassas, tek tek kontrol gerektiren akışlar için, istek gönderilmeden önce veya yanıt dönmeden önce durdurup bir düzenleyici açmak için bir breakpoint kullanın.
İki tetikleme yolu
Bölüm başlığı “İki tetikleme yolu”- Kural tetiklemeli: hangi akışların engelleneceğini hassas biçimde işaretlemek için bir
breakpoint://req|res|bothkuralı kullanın. - Genel engelleme anahtarı: tüm oturum için engellemeyi açın, ardından isteğe bağlı olarak engelleme filtre kurallarıyla (alan adına / yönteme / aşamaya göre filtreleme) kapsamı daraltın; kural yoksa her şey engellenir.
Durdurulduktan sonra neyi değiştirebilirsiniz
Bölüm başlığı “Durdurulduktan sonra neyi değiştirebilirsiniz”- İstek aşaması: yöntem, URL (host URL’yi takip eder), başlıklar, gövde.
- Yanıt aşaması: durum kodu, yanıt başlıkları, yanıt gövdesi.
- Doğrudan iptal etme: Abort bu istek / yanıtı düşürür (istemci bir ağ geçidi hatası alır).
- Birden fazla eşleşmeye takılan akışlar işlenmeniz için sıraya girer: her birini devam ettirebilir (Resume), iptal edebilir (Abort) veya hepsini birden devam ettirebilirsiniz. Uzun süre işlenmeden kalan akışlar otomatik olarak değiştirilmeden devam ettirilir, böylece trafik sonsuza kadar takılı kalmaz.
3. Betikler ve Eklentiler (gelişmiş otomasyon)
Bölüm başlığı “3. Betikler ve Eklentiler (gelişmiş otomasyon)”Kuralların ifade edemediği mantık için işi bir betiğe veya eklentiye devredin:
- JavaScript betikleri:
onRequest(req)/onResponse(resp)tanımlayın ve alanları doğrudan düzenleyerek etkili kılın. Yerleşik yardımcılar arasında günlükleme, diğer servislere eşzamanlı dış çağrılar, istekler arasında veri saklama (sayaçlar / önbelleğe alınmış token’lar için), Base64 kodlama/çözme ve daha fazlası bulunur. - HTTP dış eklentiler: isteği / yanıtı kendi eklenti servisinize işlenmesi için devretmek üzere (HTTP üzerinden çağrılır) bir
plugin://namekuralı kullanın, eklenti yeniden yazılmış içeriği döndürür (veya doğrudan mock yapar). Dilden bağımsızdır, ekiplerin özel işlemeyi herhangi bir dilde uygulaması için uygundur.
4. İşlem Sırası
Bölüm başlığı “4. İşlem Sırası”Bir akış sırasıyla şunlardan geçer: istek kuralları, istek betikleri, istek eklentileri, istek breakpoint’i, iletme / mock, yanıt kuralları, yanıt betikleri, yanıt eklentileri, yanıt breakpoint’i. Kalıp basittir: önce otomatik kurallar, sonra betikler, sonra eklentiler ve ancak en son bir breakpoint elle devreye girer, her biri diğerinin işine karışmadan kendi görevini yapar.
Proxy Yakalama sayfasına dön · İlgili: Oluştur ve Yeniden Oynat