Ağ trafiği yalan söylemez. Bir uç noktadaki zararlı yazılım, yanlış yapılandırılmış bir servis veya sızdırılan veri; günlüklerde görünmese bile paketlerde iz bırakır. Wireshark ve komut satırı eşi tshark, bu izleri okumak için en yaygın kullanılan açık kaynak araçlardır. Ancak doğru filtre bilgisi olmadan milyonlarca paketlik bir yakalama dosyası kısa sürede içinden çıkılmaz hâle gelir.

Bu rehberde güvenli ve yetkili trafik yakalamadan başlayarak capture ve display filtreleri, TLS trafiğinin yasal yollarla çözülmesi, tshark ile otomasyon ve tarama, DNS tünelleme, kaba kuvvet ve komuta kontrol (C2) izlerinin tespitini adım adım inceleyeceğiz.

1. Başlamadan önce: yetki ve kapsam

Paket yakalama, parolalar, oturum çerezleri ve kişisel veriler içerebilir. Bu nedenle yalnızca yönettiğiniz veya yazılı izinle incelediğiniz ağlarda trafik yakalayın. Kurumsal ortamlarda yakalama kapsamı, saklama süresi ve erişim yetkisi önceden belirlenmeli; KVKK kapsamındaki kişisel verilerin gereğinden uzun tutulmaması sağlanmalıdır.


  • Yakalama dosyalarını (.pcapng) şifreli bir dizinde saklayın ve erişimi sınırlayın.
  • Mümkünse yakalamayı ilgili host, port veya VLAN ile sınırlayarak gereksiz veri toplamayın.
  • Wireshark'ı yönetici/root olarak çalıştırmayın; Linux'ta wireshark grubu ve dumpcap yetkisi, Windows'ta Npcap kullanın.



CODE TERMINAL
# Debian/Ubuntu: root olmadan yakalama yetkisi
sudo apt install wireshark tshark
sudo usermod -aG wireshark $USER
# Oturumu kapatıp açtıktan sonra arayüzleri listeleyin
tshark -D


2. Capture filter ile display filter arasındaki fark

En sık yapılan hata bu iki filtre türünü karıştırmaktır. Capture filter, BPF (Berkeley Packet Filter) söz dizimini kullanır ve hangi paketlerin diske yazılacağını belirler; kaçırılan paket geri gelmez. Display filter ise Wireshark'ın kendi söz dizimidir ve yakalanmış veriyi yalnızca görünüm düzeyinde süzer.

ÖzellikCapture filter (BPF)Display filter
Uygulandığı anYakalama sırasındaYakalama sonrasında
Söz dizimi örneğihost 192.0.2.10 and port 443ip.addr == 192.0.2.10 && tcp.port == 443
Protokol alanı derinliğiSınırlı (başlık düzeyi)Çok derin (HTTP, DNS, TLS alanları)
Veri kaybı riskiVar; eşleşmeyen paket kaydedilmezYok; filtre kaldırılınca tüm veri görünür
Kullanım amacıDisk ve performans tasarrufuAnaliz ve hipotez testi


CODE TERMINAL
# Yalnızca bir sunucunun DNS ve HTTPS trafiğini 100 MB'lık dosyalara döngüsel yaz
dumpcap -i eth0 -f "host 192.0.2.10 and (port 53 or port 443)" \
  -b filesize:102400 -b files:20 -w /srv/pcap/sunucu.pcapng


Uzun süreli yakalamalarda dumpcap tercih edilmelidir; Wireshark arayüzüne göre çok daha az bellek kullanır ve halka tampon (ring buffer) desteği sayesinde diski doldurmaz.

3. Güvenlik analizinde en çok kullanılan display filtreleri

AmaçDisplay filter
Yalnızca TCP bağlantı başlatma denemeleritcp.flags.syn == 1 && tcp.flags.ack == 0
Reddedilen bağlantılar (RST)tcp.flags.reset == 1
Yeniden iletimler ve ağ sorunlarıtcp.analysis.retransmissiontcp.analysis.lost_segment
HTTP POST isteklerihttp.request.method == "POST"
Başarısız HTTP yanıtlarıhttp.response.code >= 400
Uzun DNS sorguları (tünelleme şüphesi)dns.qry.name.len > 50
NXDOMAIN yanıtları (DGA şüphesi)dns.flags.rcode == 3
TLS istemci selamları ve SNItls.handshake.type == 1
Belirli bir alan adına SNItls.handshake.extensions_server_name contains "ornek"
Açık metin kimlik bilgisi riskiftp.request.command == "PASS"http.authorization
SMB oturum açma hatalarısmb2.nt_status == 0xc000006d
Ağ dışına giden büyük akışlarip.dst != 10.0.0.0/8 && frame.len > 1400


Filtreleri birleştirirken parantez kullanmak okunabilirliği artırır: (dns || tls) && ip.src == 10.10.5.23. Sık kullandığınız filtreleri filtre çubuğunun yanındaki yer imi simgesiyle kaydedebilir, ayrı analiz senaryoları için Configuration Profile oluşturabilirsiniz.

4. İstatistik menüsüyle büyük resmi görmek

Paket paket incelemeye başlamadan önce yakalamanın genel profilini çıkarmak zaman kazandırır.


  • Statistics > Conversations: En çok veri aktaran IP çiftlerini gösterir; beklenmeyen bir dış IP'ye giden yüksek hacim veri sızdırma işareti olabilir.
  • Statistics > Protocol Hierarchy: Ağda hangi protokollerin ne oranda kullanıldığını gösterir; kurumsal ağda beklenmeyen IRC, Tor veya özel protokol trafiği dikkat çeker.
  • Statistics > Endpoints: En aktif hostları listeler; tarama yapan bir cihaz çok sayıda hedefle kısa bağlantılar üretir.
  • Statistics > I/O Graphs: Trafiğin zamana göre dağılımını çizer; düzenli aralıklarla tekrarlanan küçük tepeler C2 beacon davranışına işaret edebilir.
  • Analyze > Expert Information: Protokol hatalarını, bozuk paketleri ve olağandışı durumları özetler.



5. TLS trafiğini yasal yollarla çözmek

Günümüzde trafiğin büyük kısmı şifreli olduğundan, kendi test sisteminizde uygulama davranışını incelemek için TLS çözme gerekebilir. TLS 1.3 ve ileri gizlilik (forward secrecy) nedeniyle sunucunun özel anahtarıyla çözme artık çoğu durumda mümkün değildir. Doğru yöntem, istemcinin oturum anahtarlarını SSLKEYLOGFILE ile kaydetmesidir.

CODE TERMINAL
# Linux / macOS: yalnızca test tarayıcısı için anahtar günlüğü
export SSLKEYLOGFILE="$HOME/tls-keys/oturum.log"
firefox &

# Windows PowerShell
$env:SSLKEYLOGFILE = "C:\analiz\tls-keys\oturum.log"
Start-Process "C:\Program Files\Mozilla Firefox\firefox.exe"


Ardından Wireshark'ta Edit > Preferences > Protocols > TLS > (Pre)-Master-Secret log filename alanına bu dosyayı gösterin. Anahtar dosyası, trafiğin tamamını çözebilen bir sırdır; analiz bitince güvenli biçimde silinmeli ve asla üretim kullanıcılarının bilgisayarlarında etkinleştirilmemelidir.

Şifre çözme mümkün olmadığında bile TLS meta verisi değerlidir: SNI alanı, sertifika zinciri, JA4 benzeri istemci parmak izleri ve oturum süreleri zararlı yazılım ailelerini ayırt etmeye yardımcı olur.

6. tshark ile otomasyon ve toplu analiz

Grafik arayüz, gigabaytlarca veriyi taramak için ideal değildir. tshark aynı display filter motorunu komut satırında sunar ve çıktıyı alan bazlı olarak dışa aktarabilir.

CODE TERMINAL
# En çok sorgulanan 20 DNS adı
tshark -r trafik.pcapng -Y "dns.flags.response == 0" \
  -T fields -e dns.qry.name | sort | uniq -c | sort -rn | head -20

# TLS SNI değerlerini hedef IP ile birlikte listele
tshark -r trafik.pcapng -Y "tls.handshake.type == 1" \
  -T fields -e ip.dst -e tls.handshake.extensions_server_name | sort -u

# HTTP User-Agent dağılımı
tshark -r trafik.pcapng -Y http.request -T fields -e http.user_agent \
  | sort | uniq -c | sort -rn

# Konuşma istatistiği (TCP)
tshark -r trafik.pcapng -q -z conv,tcp

# Yalnızca şüpheli host trafiğini yeni dosyaya ayır
tshark -r trafik.pcapng -Y "ip.addr == 10.10.5.23" -w supheli-host.pcapng


tshark çıktısını -T json veya -T ek biçiminde alarak Elasticsearch/OpenSearch gibi platformlara aktarabilir, böylece tekrar eden analizleri SOC süreçlerine bağlayabilirsiniz.

7. Saldırı izlerini tanımak: dört pratik senaryo

Port taraması: Tek bir kaynaktan çok sayıda farklı porta SYN gönderilmesi ve yanıtların büyük bölümünün RST olması tipik bir işarettir.

CODE TERMINAL
tshark -r trafik.pcapng -Y "tcp.flags.syn==1 && tcp.flags.ack==0" \
  -T fields -e ip.src -e tcp.dstport | sort -u \
  | awk '{print $1}' | uniq -c | sort -rn | head


DNS tünelleme: Uzun, rastgele görünen alt alan adları, yüksek sorgu sıklığı ve TXT/NULL kayıt türleri veri kaçırma amaçlı tünel kullanımına işaret edebilir. dns.qry.name.len > 50 && dns.qry.type == 16 filtresi iyi bir başlangıçtır.

Kaba kuvvet denemeleri: SSH, RDP veya web oturum açma uç noktalarına aynı kaynaktan kısa aralıklarla yeni bağlantılar kurulması ve HTTP tarafında art arda 401/403 yanıtları dikkat çeker. SMB tarafında smb2.nt_status == 0xc000006d başarısız oturum açma denemelerini gösterir.

C2 beacon davranışı: Bir hostun aynı dış hedefe sabit aralıklarla ve benzer boyutlarda istek göndermesi otomatik iletişime işaret eder. I/O Graphs üzerinde ilgili IP için 1 saniyelik aralıkla grafik çizmek, insan davranışında görülmeyen bu ritmi görünür kılar.

8. Dosya ve nesne çıkarma

File > Export Objects menüsü HTTP, SMB, TFTP ve IMF (e-posta) oturumlarında aktarılan dosyaları çıkarabilir. Çıkarılan dosyalar potansiyel olarak zararlıdır: bunları yalnızca izole bir analiz makinesinde açın, önce özet değerlerini (SHA-256) alın ve tehdit istihbaratı kaynaklarında sorgulayın. Doğrudan açmak yerine statik analiz araçlarıyla incelemek daha güvenlidir.

9. Performans ve doğruluk ipuçları


  • Çok büyük dosyaları önce editcap ile zaman aralığına göre bölün: editcap -A "2026-09-18 10:00:00" -B "2026-09-18 10:30:00" buyuk.pcapng dilim.pcapng
  • Birden fazla sensörden gelen dosyaları mergecap ile zaman sırasına göre birleştirin.
  • Ad çözümlemeyi (View > Name Resolution) büyük dosyalarda kapatın; hem hızlanır hem de analiz sırasında dış DNS sorgusu üretilmez.
  • Sanal makinelerde ve bulutta NIC offload özellikleri nedeniyle hatalı checksum uyarıları görülebilir; bunları saldırı belirtisi sanmayın.
  • Zaman damgası doğruluğu için sensörlerin NTP ile eşitlendiğinden emin olun; olay müdahalesinde zaman çizelgesi bu verilere dayanır.



10. Sık yapılan hatalar


  1. Capture filter'ı gereğinden dar tutup kritik trafiği kaçırmak.
  2. Anahtarlı ağlarda yalnızca kendi bilgisayarının trafiğini görüp ağın tamamını izlediğini sanmak; bunun için SPAN/port mirroring veya TAP gerekir.
  3. SSLKEYLOGFILE değişkenini sistem genelinde kalıcı bırakmak.
  4. Yakalama dosyalarını paylaşırken içindeki kimlik bilgilerini ve kişisel verileri temizlememek.
  5. Tek bir göstergeye dayanarak kesin hüküm vermek; paket bulguları uç nokta ve sunucu günlükleriyle doğrulanmalıdır.



Operasyon kontrol listesi


  • Yakalama için yazılı yetki ve kapsam belirlendi mi?
  • dumpcap halka tamponu ve disk kotası yapılandırıldı mı?
  • Kurum için standart display filter profilleri hazırlandı mı?
  • TLS anahtar günlükleri yalnızca test ortamında ve geçici olarak mı kullanılıyor?
  • tshark ile düzenli DNS, SNI ve konuşma raporları otomatikleştirildi mi?
  • pcap saklama süresi ve imha prosedürü belgelendi mi?



Sonuç

Wireshark, doğru kullanıldığında olay müdahalesinden ağ sorun gidermeye kadar her aşamada tartışmasız kanıt sunar. Farkı yaratan aracın kendisi değil; yakalamanın doğru noktada ve doğru kapsamda yapılması, display filtrelerinin hipotez test eder gibi kullanılması ve tshark ile tekrar eden analizlerin otomatikleştirilmesidir. Bu rehberdeki filtreleri kendi laboratuvarınızda deneyerek başlayın ve kurumunuz için ortak bir filtre kütüphanesi oluşturun.

Kaynaklar

TR Siber Ekibi Yazar · X
Kaynak bağlantısı ← Ana sayfaya dön