Wireshark: nedir, trafik analizi ve paket yakalama

Yazar: IT Sectr Yayınlanma: 2026-05-08 Okuma süresi: 9 dk

Wireshark, gerçek zamanlı olarak paketleri yakalamak ve incelemek için kullanılan, açık kaynaklı öncü ağ trafiği analizörüdür. Araç iki binden fazla ağ protokolünü destekler ve tüm önemli platformlarda çalışır. Wireshark User Guide (2026)'a göre araç, mobil ve web geliştirmede ağ teşhisi, API hata ayıklama ve güvenlik analizi için kullanılır.

Önemli noktalar

  • Wireshark, ağ trafiğini analiz etmek için grafik arayüze sahip ücretsiz bir paket dinleyicidir.
  • Trafik yakalama, veri bağlantı katmanı düzeyinde promiscuous modunda ağ arayüzü üzerinden gerçekleştirilir.
  • Paketlerin IP, port, protokol ve içeriğe göre filtrelenmesi, BPF dili ve display filters aracılığıyla uygulanır.
  • HTTPS analizi, oturumların şifresini çözmek için SSLKEYLOGFILE veya ara proxy yapılandırması gerektirir.
  • Mobil hata ayıklama, cihazdaki tcpdump ile Remote Packet Capture kombinasyonu sayesinde mümkündür.

Wireshark nedir ve nasıl çalışır

Wireshark, bilgisayarın ağ arayüzünden geçen veri paketlerini yakalayan açık kaynaklı bir programdır (GPLv2). OSI modelinin veri bağlantı katmanında yakalama için libpcap (Unix) veya Npcap (Windows) kitaplığına dayanır.

Paket yakalama ilkesi

Normal modda bir ağ kartı yalnızca kendi MAC adresine gönderilen çerçeveleri alır. Wireshark, arayüzü promiscuous (ayırt etmeyen) moduna geçirir; bu modda sistem alıcıdan bağımsız olarak tüm geçen çerçeveleri işler. Yakalanan veriler raw socket aracılığıyla çekirdeğe iletilir, ardından libpcap kitaplığı bunları analiz için kullanıcı alanına kopyalar.

İşleme mimarisi

Wireshark modüler bir mimari kullanır: her protokol, ikili verileri ayrıştıran ve yapılandırılmış biçimde görüntüleyen ayrı bir dissector — eklenti olarak uygulanır. 2026 itibarıyla programda HTTP/2, QUIC, gRPC ve MQTT dahil 2 874 protokol için dissector uygulanmıştır. Dissector'lar protokol ağacı sistemi üzerinden çalışır — her paket katman katman ayrıştırılır: Ethernet çerçevesinden uygulama katmanına kadar.

c
// Özel bir protokol için basit bir dissector örneği
static int dissect_custom(tvbuff_t *tvb, packet_info *pinfo,
        proto_tree *tree, void *data) {
    proto_item *ti = proto_tree_add_item(tree, hf_custom_field,
            tvb, 0, tvb_captured_length(tvb), ENC_NA);
    return 0;
}

Wireshark'ın temel özellikleri

Wireshark'ın grafik arayüzü üç panele bölünmüştür: paket listesi (packet list), protokol ayrıntıları (packet details) ve onaltılık döküm (packet bytes). Her panel gerçek zamanlı olarak güncellenir ve etkileşimli gezinmeyi destekler — bir paket satırına tıklamak tam yapısını açar.

Desteklenen biçimler ve protokoller

Araç, yakalama dosyalarını pcap, pcapng, snoop ve NetMon biçimlerinde okur. JSON, XML, CSV ve düz metin olarak dışa aktarma mümkündür. Temel uygulama katmanı protokolleri arasında HTTP/HTTPS, DNS, DHCP, TCP, UDP, TLS, QUIC, WebSocket, MQTT, AMQP ve Protobuf bulunur. Mobil geliştirme için akış çoğullamalı gRPC ve HTTP/2 desteği özellikle önemlidir.

Analiz araçları

Yerleşik yardımcı programlar arasında Follow Stream (tam TCP/UDP/TLS diyaloğunu yeniden kurma), IO Graph (bant genişliği grafiği), konuşma istatistikleri (Conversations) ve protokol hiyerarşisi (Protocol Hierarchy) bulunur. Flow Graph özelliği, düğümler arasındaki paket sırasını görselleştirir ve istemci-sunucu etkileşiminde hata ayıklarken gecikme nedenlerini bulmayı kolaylaştırır.

Wireshark ile trafik nasıl yakalanır

Yakalamanın başlatılması, bir ağ arayüzünün seçilmesiyle başlar — Ethernet, Wi-Fi, Bluetooth PAN veya Loopback. Windows'ta Npcap'in WinPcap API Compatible Mode'da kurulması gerekebilir. Mobil cihazlarda yakalama için SSH tüneli üzerinden Remote Packet Capture kullanılır.

Uzak cihazda yakalama

Android cihazda trafik tcpdump veya PCAPdroid ile yakalanır ve ardından dosya çalışma bilgisayarına aktarılır. ADB ile uzak yakalama komutu:

bash
# ADB shell ile Android'de trafik yakalama
adb shell tcpdump -i wlan0 -s 0 -w /sdcard/capture.pcap
# Bilgisayara kopyalama
adb pull /sdcard/capture.pcap .

Loopback trafiğini yakalama

Windows'ta localhost (127.0.0.1) trafiği fiziksel arayüzden geçmez, bu nedenle Wireshark bunu doğrudan göremez. Çözüm — Loopback Support seçeneğiyle Npcap kurmak veya trafiği RawCap üzerinden yönlendirmektir. Linux ve macOS'ta loopback arayüzü (lo) ek ayar olmadan yakalanır.

Wireshark'ta paket filtreleme

Wireshark iki tür filtre sunar: capture filters (yakalamadan önce, libpcap düzeyinde uygulanır) ve display filters (zaten yakalanmış verilere uygulanır). Capture filters BPF (Berkeley Packet Filter) sözdizimini kullanır, display filters — otomatik tamamlamalı Wireshark'ın kendi dilini.

Capture Filters (BPF)

BPF filtreleri tcpdump biçiminde yazılır ve çekirdekte çalışır; bu da yüksek yük altında paket kaybını en aza indirir. Filtre örnekleri:

FiltreAmaç
tcp port 80Yalnızca standart porttaki HTTP trafiği
host 192.168.1.1Belirli bir hosttan paketler
not arpARP istekleri dışındaki tüm paketler

Display Filters

Display filters sonradan uygulanır ve mantıksal operatörler and, or, not ile karmaşık koşulları destekler. Örnek: http.request.method == "POST" and ip.src == 192.168.0.100 belirli bir IP'den yalnızca POST isteklerini filtreler. Filtreler yeniden kullanım için favori olarak kaydedilebilir.

HTTP ve HTTPS trafiğinin analizi

HTTP trafiği Wireshark'ta okunabilir biçimde görüntülenir: istek yöntemi, URI, başlıklar ve yanıt gövdesi. Follow TCP Stream işlevi, istemci ve sunucu arasındaki tam diyaloğu tek pencerede toplar. HTTPS için TLS oturumlarının şifresinin çözülmesi gerekir, çünkü içerik şifrelidir.

SSLKEYLOGFILE ile HTTPS şifre çözme

Chrome ve Firefox tarayıcıları, TLS oturum anahtarlarını bir metin dosyasına yazan SSLKEYLOGFILE ortam değişkenini destekler. Wireshark bu dosyayı kayıtların şifresini çözmek için kullanır. Yapılandırma, Preferences → Protocols → TLS → (Pre)-Master-Secret log filename üzerinden yapılır.

bash
# TLS anahtar kaydıyla Chrome'u başlatma
export SSLKEYLOGFILE=/tmp/sslkeys.log
google-chrome .

# Yakalamadan sonra Wireshark'ta yolu belirtin
# Edit → Preferences → Protocols → TLS → Log Filename

gRPC ve Protobuf analizi

