İçeriğe atla
0 XP 0
← Blog
Araçlar

Wireshark Filtreleri: 25 Örnekle Kopya Kâğıdı

Wireshark filtreleri tek sayfada: adres, port, DNS, HTTP, TLS ve TCP için 25 hazır görüntüleme filtresi. Yazım kurallarını örneklerle öğren.

Yazan: AltaySec AkademiSon güncelleme: 7 dk okuma

Wireshark filtreleri, binlerce paketlik bir kayıtta yalnız aradığın trafiği ekrana getirir. Görüntüleme filtresi kaydı silmez, yalnız neyin görüneceğini seçer. Aşağıda adres, port, DNS, HTTP, TLS ve TCP sorunları için 25 hazır filtre var. Her birini kopyalayıp filtre çubuğuna yapıştırabilirsin. Örnekleri yalnız kendi cihazının ya da kendi laboratuvarının trafiğinde dene.

Wireshark filtreleri nasıl yazılır?

Aracın ne olduğunu ve güvenlik işinde nerede kullanıldığını Wireshark nedir yazısı anlatıyor. Bu sayfa doğrudan filtrelere geçer.

Bir görüntüleme filtresi üç parçadan oluşur: alan adı, işleç ve değer. tcp.port == 443 ifadesinde alan tcp.port, işleç ==, değer 443'tür. Yalnız protokol adını yazarsan, örneğin dns, o protokolü içeren her paket görünür.

İşleçAnlamıÖrnek
== ya da eqEşittirip.src == 192.168.1.10
!= ya da neEşit değildirdns.flags.rcode != 0
>, <, >=, <=Büyüktür, küçüktürframe.len > 1000
containsMetni ya da bayt dizisini içerirhttp.host contains "example"
matchesDüzenli ifadeyle eşleşir, büyük küçük harf ayırmazdns.qry.name matches "^www"
in {}Listedeki değerlerden biridirtcp.port in {80, 443, 8080}

Koşulları and, or ve not ile birleştirirsin. Aynı işi &&, || ve ! de yapar. Karışık koşullarda parantez kullan: ip.addr == 192.168.1.10 and (tcp.port == 80 or tcp.port == 443). Metin değerlerini her zaman çift tırnağa al.

Yazarken çubuğun rengine bak. Kırmızı, ifadenin eksik ya da hatalı olduğunu gösterir. Yeşil, ifadenin geçerli olduğunu gösterir. Enter tuşuna basınca filtre uygulanır. Bir alanın tam adını bilmiyorsan paket ayrıntısı panelinde o satıra sağ tıkla ve Apply as Filter seçeneğini kullan. Wireshark doğru ifadeyi kendisi yazar.

Yakalama filtresi ile görüntüleme filtresi arasındaki fark nedir?

Wireshark'ta iki ayrı filtre dili vardır. Yakalama filtresi paketler kaydedilirken çalışır. Görüntüleme filtresi ise kayıttan sonra, istediğin an çalışır.

ÖzellikYakalama filtresiGörüntüleme filtresi
Ne zaman çalışırKayıt sırasındaKayıttan sonra
Dillibpcap filtre diliWireshark'ın kendi dili
Örnekhost 192.168.1.10 and port 53ip.addr == 192.168.1.10 and dns
Elenen paketDiske hiç yazılmazDosyada durur, filtreyi kaldırınca görünür
Ne zaman seçersinÇok yoğun ağda dosyayı küçük tutmak içinAnalizin neredeyse tamamında

İki dil birbirine benzemez. host ve port yakalama filtresinde çalışır. Aynı ifadeyi görüntüleme filtresi çubuğuna yazarsan çubuk kırmızı yanar. Başlangıçta yakalama filtresi kullanma. Her şeyi kaydet, sonra görüntüleme filtresiyle daralt. tcpdump ve yakalama filtrelerinin kısa listesi tcpdump ve Wireshark kopya kâğıdında duruyor.

Adres ve port için hangi filtreler kullanılır?

İlk sekiz filtre trafiği cihaza ya da hizmete göre ayırır. Örneklerdeki adresler ev ağı aralığındandır. Kendi ağındaki adresle değiştir.

NoFiltreNe gösterir
1ip.addr == 192.168.1.10Bu adrese giden ya da bu adresten gelen paketler
2ip.src == 192.168.1.10Kaynağı bu adres olan paketler
3ip.dst == 192.168.1.10Hedefi bu adres olan paketler
4ip.addr == 192.168.1.0/24Bu alt ağdaki adreslerin trafiği
5!(ip.addr == 192.168.1.10)Bu adres dışındaki bütün trafik
6tcp.port == 443Kaynak ya da hedef portu 443 olan TCP paketleri
7udp.port == 53Kaynak ya da hedef portu 53 olan UDP paketleri
8tcp.port in {80, 443, 8080}Bu üç porttan birini kullanan TCP paketleri

Bir adresi dışarıda bırakmak için 5 numaralı biçimi kullan. Wireshark 3.6'dan beri ip.addr != 192.168.1.10 de aynı sonucu verir. Eski sürümlerde bu yazım farklı çalışıyordu. Parantezli biçim her sürümde aynı davranır. Port numaralarının hangi hizmete denk geldiğini port nedir yazısındaki tabloda bulabilirsin.

DNS, HTTP ve TLS trafiği nasıl süzülür?

Bu filtreler protokolün kendi alanlarına bakar. Hangi alan adının sorulduğunu, hangi isteğin gittiğini ve hangi sunucuyla şifreli bağlantı kurulduğunu gösterir.

NoFiltreNe gösterir
9dnsBütün DNS sorgu ve yanıtları
10dns.qry.name contains "example"Adında "example" geçen DNS sorguları
11dns.flags.rcode != 0Hata koduyla dönen DNS yanıtları
12http.request.method == "POST"Şifresiz HTTP üzerinden giden POST istekleri
13http.response.code >= 400Hata kodlu HTTP yanıtları (404, 500 gibi)
14http.host contains "example"Host başlığında "example" geçen istekler
15tls.handshake.type == 1TLS bağlantısını başlatan Client Hello paketleri
16tls.handshake.extensions_server_name contains "example"Client Hello içinde bu sunucu adı istenen bağlantılar

11 numaralı filtrede en sık göreceğin değer 3'tür. Bu kod, sorulan adın bulunamadığını söyler. Bir cihaz sürekli var olmayan adlar soruyorsa yanlış yapılandırmayı ya da rastgele adlar üreten bir zararlıyı düşün. DNS'in nasıl çalıştığını ve hangi saldırılara açık olduğunu DNS nedir yazısında okuyabilirsin.

http ile başlayan filtreler yalnız şifresiz HTTP trafiğinde sonuç verir. Bugün sitelerin çoğu HTTPS kullanır. Bu yüzden 12, 13 ve 14 numaralı filtreler genellikle yerel cihazlarda, eski yönetim panellerinde ve laboratuvar trafiğinde işe yarar.

TCP bağlantı sorunlarını hangi filtreler gösterir?

Bu grup bağlantının nasıl kurulduğunu, koptuğunu ve yavaşladığını gösterir. Ağ sorunlarını teşhis ederken ilk bakacağın yer burasıdır.

NoFiltreNe gösterir
17tcp.flags.syn == 1 && tcp.flags.ack == 0Bağlantı başlatan ilk SYN paketleri
18tcp.flags.reset == 1RST ile kesilen bağlantılar
19tcp.analysis.retransmissionYeniden gönderildiği düşünülen paketler
20tcp.analysis.zero_windowAlıcının arabelleği dolduğu için gönderilen sıfır pencere paketleri
21tcp.stream eq 3Yalnız 3 numaralı TCP akışı
22frame.time_delta > 1Bir önceki yakalanan paketten 1 saniyeden uzun sonra gelen paketler

17 numaralı filtre her bağlantının ilk adımını gösterir. Kısa sürede çok sayıda farklı porta SYN gidiyor ama çok azına yanıt geliyorsa bu bir port taramasının izi olabilir. Bu görüntüyü kendi laboratuvarında Nmap komutlarıyla bir tarama yapıp Wireshark'ta izleyerek tanıyabilirsin.

tcp.analysis ile başlayan alanlar pakette yazmaz. Wireshark bunları akışı inceleyerek kendisi ekler. Yeniden gönderim kaybolan ya da geciken paketin işaretidir. Bir akışın tamamını okumak için 21 numaralı filtreyi kullan ya da pakete sağ tıklayıp Follow > TCP Stream seç.

İçerik aramak ve gürültüyü ayıklamak için hangi filtreler var?

Son üç filtre büyük kayıtlarda zaman kazandırır.

NoFiltreNe gösterir
23!(arp or icmp or dns)ARP, ICMP ve DNS dışındaki trafik
24frame contains "parola"Ham paketin içinde bu metin geçenler
25tcp.len > 0Veri taşıyan TCP paketleri, boş onaylar gizlenir

24 numaralı filtre şifresiz protokollerin riskini göstermenin en kısa yoludur. Laboratuvarındaki bir FTP ya da Telnet sunucusuna giriş yap ve kaydı bu filtreyle süz. Kullanıcı adını ve parolayı düz metin olarak görürsün. Şifreli trafikte aynı arama sonuç vermez.

HTTPS trafiğinde ne görürsün?

Şifreli trafikte içerik okunmaz ama bağlantının çevresi görünür: IP adresleri, portlar, zamanlama, paket boyutları ve DNS sorguları. TLS el sıkışmasındaki Client Hello paketinde bağlanılan sunucunun adı (SNI) çoğu zaman açık durur. 16 numaralı filtre bu alanı kullanır.

Kendi tarayıcının trafiğini çözmen gerekiyorsa Wireshark'ın belgelediği yol oturum anahtarı dosyasıdır. Firefox ve Chrome, SSLKEYLOGFILE ortam değişkeni tanımlıyken TLS oturum anahtarlarını bu dosyaya yazar. Wireshark'ta TLS protokol ayarlarındaki (Pre)-Master-Secret log filename alanına dosyanın yolunu verirsin. Yöntem yalnız anahtarları senin cihazında üretilen bağlantılarda çalışır. İşin bitince değişkeni kaldır ve dosyayı sil, çünkü o dosyayla kayıtlı oturumlar okunabilir.

Bir kaydı filtrelerle adım adım nasıl okursun?

Bir web sayfasının geç açıldığını düşün. Sorunu katman katman daraltmak için şu sırayı izle:

  1. Yakalamayı başlat, sayfayı aç ve yakalamayı durdur.
  2. dns ile alan adı sorgularına bak. Yanıt geç geliyorsa sorun ad çözümlemede olabilir.
  3. tls.handshake.type == 1 ile hangi sunuculara bağlanıldığını gör.
  4. tcp.analysis.retransmission ile kayıp paket var mı kontrol et.
  5. tcp.flags.reset == 1 ile kesilen bağlantıları bul.
  6. Şüpheli bağlantının akış numarasını al ve tcp.stream eq ile yalnız onu incele.

Her adımda paket ayrıntısı panelindeki satırları yukarıdan aşağıya aç. Ethernet, IP, TCP ve uygulama katmanı sırayla görünür. Bu sıranın mantığını OSI ve TCP/IP modeli yazısında bulabilirsin.

Trafik yakalamanın yasal bir sınırı da var. Türk Ceza Kanunu'nun 243. maddesinin 4. fıkrası, bilişim sistemleri arasındaki veri aktarımını teknik araçlarla hukuka aykırı olarak izlemeyi ayrı bir suç sayar. Kafe, yurt ya da iş yeri ağında başkalarının trafiğini kaydetme. Kendi ağında ve izinli laboratuvarda çalış.

Kaynaklar

Sık sorulan sorular

Wireshark'ta filtre nasıl uygulanır?

Paket listesinin üstündeki görüntüleme filtresi çubuğuna ifadeyi yaz ve Enter tuşuna bas. Çubuk yeşile dönerse ifade geçerlidir, kırmızıya dönerse yazımda hata vardır. Filtre yalnız görünümü değiştirir, kayıttaki paketleri silmez. Çubuğun sağındaki temizleme düğmesine bastığında bütün paketler yeniden listelenir ve yeni bir filtre deneyebilirsin.

Yakalama filtresi ile görüntüleme filtresi aynı şey mi?

Hayır. Yakalama filtresi kayıt sırasında çalışır ve libpcap dilini kullanır, örneğin host ve port. Elediği paket diske hiç yazılmaz. Görüntüleme filtresi kayıttan sonra çalışır, Wireshark'ın kendi dilini kullanır ve istediğin an değişir. Yeni başlıyorsan her şeyi kaydet, sonra görüntüleme filtresiyle daralt.

Wireshark'ta bir IP adresini nasıl hariç tutarım?

En güvenli yazım not (ip.addr == 192.168.1.10) biçimidir. Bu ifade, kaynağında ya da hedefinde o adres geçen bütün paketleri gizler. Wireshark 3.6 ve sonraki sürümlerde ip.addr ne 192.168.1.10 de aynı sonucu verir. Eski sürümlerde bu ikinci yazım farklı çalışıyordu, bu yüzden parantezli biçimi alışkanlık edin.

Wireshark HTTPS trafiğinin içeriğini görebilir mi?

Anahtar olmadan göremez. Şifreli bağlantıda adresleri, portları, zamanlamayı ve çoğu zaman sunucu adını görürsün, içerik ise okunmaz. Kendi tarayıcının trafiğini çözmen gerekiyorsa Firefox ya da Chrome'u SSLKEYLOGFILE ortam değişkeniyle başlatıp oluşan anahtar dosyasını Wireshark'ın TLS ayarlarına verirsin. İş bitince bu dosyayı sil.

Başkasının trafiğini Wireshark ile izlemek suç mu?

Olabilir. Türk Ceza Kanunu'nun 243. maddesinin 4. fıkrası, bilişim sistemleri arasındaki veri aktarımını sisteme girmeden teknik araçlarla hukuka aykırı olarak izlemeyi suç sayar ve bir yıldan üç yıla kadar hapis öngörür. Wireshark'ı yalnız kendi cihazında, kendi ağında ya da yazılı izin aldığın sistemde kullan.

  • Wireshark
  • görüntüleme filtresi
  • paket analizi
  • ağ trafiği
  • kopya kâğıdı

İlgili yazılar

Okuduğunu uygula.
Yollarda ders ders ilerle, alıştırmalarla pekiştir.
Başla