Wireshark dünyada en sık kullanılan, ücretsiz, özgür ve açık kaynaklı bir paket inceleme aracıdır. Ağ sorunlarını bulma ve çözme konusunda kolaylık sağlar. İlk olarak Ethereal adıyla başlayan proje 2006 yılının Mayıs ayında Wireshark olarak yeniden adlandırılmıştır. Unix ve Windows işletim sistemine sahip tüm cihazlarda kullanıma uygundur. Kısaca Wireshark bir sniffer uygulamasıdır. Sniffer, ağ üzerinden geçen trafiği izlemeye yarayan yazılımların genel adıdır.

Wireshark ağ içerisindeki trafiğin bir grafik arayüzü aracılığı ile izlenmesini sağlar. Uygulamanın kurulu olduğu bilgisayar üzerinden, bağlı olunan ağ trafiği kolayca takip edilebilir. Veriye ait paketler incelenerek, ağın nasıl çalıştığını gözlemleyebilmek ve oluşan problemleri çözebilmek için kullanıcılara kolaylık sağlar. Yakalanan paketler, ayrıntılı protokol bilgilerine kadar incelenebilir ve yakalanan paketler sonradan incelenmek üzere kaydedilebilir. Daha önceden kaydedilmiş olan trafik verileri var ise kaydedilen bu veriler de daha sonrasında uygulama üzerinden incelenebilir.

Wireshark kurulumunda Windows cihazlara WinPcap isimli bir eklenti otomatik olarak kurulur. WinPcap eklentisi anlık olarak Ethernet trafiğinin yakalanabilmesini sağlar. Wireshark WinPcap eklentisinden gelen verileri kullanarak, grafik arayüz üzerinden Ethernet trafiğini anlık olarak inceleme fırsatı sunar.

Wireshark kullanımı ile kablolu ve kablosuz bağlantılarda paket yakalama işlemi gerçekleştirilir. Trafik, belirli filtreler aracılığı ile filtrelenebilir. Yakalanan paketler düzenlenebilir ve belirli düzeylerde dönüştürülebilir. Ağ üzerinde gerç ekleştirilen VoIP aramaları tespit edilebilir. Sadece trafiğin anlık olarak takip edilmesine değil, aynı zamanda detaylı olarak incelenmesine, kaydedilmesine ve paketlerin içerinin analiz edilmesine olanak sağlar.

Özetlemek gerekirse Wireshark bir sniffer uygulamasıdır. Sniffer, network kablosu içerisinden geçen trafiğin kopyasını yazılımsal olarak adresler ve iletir. Böylece trafik içerisindeki paketlerin detaylıca incelenmesine olanak tanır. Programın kullanımına dair yüzeysel bilgiler aşağıda paylaşılmıştır.

Kısayol Sekmeleri Hakkında

Sekmeler içerisinde en sık kullanılan başlıklar aşağıda sunulmuştur. Bu başlıklar kullanım kolaylığı ve opsiyonel birkaç fonksiyon sağlar.

  • Sekmeler içerisinde bulunan “File” başlığı içerisinden “Export Objects” butonu ile istenilen formattaki verilerin, hangi kaynağa ait olduğu ve hangi hedefe gittiği veri türü bazından ifade edilir.
    (Örneğin HTTP seçilmesi durumunda, gidilmiş olan web siteleri URL bazlı görüntülenirken, TFTP seçilmesi durumunda veri aktarımlarına ait sunucu adresleri görüntülenecektir. Ek olarak eğer URL içerisindeki HTTP veya görüntülenmiş bir görsel (PNG – JPG) var ise masaüstüne kaydetmek ve bu adresi / belgeyi görüntülemek mümkündür.)
  • Sekmeler içerisinde bulunan “Edit” başlığı içerisinden “Mark Packets” seçeneği ile paketler işaretlenebilir. Paketler önceden işaretlenmiş ise yine “Mark Packets” seçeneği işaretleri kaldırılabilir.
  • Sekmeler içerisinde bulunan “View” başlığı ile uygulamanın ve arayüzün nasıl görüneceğine karar verilir. Sütun ölçüleri, karakter boyutu veya görüntülenecek paket detayları buradan kararlaştırılır.
  • Sekmeler içerisinde bulunan “Go” başlığı ile seçili paketin bir önceki veya bir sonraki parçalarına ilerlemek mümkün. Ek olarak, paketin kendisini incelemek için pakete gitmek veya paketi terk edip başa dönmek için bir kısayol sağlar.
  • Kalan tablar konu içerisinde daha detaylı olarak işlenecektir.
Filter Toolbar Hakkında
  • Bookmarks –> Default filtrelerdir, En çok kullanılan filtreler bulunur.
  • Filter Input –> Manuel olarak ifade girilir. Doğru ifade girildiğinde protokole ait renk görünür.
  • Clear –> Temizler ve tüm paketler görüntülenir.
  • Apply –> Yazılan filtreleri uygular.
  • Recent –> Geçmişte yazılmış olan filtreleri gösterir.
  • Add Button –> Çok kullanılan bir filtreyi kısayol olarak ekler ve kullanımını kolaylaştırır.
  • “Bookmark” sekmesi içerisinden “Manage Display Filters” seçeneği ile özel filtre oluşturulabilir ve bookmark içerisine eklenebilir.
  • Analyse – Display Filter Expressions – Bu kısımdan herhangi bir filtre için detaylı olarak kodların görüntülenmesi mümkün.
    — Örneğin; ” icmp.type == 8 ” bir echp request ve ” icmp.type == 0 ” bir echo reply için görüntüleme / filtreleme komutudur.

Filtreleme aşamasında öncelikli bir filtre mevcut ise parantezler kullanılır. Bu durumda önce mutlaka parantez içinde yer alan filtre şartı yerine getirilecektir.
-Örneğin “(ip.src == 172.16.1.14 and udp.port == 53) or tcp.port == 80” filtresi ile belirtilen IP’ye ait DNS verileri ve tüm HTTP verilerine ait çıktılar görüntülenir.
Bu durum bizlere birden çok filtreleme operatörünü aynı filtreleme içerisinde kullanabilme kolaylığı sağlar.

Display Filter Operatörleri
  • Equal To: “==” veya “eq” ile ifade edilir.
  • Or: “||” veya “or” ile ifade edilir.
  • And: “&&” veya “and” ile ifade edilir.
  • Greater Than: “>” veya “gt” ile ifade edilir.
  • Less Than: “<” veya “lt” ile ifade edilir.
  • Greater Than or Equal To: “>=” veya “ge” ile ifade edilir.
  • Less Than or Equal To: “<=” veya “le” ile ifade edilir.
  • Not: “!” veya “not” ile ifade edilir.
  • Not Equal To: “!=” veya “ne” ile ifade edilir.
  • Contains: “contains” ile ifade edilir.
  • Matches: “matches” ile ifade edilir.
    • Örneğin “tcp.port == 80” filtresi kullanıldığında Destination veya Source portları 80 olan tüm tcp paketleri listelenir.
      Eğer tek yön veya başka bir paket daha belirtilmek isteniyorsa ek filtre eklenebilir.
    • Örneğin “tcp.port == 80 || tcp.port == 443” filtresi ile Destination veya Source portları 80 veya 443 olan tüm tcp paketleri listelenir.
    • Örneğin “icmp and ip.ttl = 64” filtresi ile TTL değeri 64 olan tüm ICMP paketleri listelenir.
      Böylece iki filtre şartını da sağlaması gerektiğini gözlemlemiş oluruz.
NOT

Pakete tıkladıktan sonra paket numaralarının en solunda belirli işaretler görünür. Bu işaretler paketin başlangıç, bitiş, aradaki ilgili ve ilgisiz paketleri, acknowledge gibi tüm paketlerin gösterimini sağlıyor. Böylece gönderilen bir paketin gönderimine ait tüm detaylar görüntülenebiliyor.

Mouse Sağ Klik İle;

Üzerine tıklanmış olan paket;

  • “Mark” edilerek öne çıkarılabilir.
  • “Ignore” edilerek ilgili alanda görünmez hale getirilebilir.
  • “Set” edilerek iki paketin arka arkaya yakalanma süreleri default olarak 0 değerine çekilir ve inceleme açısından kolaylık sağlar.
  • “Comment” edilerek paketin içerisine bir yorum bir not eklenebilir ve paket içerikleri arasında görüntülenebilir.
  • “Edit Name Resolution” kısmında mevcut paketteki IP adreslerine -Gateway- veya -PC- gibi kısaltma isimler vererek IP adresi yerine bu isimlerin kullanılması sağlanır. CPU’dan yer, tercih edilmez.
  • “Apply as Filter” butonu ile seçilen paketin MAC veya Ethernet vs.. gibi adreslerine ait tüm paketler kolayca filtrelenebilir.
  • “Colorize Conversation” butonu ile karşılıklı olarak aynı görüşen cihazların konuşmasını tek renk altında görüntüleme imkanı sağlar.
  • “Follow – TCP Stream” ile mevcut TCP paketinin tüm içeriğini görüntüleme imkanı sunuyor. Gönderilen ve yazılan veriler ekrana düşer.
  • “Copy” butonu ile txt olarak kaydedebilir, Hexadecimal değerleri kopyalayabilir ve bu paketleri daha sonrasında tek başına açıp okuma imkanı bulunabilir.
Long Range Trafik Capture

Router ve Firewall arasında Shark Tap cihazlar koyularak ekstra trafik oluşturmadan üzerinden geçen trafiğin kopyasını almasını ve incelenmesine uygun ortam hazırlanır. Bir switch veya router üzerinden Port Mirroring yapmak için cihaza;

  • 1- “monitor session 1 destination interface f0/1”
  • 2- “monitor session 1 source interface f0/2”
  • 3- “show monitor session 1”

Komutları ile iki cihaz arasındaki iletişimin başka bir cihaza aktarılması sağlanır ve iletişim daha kolay takip edebilir.

Sniff edilen switchin arkasında bulunan bir kullanıcı veya başka bir switch trafiği takip edilmek isteniyorsa Rspan Config yapılabilir. Veya uzak konumdaki bilgisayara WinPcap library ile birlikte Rpcap.exe yüklenmeli. Böylece bilgisayarı bir sunucu, Wireshark’ı ise dinleyici olarak konumlandırılabilir. Bu durumda programın yüklü olduğu kullanıcı Port2003 üzerinden sunucu gibi, wireshark yüklü admin ise Port2002 üzerinden trafik dinleyici olarak davranır. Cmd üzerinden “rpcapd -n” üzerinden sunucu tarafını çalıştırdıktan sonra wireshark’da Capture Options – Manage Interface – Remote Interface butonuyla uzaktaki kullanıcının IP ve Port bilgileri girilir. Böylece interface giriş sağlanır ve uzakta bulunan bir trafik yakalanabilir.

Bir Packet Capture’ın ne zaman yakalanacağı hangi paketleri yakalayacağını ne kadar büyüklükte olacağı vb durumları bilerek paket yakalamaya başlayıp farklı farklı kaydedebilmek için;
  • Capture – Output sekmesi üzerinden dosyanın hangi konuma ve hangi formatta kaydedileceği seçilir.
  • Create a new file seçeneği seçilirse süreye veya büyüklüğe bağlı olarak belirli sınıra her ulaşıldığında yeni dosya olarak kaydedilmesini sağlar.
  • Ring buffer seçeneği seçilmesi durumunda yazılan sayısal değer kadar dosya kaydeder.

Trafiği yakalamaya devam ettikçe ilk paketi silip üzerine yazacaktır. Rakamsal bazda sıralı ilerlerse de max 5 dosya kaydedecektir. Yani 5 paket sınırı koyulduğunda ve 5 paket üretildiğinde trafik yakalanmaya ve kaydedilmeye devam ediyorsa 1’inci paket silinir ve 6. capture 1’in üzerine yazılır.

Command Line Capture
  • Cmd açıldığı zaman user directory açık olarak geliyor. Buradan çıkmak için “cd \” yazılmalıdır.
  • Ardından “dir” komutu ile C:/ diski içerisinde bulunan tüm klasörler görüntülenir.
  • Girmek istenilen klasörün adı cd komutuyla açılır. Örneğin “cd \Wireshark” komutu ile Wireshark klasörüne girilir.
  • Tekrar “dir” komutu ile bu klasör içerisindeki dosyalar görüntülenir. Burada kullanılacak olan uygulamanın adı “tshark”.
  • Tshark altında trafik capture yapılabilecek interface’leri görüntülemek için “tshark -D” komutu kullanılır.
  • Bu komut bu durumda şekildeki gibidir; ” C:\Program Files\Wireshark>tshark -D “
  • Tshark altında aktif durumda olan interface’leri görüntüledikten sonra belirli parametreler ile paket yakalama işlemi başlatılır.
  • Örnek komut ” C:\Program Files\Wireshark>tshark -i 9 -f “icmp” -a duration:15 -w TEST.pcap ” şeklindedir.
    • –i : Kaçıncı interface takip edilmek isteniyor
    • –f : Yakalanacak olan paketin türü belirlenir
    • –a : Paket yakalama esnasında “duration” veya “packetsize” gibi capture durdurma operasyonlarının eklenebilirliğinin karar verilmesini sağlar.
    • –w : Yakalanan trafiğin hangi isim ve uzantı ile kaydedileceğini kararlaştıran komutur.
  • Yakalanan ve kaydedilen bu paket, programın kayıtlı olduğu yere kaydedilir. İçinde bulunulan klasörler / dosyalar aynı zamanda save konumu olur.
  • Hangi komutun ne anlama geldiğini öğrenmek için ” tshark -h ” komutu ile (help) uygulama içerisinde hangi komutun ne anlama geldiği görüntülenir.
  • Paket yakalama işlemi sona erdiğinde ise kalınan yere “TEST.pcap” yazarak yakalanan paketler görüntülenir.
  • Bu aşamada açmak istediğinilen paketin adı ve formatının girilmesi yeterlidir.
Capture Filtering Hakkında

Trafiği veya trafik içerisinden istenilen yerleri daha kolay yakalamak ve depolama alanını gereksiz yere doldurmamak için filtering bir avantajdır. Capture options kısmından istenilen interfacelere filter eklenebilir. Ayrıca ek olarak özel bir filtre eklenilebilir. Bu aşamadaki formül ” Primitive = Qualifier + Identifier ” şeklindedir.

  • Identifier : Decimal, hexadecimal, ascii, port 53, port 443, 192.168, 172.16 vs..
  • Qualifier : host, port, destination, source, tcp, udp, arp vs..
  • Primitive : destination host host, source host host, destination net 192.168.10.0/24 vs..

Örneğin gateway ve bir websitesi olan www.wireshark.org’a command window üzerinden ping atılsın. Ping atılırken URL ve IP kullanılabilir. Capture almadan önce interface seçerken, görüntülenen “Enter a Capture Filter” kısmına “host wwww.wireshark.org” yazılması durumunda sadece bu adrese giden paketler yakalanacaktır.Eğer bu komut “destination host www.wireshark.org” şeklinde yazılmış olsaydı, sadece destination olarak wireshark’a iletilen trafik yakalanır. Eğer komut “source host www.wireshark.org” şeklinde yazılırsa, sadece source olarak wireshark’dan gelen paketler yakalanır.

Ayrıca “ether” komutu ile; “ether dst 98-AF-65-30-05-11” şeklinde filtreleme yapıldığında bu MAC adresine yönelen (destination) trafik yakalanır.

Ayrıca “net” denilen bir komut mevcut. Örneğin; “net 192.168” şeklinde filtreleme yapıldığı zaman bu IP bloğuna sahip networkten gelen trafik yakalanır. Bu komutu “net 192.168.1.0/24” şeklinde IP ve Prefix bütünüyle filtreleme işlemine dahil edebilirsiniz.

Ayrıca “not” komutu, örnek olarak “not ether host 98-AF-65-30-05-11” ile bu MAC adresine gelen paketler haricinde trafikte akan tüm veriler görüntülenebilir.

Ayrıca uygulama tabanlı filtreleme yapılmak isteniyorsa “port 53” veya “dst port 53” gibi filtreler kullanılarak da trafik yakalanabilir. Filtreleme sonrasında gelen cevaplar ile “A” IPv4 / “AAAA” IPv6 bilgilerini sorgularken “PTR” Lokal için gönderim sağlamaktadır.

Herhangi bir web sitesine dair IP – Sunucu vb bilgilere erişmek için cmd üzerinden “nslookup www.wireshark.org” yazarak bu bilgilere ulaşmak mümkündür.

Birden fazla filtre birleştirmek için and-or-not operatörleri kullanılır. Örneğin; “host www.wireshark.org and not port 80” veya “host 192.168.1.103 and tcp dst 53” veya “host 192.168.1.101 or tcp dst 53”

  • NOT – Belirli bir bölümün trafiği olsun ancak onun içerisinde şu kısım olmasın.
  • AND – Belirli bir bölüm ve o bölümle birlikte şu uygulama da birlikte olsun. Yani ikisi aynı anda, kesişim durumunda olsun.
  • OR – Belirli bir bölüm olması durumunda da, başka bir durum olması durumunda da trafik yakalansın. Yani 2 durum için de tüm küme dahil olsun. Tek de olsa ortak da olsa yakalansın.

Hazır gelen filtreleri uygulama dışında da manuel olarak düzenlemek ve paylaşmak mümkündür. Bunun için öncelikle uygulama menüsü içerisinden Help – Folders – Global Configuration kısmına girilir. Burada bulunan “cfilter” dosyası, Notepad++ vb. uygulamalarla açıp düzenlenebilir, bu dosya başka cihaz, kullanıcı veya kişilerle de paylaşılıp kullanılabilir.

Statistics Sekmesi Hakkında

Statistics sekmesi altında sağ klik ile protokol bazlı veya iki adresin haberleşmesi baz alınarak bir filtreleme uygulamak mümkündür.

  • Statistics sekmesinden “Protocol Hierarchy” bölümü ile mevcut trafik içerisinde Layer1 to Layer7 olmak üzere katman katman hangi protokollerin ne kadar büyüklükte iletildiği ve kaç tane iletildiği görüntülenir.
  • Statistics sekmesi içerisinden “Conversations” bölümü ile mevcut trafik için hangi protokol ile hangi cihazlar arasında haberleşme sağlandığı görüntülenir.
  • Statistics sekmesi içerisinden “Endpoints” bölümü ile Layer2 ve Layer3 üzerinden tespit ettiği cihazları kayıt altında tutar ve filtrelenirse sadece bu cihazlarla yapılan tüm iletişim görüntülenir.

Protokol bazlı sağ tıklayıp apply as filter denildiği zaman tüm trafik içerisinden seçili protokole ait tüm paketler filtrelenmiş şekilde ekranda görüntülenecektir.

  • Statistics sekmesi içerisinden, iletimdeki trafiğin yönünü belirterek iki cihaz arasında filtreleme yapmak mümkündür.
  • Statistics sekmesi içerisinden “Packet Length” bölümü ile mevcut trafik içerisinde gönderilen tüm paketlerin ortalama olarak boyutu ve bu bazda ortalamaları görüntülenir.
  • Statistics sekmesi içerisinden “I/O Graphs” bölümü ile mevcut trafik içerisindeki input ve output iletimler grafik olarak ekrana yansıtılır ve takip edilir.
  • Statistics sekmesi içerisinden “Resolved Addresses” bölümü ile mevcut trafik içerisinde apply as denilmesi filtreyi uygular, prepare as filter seçilmesi durumunda search tab üzerine filtre içeriği girilir ancak çalıştırılmaz.
Follow Streams

Stream bir verinin aktarım esnasında oluşan ve geçtiği katmanlar sonrası gözlemlenen veri akışıdır. Bir dosyanın download veya upload edilirken UDP / TCP protokolü ile iletimi Wireshark üzerinde görüntülenir. Belirli bir aralıkta bulunan UDP paketlerini sağ tıklayıp Follow Stream seçeneğini seçtikten sonra türüne göre görüntülenebilir.

  1. Eğer paketler UDP ile aktarılmışsa;
  • Ses veya Görüntü paketidir. Stream üzerinde görüntülenen ilk harf G ise Graphical yani video, V ise Voice yani ses dosyasıdır.
  • Görüntülenen stream içeriği “Raw” olarak, yani ham şekilde farklı kaydedilebilir.
  • Kaydedilen veri VLC Player gibi bir uygulama aracılığı ile tekrar ses veya görüntü dosyasına dönüştürülebilir.
  • Böylece trafik üzerinden gönderilen veya alınan bir Video – Ses dosyasını kaydetmek mümkündür.

Ayrıca voice trafiği bir IP telefon aracılığı ile yapılmışsa;
Sekmeler üzerinde bulunan “Telephony” sekmesi içerisinden “VoIP” seçeneği seçilerek çıkan ses mesajını çalıştırmak mümkündür.

  1. Eğer paketler TCP ile aktarılmışsa;
  • TCP ile aktarım sağlayan görüntü, ses ve dosyaların yakalanması sağlanabilir. Örneğin FTP ile veri aktarımı.
  • Stream üzerinde görüntülenen ilk satır dosyanın uzantısını göstermektedir “.PNG” şeklinde.
  • Görüntülenen stream içeriği “Raw” olarak, yani ham şekilde farklı kaydedebilir.
  • Kaydedilen veri bir uygulama aracılığı ile tekrar dosya formatına dönüştürülebilir. Örneğin bir PNG dosyası fotoğraf görüntüleyici ile açılabilir.
  • Böylece trafik üzerinden gönderilen veya alınan bir veriyi yakalamak ve kaydetmek mümkündür.

  1. Eğer bir HTTP Stream yakalanmak isteniyorsa;
  • HTTP protokolü web üzerinden ile haberleşme sağlanırken kullanıcı ve sunucu tarafından gerçekleştirilen istekler ve veri akışı takip edilebilir.
  • Veri akışı sırasında oluşan “HTTP / GET” üzerine sağ tıklayarak Follow TCP seçeneği seçilir. Böylece Client ve Sunucu arası konuşma clear-text halinde görüntülenir.
    Eğer bu web sitesi HTTP değil de HTTPS ise websitesine ve iletişime dair bilgileri bu şekilde görüntülemek mümkün değildir.
  • Bu web sitesi her şekilde görüntülenmek istenirse, File – Export Objecrt – HTTP seçenekleri takip edilerek web sayfasında bulunan tüm detaylar görüntülenebilir.
  • Save All butonu ile HTML olarak tümü kaydedilirse, ve kaydedilen “%5c” dosyası “index.exe” diye değiştirilirse, web sayfasını tümüyle görüntüleyebilmek mümkündür.
  • Sayfa üzerindeki her bir görüntüleme farklı stream ile kaydedilir. Bu yüzden bu işlemler Stream0-1-2-3-4 için yapılırsa, animasyon vb. görselleri de adım adım takip etmek mümkündür.
NOT: Bu aşamada paket içerisinde görüntülenen bilgilerden bir tanesine sağ tıklayıp “Apply as Column” butonuna basılırsa bir sütun olarak bu seçenek ana ekrana eklenir.

Lütfen bu gönderiye bir puan ver.
[Total: 1 Average: 5]