Network Inspector — nedir, çalışma prensibi ve ağ isteklerini izleme

Yazar: IT Sectr Yayınlanma: 2026-05-07 Okuma süresi: 8 dk

Android Studio'daki Network Inspector, mobil uygulamanın ağ trafiğini gerçek zamanlı olarak izlemek ve analiz etmek için tasarlanmış yerleşik bir profil oluşturma aracıdır. Android Developers (2025) resmi belgelerine göre, araç isteklerin yürütme süresini, iletilen veri hacmini ve her çağrının HTTP durumunu izlemeye olanak tanır. Araç, uygulama kodunda değişiklik gerektirmez ve API Level 14 ve üzeri herhangi bir projede “kutudan çıkar çıkmaz” çalışır.

Önemli Noktalar

  • Network Inspector, başlıkları ve yanıt gövdesini görüntüleme özelliği ile ağ isteklerini izlemek için Android Profiler'ın bir bileşenidir
  • Trafik yakalama, OkHttp, Retrofit, Ktor ve WebView dahil olmak üzere uygulamadan yapılan tüm HTTP çağrıları için otomatik olarak gerçekleşir
  • Zaman çizelgesi, her çağrının süresi, boyutu ve durumu ile birlikte istek sırasını görüntüler
  • Ayrıntılı görünüm, her isteğin başlıklarını, istek ve yanıt gövdesini, çerezleri ve aşamalara göre yürütme süresini içerir
  • HAR formatında veri dışa aktarma, ağ etkileşiminin meslektaşlarınıza iletilmesine veya sonraki analiz için saklanmasına olanak tanır

Network Inspector Nedir?

Network Inspector, Android Studio'ya entegre edilmiş bir ağ etkinliği profil oluşturma aracıdır. Geliştiricilerin uygulama tarafından gönderilen tüm HTTP ve HTTPS isteklerini (başlıklar, istek ve yanıt gövdesi, durum kodları ve yürütme süresi dahil) gerçek zamanlı olarak görmesini sağlar. Android Studio 3.0'dan itibaren Android Profiler paneli üzerinden erişilebilir.

Amaç ve Kullanım Alanı

Network Inspector'ün temel görevi, mobil uygulama ile sunucu arasındaki ağ iletişiminde hata ayıklamaktır. Araç, iletilen verilerin doğruluğunu kontrol etmek, yanıt süresini analiz etmek, API hatalarını bulmak ve birden fazla isteğin tek bir ekran yüklenirken oluşması gibi optimal olmayan ağ desenlerini keşfetmek için kullanılır. Network Inspector, API Level 14 ve üzeri herhangi bir cihazda çalışır.

Uyumluluk ve Kütüphaneler

