Bloga geri dön

Windows Uygulamaları ve UWP için HTTP Trafiği Hatası Ayıklama: Proxy Ayarları ile Tam Kılavuz

Fiddler, Windows uygulamaları ve UWP'de HTTP/HTTPS trafiğini yakalamak ve analiz etmek için güçlü bir araçtır. Ayarları, istekleri yakalamayı ve proxy ile entegrasyonu inceliyoruz.

📅6 Ağustos 2026
```html

Eğer Windows uygulamaları geliştiriyor veya test ediyorsanız ve hangi HTTP isteklerini gönderdiklerini görmek istiyorsanız, Fiddler ana aracınız olacaktır. Tüm trafiği yakalar, analiz etmenizi, anlık olarak değiştirmenizi ve yeniden üretmenizi sağlar. Bu, varsayılan olarak sistem proxy'sini atlayan UWP uygulamaları ile çalışırken özellikle faydalıdır.

Bu kılavuzda, kurulum, HTTPS yakalama ayarları, UWP ile çalışma, harici proxy bağlantıları ve hata ayıklama API'sinden arka plan isteklerinin izlenmesine kadar tipik kullanım senaryolarını inceleyeceğiz.

Fiddler nedir ve ne için kullanılır

Fiddler, Telerik (şimdi Progress) tarafından geliştirilen bir HTTP proxy hata ayıklayıcıdır. Yerel bir proxy sunucusu gibi çalışır: bilgisayarınızdaki tüm HTTP ve HTTPS istekleri onun üzerinden geçer ve her birini gerçek zamanlı olarak görebilirsiniz. Araç ücretsizdir, iki versiyonu vardır - Fiddler Classic (sadece Windows) ve Fiddler Everywhere (çapraz platform).

Fiddler, tarayıcıdaki Geliştirici Araçları'ndan ne ile farklıdır? Tarayıcı geliştirici araçları yalnızca tarayıcının trafiğini gösterir. Fiddler ise bilgisayarınızdaki herhangi bir uygulamadan gelen istekleri yakalar: masaüstü programları, sistem hizmetleri, Windows arka plan süreçleri, Wi-Fi üzerinden mobil uygulamalar ve özellikle önemli olan, Microsoft Store'dan UWP uygulamaları.

Fiddler'ın çözdüğü tipik görevler:

  • Masaüstü uygulamalarının API isteklerini analiz etme - programın ne gönderdiğini, hangi başlıkları, hangi verileri
  • Kendi kodunuzu hata ayıklama - uygulamanızın gerçek isteklerini görürsünüz, göndermeyi düşündüğünüz şeyleri değil
  • İstekleri ve yanıtları anlık olarak değiştirme - edge durumlarını test etmek için verileri değiştirme
  • Arka plan etkinliğini izleme - programın sizin bilginiz olmadan hangi sunuculara "çağrı" yaptığını
  • Proxy üzerinden test etme - uygulamanın harici bir proxy sunucusu üzerinden çalışırken nasıl davrandığını kontrol etme
  • İstekleri yeniden üretme - yakalanan bir isteği değiştirilmiş parametrelerle yeniden gönderme

Fiddler, kapalı API'lerle çalışan geliştiriciler için özellikle değerlidir - örneğin, bir mobil uygulamanın veya masaüstü istemcisinin protokolünü tersine mühendislik ile çözmek. Programı başlatıyorsunuz, arayüzde gerekli düğmelere basıyorsunuz ve Fiddler'da tüm istekleri görüyorsunuz.

Kurulum ve ilk ayarlar

Fiddler Classic'in kurulumu yaklaşık iki dakika sürer. Resmi web sitesinden telerik.com/fiddler adresinden yükleyiciyi indirin ve çalıştırın. Kurulumdan sonra Fiddler, kendisini Windows sistem proxy'si olarak 127.0.0.1:8888 portunda otomatik olarak kaydeder.

Başlatıldığında, üç alan içeren ana pencereyi göreceksiniz:

  • Sol panel (Oturumlar) - gerçek zamanlı olarak yakalanan tüm isteklerin listesi
  • Sağ üst panel - seçilen isteğin detayları (başlıklar, gövde, parametreler)
  • Sağ alt panel - sunucunun yanıtı

İlk yapmanız gereken şey, filtrelemeyi ayarlamaktır, aksi takdirde listeye tüm Windows sistem trafiği (güncellemeler, telemetri, OneDrive vb.) girecek ve gerekli istekleri bulmak zor olacaktır. Sağ taraftaki Filters sekmesine gidin ve Use Filters seçeneğini etkinleştirin. Show only the following Hosts alanına ilginizi çeken alan adlarını girin.

Fiddler Classic için yararlı kısayol tuşları:

  • F12 - trafiği aç/kapat
  • Ctrl+X - oturum listesini temizle
  • Ctrl+F - oturumlarda arama yap
  • R - seçilen isteği tekrar gönder
  • Shift+Delete - seçilen oturumları sil

Ayrıca oturumların otomatik kaydedilmesini hemen ayarlamanızı öneririz: File → Capture Traffic ve File → Save → All Sessions. Bu, daha sonra kaydedilen trafiğe geri dönmenizi ve çevrimdışı olarak analiz etmenizi sağlar.

HTTPS trafiğini yakalama: sertifika ayarı

Varsayılan olarak Fiddler yalnızca HTTP trafiğini yakalar. HTTPS ile çalışmak için (bu, modern trafiğin %95'inden fazlasını oluşturur) SSL şifre çözümlemesi ayarlamanız gerekir. Fiddler, Man-in-the-Middle gibi çalışır: kendi kök sertifikasını oluşturur ve tüm HTTPS bağlantılarını onunla imzalar.

HTTPS yakalama ayarının adım adım yönergeleri:

  1. Tools → Options → HTTPS menüsünü açın
  2. Capture HTTPS CONNECTs seçeneğini işaretleyin
  3. Decrypt HTTPS traffic seçeneğini işaretleyin
  4. Açılır listeden ...from all processes seçeneğini seçin
  5. Actions → Trust Root Certificate butonuna tıklayın
  6. Sertifikanın Windows sistem deposuna kurulumunu onaylayın
  7. Fiddler'ı yeniden başlatın

Bundan sonra Protocol sütununda HTTPS yerine CONNECT göreceksiniz ve şifrelenmiş isteklerin ve yanıtların içeriğini görüntüleyebileceksiniz.

⚠️ Önemli: sertifika güvenliği

Fiddler sertifikası yalnızca mevcut Windows kullanıcısının deposuna kurulur. Sertifika dosyasını üçüncü şahıslara iletmemelisiniz - bu, onların HTTPS trafiğinizi yakalamasına izin verir. Hata ayıklama işlemi tamamlandıktan sonra sertifikayı Tools → Options → HTTPS → Actions → Remove Interception Certificates yoluyla kaldırabilirsiniz.

Bazı uygulamalar Sertifika Pinning kullanır - belirli bir sunucu sertifikasını kontrol ederler ve Fiddler üzerinden çalışmayı reddederler. Bu durumda uygulamada bir bağlantı hatası göreceksiniz. Pinning'i aşmak ayrı bir konudur ve bu makalenin kapsamını aşar.

UWP uygulamalarının trafiğini nasıl yakalarım

UWP (Evrensel Windows Platformu) - Microsoft Store'dan uygulamalardır: Posta, Haritalar, Film ve TV, Spotify, Netflix ve daha birçokları. Güvenlik nedenleriyle, izole bir konteynerde (Uygulama Konteyneri) çalışırlar ve sistem proxy'sini kullanmazlar. Bu nedenle, Fiddler'ın normal ayarları onların trafiğini yakalamaz.

Bu sorunu çözmek için Fiddler, özel bir araç sunar - AppContainer Loopback Exemption Utility. Bu, UWP uygulamasını istisnalar listesine ekleyerek, Fiddler'ın yerel proxy'sine erişmesine izin verir.

Yöntem 1 - Fiddler arayüzü üzerinden:

  1. Menüden WinConfig seçeneğini seçin (araç çubuğundaki düğme veya Tools → Win8 Loopback Exemptions)
  2. Tüm yüklü UWP uygulamalarının listesi açılacaktır
  3. İlgili uygulamayı bulun ve yanındaki kutucuğu işaretleyin
  4. Save Changes butonuna tıklayın
  5. UWP uygulamasını yeniden başlatın

Yöntem 2 - Komut istemi üzerinden (otomasyon için):

CheckNetIsolation LoopbackExempt -a -n="Microsoft.WindowsMaps_8wekyb3d8bbwe"

Microsoft.WindowsMaps_8wekyb3d8bbwe kısmını gerekli uygulamanın Paket Aile Adı ile değiştirin. Bunu PowerShell'de şu komutla bulabilirsiniz:

Get-AppxPackage | Select-Object Name, PackageFamilyName | Sort-Object Name

İstisna eklendikten sonra UWP uygulaması trafiğini Fiddler üzerinden göndermeye başlayacaktır. İsteklerini oturumlar listesindeki görünür hale gelecektir - genellikle User-Agent veya hedef host'a göre kolayca tanınabilirler.

💡 İpucu: UWP ve HTTPS

UWP uygulamalarının HTTPS trafiğini yakalamak için yalnızca loopback istisnası eklemek yeterli değildir. Ayrıca Fiddler sertifikasını Trusted Root Certification Authorities deposuna Local Machine için (yalnızca mevcut kullanıcı için değil) yüklemeniz gerekir. Bunu certmgr.msc veya grup politikaları aracılığıyla yapabilirsiniz.

Filtreler, kesme noktaları ve istekleri değiştirme

Fiddler'ın hata ayıklama için en güçlü üç işlevi, oturum filtreleme, kesme noktaları ve AutoResponder'dır. Her birini inceleyelim.

Oturum filtreleme

Filters sekmesi yalnızca gerekli istekleri göstermeye olanak tanır. Temel seçenekler:

  • Show only the following Hosts - alan adına göre filtre (örneğin, api.example.com)
  • Show only if URL contains - URL'nin bir kısmına göre filtre
  • Show only if response Content-Type - yalnızca JSON, XML, resimler vb.
  • Hide if URL contains - gürültü isteklerini hariç tutma (örneğin, telemetry, analytics)

Ayrıca, hızlı komutlar için pencerenin altındaki QuickExec alanını kullanabilirsiniz. Örneğin, select status 404 komutu, 404 hatası olan tüm istekleri vurgular, bold api komutu ise URL'de "api" içeren tüm oturumları kalın yapar.

Kesme noktaları (Breakpoints)

Kesme noktaları, isteği veya yanıtı gönderilmeden/almadan önce durdurmanıza ve içeriği manuel olarak değiştirmenize olanak tanır. Bu, kod hata ayıklayıcısındaki bir duraklama noktasına benzer, ancak HTTP için.

  • Rules → Automatic Breakpoints → Before Requests - her isteği gönderilmeden önce durdurur
  • Rules → Automatic Breakpoints → After Responses - her yanıtı uygulamaya iletilmeden önce durdurur
  • Oturuma sağ tıklayın → Breakpoint → Break on Request - belirli bir URL için nokta kesme noktası

İstek durdurulduğunda, herhangi bir başlığı, isteğin gövdesini, URL'yi değiştirebilir ve devam etmek için Run to Completion butonuna basabilirsiniz. Bu, değiştirilen verilerle uygulamanın davranışını test etmek için özellikle faydalıdır.

AutoResponder

AutoResponder, sunucu yanıtlarını değiştirmek için bir araçtır. Bir kural oluşturursunuz: "eğer URL belirli bir kalıpla eşleşiyorsa - bu dosyayı/yanıtı döndür". Kullanım alanları:

  • Gerçek bir arka uç olmadan API ile uygulamayı test etme
  • Sunucu hatalarını simüle etme (500, 503, zaman aşımı)
  • Kaynakları değiştirme - sunucu sürümünün yerine yerel JS/CSS sürümünü yükleme
  • Geliştirmeyi hızlandırma - yavaş dış API isteklerini önbelleğe alma

Fiddler üzerinden harici proxy bağlantısı

Fiddler'ın önemli özelliklerinden biri, "proxy üzerinden proxy" (upstream proxy) modunda çalışmaktır. Fiddler, trafiği yerel olarak yakalar ve ardından harici bir proxy sunucusuna yönlendirir. Bu, istekleri hata ayıklarken IP adresini veya coğrafi konumu değiştirmenizi sağlar.

Ne zaman gerekir:

  • Kurumsal proxy üzerinden çalışırken uygulamanın davranışını test etme
  • Coğrafi bağımlı içeriği kontrol etme - uygulamanın başka bir ülkeden nasıl çalıştığını görmek
  • Kendisi proxy kullanan bir uygulamayı hata ayıklama
  • IP kısıtlamaları olan API'leri test etme (IP beyaz listeleme)

Fiddler Classic'te upstream proxy ayarlama:

  1. Tools → Options → Gateway menüsünü açın
  2. Manual Proxy Configuration seçeneğini seçin
  3. Proxy alanına proxy adresini host:port formatında girin
  4. Proxy kimlik doğrulama gerektiriyorsa - kullanıcı adı ve şifreyi belirtin
  5. OK butonuna tıklayın ve trafik yakalamayı yeniden başlatın

Fiddler, upstream olarak HTTP, HTTPS ve SOCKS5 proxy'lerini destekler. SOCKS5 için kayıt formatı biraz farklıdır:

socks=proxy.example.com:1080

Coğrafi bağımlı uygulama davranışlarını test etmek için rezidans proxy'leri iyi bir seçimdir - bunlar, gerekli ülkeden gerçek ev kullanıcılarının IP'lerini kullanır ve uygulama, bu bölgeden gerçek bir kullanıcının alacağı yanıtları alır. Bu, API'nin coğrafyaya bağlı olarak farklı içerikler döndürmesi durumunda önemlidir.

Hata ayıklama sırasında büyük veri yüklemeleri için yüksek hız gerekiyorsa, veri merkezi proxy'leri uygundur - bunlar, istikrarlı bir bağlantı ve minimum gecikme sağlar, bu da ağır API'lerle çalışırken kullanışlıdır.

💡 FiddlerScript ile dinamik proxy seçimi

FiddlerScript aracılığıyla farklı hostlar için farklı upstream proxy'ler ayarlayabilirsiniz. Örneğin, api.us-service.com adresine gelen istekleri Amerikan proxy'si üzerinden yönlendirebilir, diğerlerini ise doğrudan gönderebilirsiniz:

static function OnBeforeRequest(oSession: Session) {
  if (oSession.HostnameIs("api.us-service.com")) {
    oSession["x-OverrideGateway"] = "us-proxy.example.com:8080";
  }
}

Pratik senaryolar: ayrıştırma, API testi, coğrafi geçiş

Fiddler ile kolayca çözülebilecek belirli görevleri inceleyelim.

Senaryo 1: Mobil uygulamanın API'sinin tersine mühendisliği

Uygulamadaki eylemleri otomatikleştirmek istiyorsunuz, ancak kamuya açık bir API'si yok. Çözüm: Uygulamayı bir Android emülatöründe veya Windows istemcisi üzerinden çalıştırın, Fiddler'ı proxy olarak kullanacak şekilde ayarlayın ve gerekli eylemleri gerçekleştirirken tüm istekleri kaydedin.

Kayıttan sonra tam bir resim elde edersiniz: uç noktalar, istek formatları, kimlik doğrulama başlıkları, tokenlar. Bu veriler, kendi istemcinizi yazmak veya otomasyon için betikler oluşturmak için kullanılabilir.

Senaryo 2: Pazar yerinin ayrıştırıcısının hata ayıklanması

Wildberries, Ozon veya diğer pazar yerleri için bir ayrıştırıcı geliştirirken, genellikle isteklerin neden engellendiği anlaşılamaz. Fiddler, tarayıcıdan geçen (geçen) isteklerle ayrıştırıcıdan geçen (engellenen) istekleri karşılaştırmanıza ve başlıklar, sıralama, çerez değerleri veya TLS parmak izi gibi farklılıkları bulmanıza yardımcı olur.

Tipik bir bulgu: ayrıştırıcı, başlıkları farklı bir sırayla gönderiyor, Accept-Language eksik veya User-Agent Python sürümünü içeriyor. Bu ayrıntıları ayrıştırıcı kodunda düzelterek, engellenme olasılığını azaltırsınız.

Senaryo 3: Coğrafi bağımlı içeriğin test edilmesi

Uygulamanız, farklı ülkelerden gelen kullanıcılara farklı içerikler gösteriyorsa, gerçek IP'lerle test etmeniz gerekir. Fiddler'ı gerekli bölgeden upstream proxy ile ayarlayın, uygulamayı başlatın - ve o ülkenin kullanıcısının gördüğü tam olarak aynı şeyi göreceksiniz, artı tüm isteklerin tam kaydını.

Senaryo 4: Uygulamaların arka plan etkinliğinin izlenmesi

Yüklenmiş bir programın nereye "çağrı" yaptığını bilmek ister misiniz? Fiddler'ı başlatın, programı başlatın, 5-10 dakika bekleyin. Oturumlar listesinde programın eriştiği tüm hostlar görünecektir. Bu, üçüncü taraf yazılımların güvenlik denetimi, telemetri veya istenmeyen bağlantıları kontrol etmek için faydalıdır.

Senaryo 5: Yeniden üretim için isteklerin dışa aktarılması

Fiddler, yakalanan istekleri cURL formatında dışa aktarmanıza olanak tanır; bu, terminalde hemen çalıştırılabilir veya Postman'a yapıştırılabilir. Oturuma sağ tıklayın → Copy → cURL Request. Bu, bir isteği bir meslektaşınıza iletmek veya API'yi belgelemek için kullanışlıdır.

Fiddler Classic vs Fiddler Everywhere: hangisini seçmeli

Telerik, ürünün iki versiyonunu desteklemektedir ve bunlar arasında seçim yapmak her zaman açık değildir. Ana farklılıkları inceleyelim.

Parametre Fiddler Classic Fiddler Everywhere
Platformalar Sadece Windows Windows, macOS, Linux
Fiyat Ücretsiz Ücretli abonelik (ücretsiz plan mevcut)
UWP desteği Evet (WinConfig üzerinden) Sınırlı
FiddlerScript Evet (JScript.NET) Hayır (Kurallar kullanılır)
Arayüz Eski ama işlevsel Modern, kullanışlı
Ekip çalışması Hayır Evet (bulut koleksiyonları)
Genişletilebilirlik .NET eklentileri Sınırlı
Sistem trafiğini yakalama Tam Tam

Ne zaman Fiddler Classic'i seçmelisiniz: yalnızca Windows'ta çalışıyorsanız, UWP uygulamaları ile çalışmanız gerekiyorsa, otomasyon için FiddlerScript kullanıyorsanız veya tamamen ücretsiz bir sürüme ihtiyacınız varsa.

Ne zaman Fiddler Everywhere'i seçmelisiniz: macOS veya Linux'ta çalışıyorsanız, modern bir arayüze ihtiyacınız varsa, ortak istek koleksiyonları ile ekip çalışması önem taşıyorsa veya CI/CD boru hatları ile entegrasyon istiyorsanız.

Ayrıca alternatifleri de belirtmek gerekir: Charles Proxy (ücretli, macOS'ta popüler), mitmproxy (ücretsiz, konsol tabanlı, çok esnek), Wireshark (paket düzeyinde çalışır, HTTP değil). Her aracın güçlü yönleri vardır, ancak çoğu Windows uygulama hata ayıklama görevleri için Fiddler Classic en iyi seçim olmaya devam etmektedir.

Tipik sorunlar ve çözümleri

Fiddler ile çalışırken zaman zaman tipik sorunlar ortaya çıkabilir. İşte en yaygın olanları ve çözümleri.

Sorun: Fiddler açıkken uygulama çalışmıyor

Nedenler: Sertifika Pinning, uygulamada sertifika pinning kullanımı veya uygulama Fiddler sertifikasına güvenmiyor olabilir. Çözümler:

  • Fiddler sertifikasını Local Machine → Trusted Root deposuna yükleyin
  • Uygulamanın sertifika pinning kullanıp kullanmadığını kontrol edin
  • SSL istisnalarına host ekleyin: Tools → Options → HTTPS → Skip Decryption for following hosts

Sorun: Fiddler kapatıldıktan sonra internet çalışmıyor

Fiddler, acil kapatma sırasında sistem proxy'sini kaldırmayı başaramadı. Çözüm: Windows Ayarları → Ağ → Proxy menüsünü açın ve manuel proxy'yi kapatın. Veya Fiddler'ı tekrar başlatın ve normal bir şekilde kapatın.

Sorun: Sadece CONNECT tünelleri görünüyor, ancak HTTPS içeriği yok

HTTPS yakalama ayarlanmamış. Sertifika ayarı bölümüne geri dönün ve Decrypt HTTPS traffic seçeneğinin işaretli olduğundan ve sertifikanın sistem deposuna yüklendiğinden emin olun.

Sorun: UWP uygulamasının trafiği Fiddler'da görünmüyor

Bu uygulama için loopback istisnası eklenmemiştir. WinConfig kullanın (UWP ile ilgili bölümde açıklandığı gibi) ve istisna ekledikten sonra uygulamayı yeniden başlatın.

Sorun: Upstream proxy çalışmıyor (bağlantı hatası)

Kontrol edin: proxy adresinin ve portunun doğruluğu, kullanıcı adı/şifrenin geçerliliği, proxy sunucusunun erişilebilirliği (Fiddler olmadan doğrudan bağlanmayı deneyin). Ayrıca, proxy'nin gerekli protokolü desteklediğinden emin olun - tüm HTTP proxy'leri HTTPS tünelleme desteğine sahip değildir.

Sonuç

Fiddler, Windows uygulamalarında HTTP trafiği ile çalışan herkes için vazgeçilmez bir araçtır. Gerçek zamanlı olarak tüm istekleri görmenizi, anlık olarak değiştirmenizi, uygulamaların farklı koşullardaki davranışlarını test etmenizi ve tarayıcı Geliştirici Araçları ile gerçekleştirilemeyecek görevleri çözmenizi sağlar. Özellikle, loopback istisnaları mekanizması aracılığıyla UWP uygulamalarını desteklemesi, çoğu alternatifte bulunmayan benzersiz bir fırsattır.

Coğrafi bağımlı uygulama davranışlarını test etmek veya harici proxy'ler aracılığıyla çalışma kontrolü yapmak için - Fiddler'da upstream proxy ayarlayın. Belirli ülkelerden doğru testler için gerçek IP'lere ihtiyacınız varsa, rezidans proxy'lerine dikkat edin - bunlar en gerçekçi coğrafyayı sağlar ve test edilen hizmetlerin blokaj riskini en aza indirir.

Fiddler Classic ile başlayın - ücretsizdir, iyi belgelenmiştir ve Windows'ta hata ayıklama için %90'lık görevleri kapsar. İhtiyaçlarınız arttıkça Fiddler Everywhere'a geçebilir veya daha esnek otomasyon için mitmproxy gibi özel araçlarla çalışma sürecinizi tamamlayabilirsiniz.

```