gRPC, taşıma olarak HTTP/2'yi, veri serileştirme için Protobuf'u kullanır. Wireshark, yapı tanımlarını içeren bir .proto dosyası sağlanırsa gRPC mesajlarının şifresini çözer. Protobuf dissector'ı ikili alanları proto dosyasındaki adlarla eşleştirir; bu, mikroservis mimarisinde hata ayıklarken kritik önem taşır.

Wireshark ile mobil uygulamalarda hata ayıklama

Wireshark ile mobil hata ayıklama, cihazın trafiğinin bilgisayara proxy'lenmesini gerektirir. En güvenilir yöntem — dizüstü bilgisayarda Wi-Fi erişim noktası oluşturmak ve trafiği NAT üzerinden yönlendirmektir. Android'de root hakları olmadan PCAPdroid uygulamasıyla VPN yöntemi de mevcuttur.

Android'de root'suz kurulum

PCAPdroid, uygulamaların trafiğini UDP akışı üzerinden Wireshark'a yönlendiren yerel bir VPN hizmeti oluşturur. Uygulama root erişimi gerektirmez ve tek tek işlemlere göre filtrelemeyi destekler. Elde edilen pcap dosyaları tam analiz için Wireshark'ta açılır.

bash
# PCAPdroid'den bilgisayarda trafik alma
# PCAPdroid → Settings → PCAP dumper → UDP Exporter
nc -l -u 192.168.0.10 12345 > capture.pcap

Wireshark'ın alternatiflerle karşılaştırılması

Wireshark evrensel bir araçtır, ancak belirli görevler için daha özel çözümler mevcuttur. tcpdump, grafiksiz sunucu yakalaması için daha etkilidir; Charles Proxy, HTTPS trafiğini analiz etmek için daha uygundur; Fiddler ise istekleri anında değiştirme imkânıyla web trafiğini incelemek için uygundur.

Charles Proxy vs Wireshark

Charles Proxy, kendi SSL sertifikasyonu aracılığıyla HTTPS'yi yakalayabilen bir ara proxy sunucusu olarak çalışır. Wireshark'tan farklı olarak Charles, SSLKEYLOGFILE yapılandırması gerektirmez ve trafiği yalnızca görüntülemekle kalmaz, aynı zamanda değiştirebilir — yanıtları değiştirme, gecikmeleri simüle etme ve istekleri tekrarlama.

Fiddler Everywhere

Fiddler, .NET ekosisteminde popüler olan başka bir proxy aracıdır. Yerleşik istek düzenleyicisi, mock'lar için AutoResponder desteği ve özel istekler oluşturmak için bir composer sunar. Fiddler tarayıcının web trafiğini analiz etmek için daha uygundur, Wireshark — düşük seviyeli ağ analizi için.

AraçTürAnahtarsız HTTPSTrafik değişikliği
WiresharkDinleyiciHayır (SSLKEYLOGFILE gerekir)Sadece görüntüleme
CharlesProxyEvet (özel sertifika)Evet
FiddlerProxyEvet (özel sertifika)Evet
tcpdumpDinleyiciHayırSadece görüntüleme

Wireshark ile çalışmak için pratik ipuçları

Wireshark, trafik yakalamanın temel ilkelerini anlamayı gerektirir. Sık görülen senaryolardan biri, tcp.analysis.ack_rtt filtresiyle mobil uygulamadaki gecikmelerin kaynağını bulmaktır. Yavaş HTTP isteklerini bulmak için http.time 1'den büyük koşulunu kullanın.

Yavaş istekleri bulma

Yavaş HTTP isteklerini bulmak için http.time 1'den büyük filtresini kullanın — Wireshark, yanıt süresi 1 saniyeden fazla olan istekleri gösterir. Belirli bir sunucuyu analiz etmek için ip.addr ile birleştirin. 1 saniye aralıklı IO Graph, yük zirvelerini net şekilde gösterir.

Dışa aktarma ve raporlama

Wireshark, File menüsü üzerinden CSV, JSON ve XML'e dışa aktarmayı destekler. Otomatik analiz için CI/CD pipeline'larında çalışan konsol sürümü tshark'ı kullanın. Tshark, grafik sürümüyle aynı filtreleri ve çıktı biçimlerini destekler.

Wireshark ile çalışmak için pratik ipuçları

Wireshark, trafik yakalamanın temel ilkelerini anlamayı gerektirir. Sık görülen senaryolardan biri, tcp.analysis.ack_rtt filtresiyle mobil uygulamadaki gecikmelerin kaynağını bulmaktır. Yavaş HTTP isteklerini bulmak için http.time 1'den büyük koşulunu kullanın.

Yavaş istekleri bulma

Yavaş HTTP isteklerini bulmak için http.time 1'den büyük filtresini kullanın — Wireshark, yanıt süresi 1 saniyeden fazla olan istekleri gösterir. Belirli bir sunucuyu analiz etmek için ip.addr ile birleştirin. 1 saniye aralıklı IO Graph, yük zirvelerini net şekilde gösterir.

Dışa aktarma ve raporlama

Wireshark, File menüsü üzerinden CSV, JSON ve XML'e dışa aktarmayı destekler. Otomatik analiz için CI/CD pipeline'larında çalışan konsol sürümü tshark'ı kullanın. Tshark, grafik sürümüyle aynı filtreleri ve çıktı biçimlerini destekler.

Sıkça sorulan sorular

Wireshark tcpdump'tan nasıl farklıdır?

Wireshark, paket görselleştirme, yerleşik filtreler ve istatistiklerle grafik arayüz sunar. tcpdump — GUI'siz bir konsol yardımcı programıdır, SSH üzerinden sunucu yakalaması için uygundur. Wireshark tcpdump dosyalarını okuyabilir ve bunun tersi de geçerlidir.

Wireshark'ta HTTPS trafiği nasıl yakalanır?

Şifre çözmek için TLS oturum anahtarı dosyası (SSLKEYLOGFILE) gerekir. Chrome ve Firefox, ortam değişkeniyle başlatıldığında anahtarları dışa aktarır. Dosyanın yolu, Wireshark'ta Protocols → TLS ayarlarında belirtilir.

Windows'ta Wireshark neden localhost trafiğini görmüyor?

Windows'ta loopback trafiği varsayılan olarak Npcap sürücüsünden geçmez. Çözüm — Loopback Support seçeneği etkinleştirilmiş Npcap kurmak veya yerel trafiği yakalamak için RawCap yardımcı programını kullanmak.

Wireshark mobil uygulamalar için kullanılabilir mi?

Evet, trafiği bilgisayara proxy'leyerek. Android, PCAPdroid (root'suz) veya tcpdump (root ile) ile yakalamayı destekler. iOS, yakalama için macOS üzerinden RVI (Remote Virtual Interface) veya jailbreak gerektirir.

Wireshark'ta paketler içeriğe göre nasıl filtrelenir?

Display filter frame contains, tüm pakette bir dize veya onaltılık dizi arar. Örnek: frame contains "password" herhangi bir alanda password alt dizesini içeren paketleri bulur. Alana göre tam arama için http.request.uri contains "api" kullanın.

Özet

  • Wireshark, geliştirmede ağ trafiği analizi için ana araçtır ve 2800'den fazla protokolü destekler.
  • Paket yakalama, veri bağlantı düzeyinde libpcap veya Npcap kitaplığı aracılığıyla promiscuous modunda gerçekleştirilir.
  • Filtreleme, capture filters (BPF, çekirdek düzeyinde) ve display filters (otomatik tamamlamalı Wireshark dili) olarak ikiye ayrılır.
  • HTTPS şifre çözme, Chrome ve Firefox tarayıcıları için SSLKEYLOGFILE aracılığıyla kullanılabilir.
  • Mobil hata ayıklama, root gerektirmeden PCAPdroid (Android) veya Remote Virtual Interface (iOS) ile uygulanır.
  • gRPC ve Protobuf, ikili verileri seri durumdan çıkarmak için .proto dosyalarının yüklenmesiyle desteklenir.
  • Flow Graph ve IO Graph, gecikmeleri görselleştirmeye ve istemci-sunucu etkileşimindeki darboğazları bulmaya yardımcı olur.

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