Araç, tüm ana Android HTTP istemcilerini destekler: OkHttp (sürüm 2.x'ten itibaren), Retrofit, Ktor (KMM), UrlConnection, Apache HttpClient (eski) ve WebView. OkHttp ve Retrofit için OkHttp Profiler kütüphanesi gerekir — Android Studio 4.1+ kullanıldığında otomatik olarak bağlanır. Ktor için ayrı bir yakalayıcı yapılandırması gerekir.

Network Inspector Nasıl Çalışır

Network Inspector, Android Profiler ile birlikte enjekte edilen Profiler Agent mekanizmasını kullanarak ağ çağrılarını sistem düzeyinde yakalar. Doğru çalışma için uygulamanın hata ayıklama derlemesi gerekir. Araç, uygulama kodunu değiştirmez ve temel işlevsellik için bağımlılık eklenmesini gerektirmez.

Trafik Yakalama Mekanizması

Profil oluşturma başlatıldığında, Network Inspector uygulamanın Hata Ayıklama sürecine bağlanır ve OkHttp Client, UrlConnection veya diğer desteklenen kütüphanelerden geçen tüm HTTP çağrılarını dinler. Her istek, ağ etkinliğinin bir zaman çizelgesini oluşturmayı sağlayan bir zaman damgası ile kaydedilir. HTTPS için, iletişim sırasında şifrelemeyi koruyan ancak Studio içinde kodu çözülmüş içeriği görüntülemeye izin veren bir sistem katmanı kullanılır.

Veri Toplama Mimarisi

Veri toplama, ana bilgisayarda ayrı bir süreçte çalışan Android Studio Profiler Service aracılığıyla gerçekleşir. Cihazda, istek meta verilerini ADB kanalı üzerinden ileten hafif bir aracı çalışır. Bu, uygulama performansı üzerindeki etkiyi en aza indirir — Google'a göre ek yük %3'ün altındadır. İstek verileri (gövde, başlıklar) yalnızca ayrıntılar aktif olarak görüntülenirken iletilir.

kotlin
// Network Inspector ile entegrasyon için OkHttp bağlantısı
val client = OkHttpClient.Builder()
    .addInterceptor(HttpLoggingInterceptor().apply {
        level = HttpLoggingInterceptor.Level.BASIC
    })
    .build()

// Network Inspector, client üzerinden tüm çağrıları otomatik olarak yakalar
client.newCall(Request.Builder()
    .url("https://api.example.com/data")
    .build()).execute()

Network Inspector Temel Özellikleri

Network Inspector, ağ trafiğinin kapsamlı analizi için bir dizi araç sağlar. Her özellik, başlıkları kontrol etmekten API performansını analiz etmeye kadar belirli bir hata ayıklama görevini çözmeye yöneliktir.

İstek Zaman Çizelgesi

Network Inspector'ün ana ekranı, tüm isteklerin kronolojisini bir zaman çizelgesi olarak görüntüler. Her istek renkli bir çubukla temsil edilir: yeşil — başarılı yanıt (2xx), mavi — yönlendirme (3xx), sarı — istemci hatası (4xx), kırmızı — sunucu hatası (5xx). Çubuğun uzunluğu, bağlantıdan tam yanıtın alınmasına kadar olan istek yürütme süresine karşılık gelir. Bu, yavaş veya hatalı isteklerin anında belirlenmesini sağlar.

ParametreAçıklamaÖrnek Değer
URLİsteğin tam adresihttps://api.example.com/v2/users
Methodİsteğin HTTP yöntemiPOST
StatusYanıt HTTP kodu200 OK
Sizeİstek + yanıt boyutu (bayt)12.4 KB
TimeToplam yürütme süresi342 ms

İstek Ayrıntılı Görünümü

Belirli bir istek seçildiğinde, ayrıntılar paneli açılır: Headers(tüm istek ve yanıt başlıkları), Request Body(metin veya ikili formatta istek gövdesi), Response Body(JSON biçimlendirme desteği ile yanıt gövdesi), Cookies(gönderilen ve alınan çerezler), Timing(aşamalara göre zaman dağılımı: DNS, Connection, TLS Handshake, Request, Response).

Filtreleme ve Arama

Network Inspector, URL, HTTP yöntemi, durum kodu ve içerik türüne göre istek filtrelemeyi destekler. Belirli alan adlarına yapılan istekler hariç tutularak yalnızca gerekli API'ye odaklanılabilir. Arama, gövde ve başlıklar dahil tüm istek alanlarında çalışır ve uygulamanın belirli bir işlevinde hata ayıklarken kullanışlıdır. Birleşik filtreler, profil oluşturma her çalıştırıldığında otomatik olarak uygulanan bir kural kümesi oluşturulmasına olanak tanır.

İstekleri Gruplama ve Karşılaştırma

Zaman çizelgesi, URL desenlerine göre istek gruplamayı destekler. Örneğin, /api/v2/users/* biçimindeki tüm istekler tek bir grupta toplanabilir. Bu, uygulama kısa sürede yüzlerce istek yaptığında analizi basitleştirir. Bitişik istekleri karşılaştırma işlevi, tekrarlanan çağrılarda sunucu yanıtlarındaki değişikliklerin belirlenmesine yardımcı olur.

Network Inspector ile Ağ İsteklerinde Hata Ayıklama

Network Inspector'ün pratik kullanımı tipik hata ayıklama senaryolarını kapsar: veri biçimini kontrol etme, yavaş uç noktaları belirleme, kapatılmayan bağlantılardan kaynaklanan bellek sızıntılarını bulma ve önbelleğe almayı analiz etme.

JSON Yanıt Yapısını Kontrol Etme

Sık karşılaşılan bir görev, sunucunun verileri beklenen biçimde döndürdüğünden emin olmaktır. Network Inspector, yanıt gövdesini sözdizimi vurgulama dahil olmak üzere JSON biçimlendirmesiyle gösterir. Yanıt istemci tarafında ayrıştırılamazsa, denetçi hemen nedeni gösterir: eksik alan, yanlış veri türü (sayı yerine dize) veya fazladan iç içe geçme. Sunucu bir hata döndürürse, denetçi kod ve mesajla birlikte hata yapısını gösterir. İkili biçimler (Protocol Buffers, görüntüler) için boyut ve içerik türü görüntülenir.

Yürütme Süresi Analizi

Timing sekmesi, istek yürütmeyi aşamalara ayırır: DNS Resolution, TCP Connection, TLS Handshake, Request Send, Response Receive. Toplam süre 1–2 saniyeyi aşarsa, aşama dağılımı nedeni belirlemeye yardımcı olabilir. Örneğin, uzun DNS çözümleyici ile ilgili sorunlara, uzun TLS Handshake sunucuda eski protokol sürümüne, uzun Response ise yavaş sunucu koduna veya aşırı veri içeren verimsiz bir isteğe işaret eder. Timing analizi, sunucu tarafı optimizasyonundan önce darboğazların belirlenmesine yardımcı olur.

Yinelenen İstekleri Bulma

Network Inspector, gereksiz isteklerin belirlenmesine yardımcı olur — örneğin, ekran her döndürüldüğünde Activity'nin veri yüklemeyi yeniden oluşturması gibi. Zaman çizelgesinde art arda gelen bir dizi aynı istek, sorunu açıkça gösterir. Çözüm, önbelleğe alma, durumu koruyan ViewModel kullanımı veya tek seferlik yükleme için SingleLiveEvent olabilir.

kotlin
// Tekrarlamayı önlemek için OkHttp ile istek önbelleğe alma
val cache = Cache(
    File(context.cacheDir, "http_cache"),
    cacheSize = 10L * 1024 * 1024 // 10 MB
)

val cachedClient = OkHttpClient.Builder()
    .cache(cache)
    .addNetworkInterceptor(CacheInterceptor())
    .build()

Network Inspector Sınırlamaları ve Alternatifler

Geniş yeteneklerine rağmen, Network Inspector'ün dikkate alınması gereken bir dizi sınırlaması vardır. Kendinden imzalı sertifikalarla HTTPS yakalama veya üçüncü taraf kütüphane trafiğini analiz etme gibi bazı senaryolar için alternatif araçlar gerekebilir.

Platform ve Kütüphane Sınırlamaları

Network Inspector yalnızca Android uygulamalarıyla çalışır ve iOS'u desteklemez. Kotlin Multiplatform (KMM) için, istekler native kısımda yürütülüyorsa bazı istekler görüntülenmeyebilir. Bazı kütüphaneler — örneğin gRPC, WebSocket (HTTP değil), Apollo üzerinden GraphQL (sürüm 3.x'ten önce) — ek yakalayıcılar yapılandırılana kadar kısmen veya hiç yakalanmayabilir.

Alternatif Araçlar

Daha derin ağ trafiği analizi için üçüncü taraf çözümler mevcuttur: Charles Proxy (HTTPS yakalamalı tam proxy sunucusu), Proxyman (macOS için alternatif), Wireshark (paket düzeyinde analiz), Stetho by Facebook (Chrome DevTools entegrasyonu), Chucker (uygulama içi istek denetleme kütüphanesi). Her aracın kendi alanı vardır: Charles ve Proxyman, geliştirmenin erken aşamalarında sunucu etkileşiminde hata ayıklarken vazgeçilmezdir; Chucker ise test derlemelerinde bilgi toplamak için kullanılır.

AraçTürPlatformHTTPSHAR
Network InspectorAndroid Studio'ya entegreAndroidEvetEvet
Charles ProxyProxy sunucusuÇapraz platformEvetEvet
ProxymanProxy sunucusumacOS, iOSEvetEvet
ChuckerUygulama içi denetçiAndroidEvetHayır
WiresharkPaket analizörüÇapraz platformHayırHayır

Sıkça Sorulan Sorular

Network Inspector neden istekleri göstermiyor?

Uygulamanın Debug yapılandırmasında derlendiğinden ve Android Profiler bağlıyken çalıştırıldığından emin olun. OkHttp 4.x kullanılıyorsa, kütüphaneyi en son sürüme güncellemek gerekebilir. Ktor için istekler yalnızca yakalamayı destekleyen Engine ile Ktor istemcisi kullanıldığında görüntülenir.

HTTPS trafiği görüntülenebilir mi?

Evet, Network Inspector ek yapılandırma gerektirmeden HTTPS trafiğini destekler. Charles Proxy'nin aksine, kök sertifika kurulumu gerekmez. Araç, hata ayıklama oturumu içinde trafiğin kodunu çözmek için Android Profiler'ın sistem mekanizmasını kullanır.

Network Inspector'dan veri nasıl dışa aktarılır?

Network Inspector, HAR (HTTP Archive) formatında veri dışa aktarmayı destekler. Panelin sağ üst köşesindeki Export düğmesine tıklayın. HAR dosyası herhangi bir HAR görüntüleyicide açılabilir veya daha fazla analiz için Charles Proxy ve Proxyman'a aktarılabilir.

Network Inspector uygulama performansını etkiler mi?

Google'a göre, aktif profil oluşturma sırasında ek yük %3'ü geçmez. Network Inspector kapalıyken ek yük yoktur. Aracın sürüm derlemelerinde kullanılması önerilmez, ancak hata ayıklama oturumlarında modern cihazlarda etkisi fark edilmez.

Yanıt ham veri olarak görüntülenirse ne yapılmalı?

Yanıt gövdesi okunamayan ham veri olarak görüntüleniyorsa, bu gzip sıkıştırması veya ikili biçimden (Protocol Buffers, MessagePack) kaynaklanıyor olabilir. Network Inspector gzip'i otomatik olarak çözer. Özel biçimler için yanıt başlıklarında Content-Type ipucunu kullanın.

Özet

  • Network Inspector — uygulama kodunu değiştirmeden gerçek zamanlı olarak ağ isteklerini izlemek ve hata ayıklamak için Android Studio'ya entegre edilmiş bir araçtır
  • Otomatik yakalama, OkHttp, Retrofit, Ktor ve UrlConnection üzerinden tüm HTTP çağrılarını Debug derlemesinde “kutudan çıktığı gibi” yakalar
  • Durum koduna göre renk kodlu zaman çizelgesi, yavaş, başarısız ve tekrarlanan isteklerin anında belirlenmesini sağlar
  • Her isteğin ayrıntılı görünümü, başlıklar, gövde (JSON biçimlendirmeli), çerezler ve aşama bazında yürütme süresi analizini içerir
  • Aşama bazında Timing analizi (DNS, TCP, TLS, Request, Response), yavaş isteklerin kesin nedenini belirlemeye yardımcı olur
  • HAR dışa aktarma, oturumların meslektaşlara iletilmek üzere kaydedilmesine veya Charles Proxy gibi üçüncü taraf araçlarda analiz edilmesine olanak tanır
  • Daha karmaşık senaryolar için, işletim sistemi düzeyinde trafik yakalamayı ve iOS desteğini sağlayan Charles Proxy veya Proxyman‑ı kullanın

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun