Wireshark Nedir ? Wireshark Nasıl Kullanılır ? Wireshark ile Analiz Nasıl Yapılır ?

Wireshark Nedir ? Wireshark Nasıl Kullanılır ? Wireshark ile Analiz Nasıl Yapılır ?

Wireshark özgür ve açık kaynaklı bir paket çözümleyicidir. Ağ sorunlarını giderme, çözümleme, yazılım ve iletişim protokolü geliştirme ve eğitim amaçlı olarak kullanılır. Esas olarak ​Ethereal adıyla başlayan proje, ticari marka sorunları nedeniyle Mayıs 2006’da Wireshark olarak yeniden adlandırıldı.

Wireshark, kullanıcı arayüzü mevcut sürümlerde Qt Widget grafik arayüzü setini kullanır. Paketleri yakalamak için ​pcap kullanan çapraz platform bir yazılım olarak ​Linux,​​macOS,​​BSD,​​Solaris ​ve diğer bazı Unix benzeri işletim sistemleri ve ​Microsoft Windows ​üzerinde çalışabilir. TShark adlı bir terminal tabanlı (GUI olmayan) sürümü de vardır. Wireshark ve onunla birlikte TShark gibi dağıtımlar, GNU Genel Kamu Lisansı koşulları altında yayınlanan ücretsiz yazılımlardır.

Ne İçin Kullanılır?

Wireshark yazılımının kullanım alanları:

  • Protokol hatalarını çözümlemek
  • Paket analiz işlemleri
  • Ağ içerisinde ki hataları tespit etmek
  • Ağ hakkında ki istatistikleri görüntüleyebilmek
  • Canlı veya daha önceden kaydedilmiş bir ağın trafiğini görüntüleyebilmek Neden Wireshark? Aşağıdaki nedenlerden dolayı wireshark en çok tercih edilen paket çözümleyici yazılımlardan biridir.
  • Kullanıcı dostudur.
  • Özgür ve Açık Kaynak bir yazılımdır.
  • Geniş Protokol desteği sunar. (Desteklediği Protokoller: ​https://wiki.wireshark.org/ProtocolReference)​
  • Çapraz platform destekli bir yazılımdır.
  • Geniş paket filtreleme seçeneği sunar.
  • Yakalanan paketler ile istatistiksel grafikler oluşturabilir. Wireshark Nasıl Kurulur? Linux:
    • DEB-based sistemler:
    apt-get install wireshark RPM-based sistemler: rpm –ivh wireshark*.rpm Windows:

1. Wireshark İnternet sitesinde bulunan ​https://www.wireshark.org/download.html​Sayfasından işletim sisteminize uygun olan dosyayı seçin. (windows 64-bit veya windows 32-bit)

İndirdiğiniz exe uzantılı dosyayı açın ve varsayılan ayarlarda kurulumu yapın.

1. Interface seçme bölümüdür. Bu bölümde cihazda bulunan ağ kartlarından biri dinlenmek için seçilebilir. Interface isminin yanında ki dalgalar ağda bulunan iletişimi gösterir.

2. Capture Filter bölümüdür. Normalde hiç bir filtre verilmeden capture işlemi başlatılırsa interface’e gelen her şey kaydedilir. Ağ takibine başlamadan önce sadece belirli paketleri yakalaması için filtre girdiğimiz bölümdür. Hedefe yönelik capture işlemi için filtre girmekte fayda bulunuyor. Örneğin sadece tcp paketlerini yakalamak için bir filtre girilebilir.

3 Toolbar bölümü:

a) İlk bölümde yakalama işlemi için başlatma/durdurma/yeniden başlatma/ayarlar yapabilirsiniz.

b) İkinci bölümde capture dosyasını açma/kaydetme/kapatma yapabilirsiniz.

c) Üçüncü bölümde packet list bölümünde gördüğünüz paketlere hızlı erişim için gerekli araçları görebilirsiniz. Özellikle analiz işleminde bu kısım çok faydalı. Örneğin 18 nolu pakete git diyebilirsiniz. En son pakete ya da ilk pakete git diyebilirsiniz. Ya da capture aktifken her zaman son capture edilen dosyada bulun diyebilirsiniz.

d) Dördüncü bölümde renklendirmeyi açıp/kapama seçeneği size sunulmuştur.

e) Beşinci bölümde packet list bölümündeki text ifadeleri zoom’lama ilgili şeyleri görebilirsiniz.

4. Display Filter bölümüdür. Bu bölümde yakalanan trafik üzerinde size görünmesini istediğiniz kısmını filtreleme işlemi yapabilirsiniz.

Wireshark Kullanımı

Wireshark yazılımını çalıştırdıktan sonra interface seçimini yapın. Seçim yapıldıktan hemen sonra ağdaki tüm paketler önünüze düşecektir.

  • Display Filter ​bölümüdür. Bir önceki Fotoğraf ile aynı bölümdür. Görünen paketler üstünde filtreleme işlemi yapılmasını sağlar.
  • Packet List​ bölümüdür. yakalanan trafikte bulunan paketler burada gösterilir. Sütunlar aşağıdaki bilgileri verir.
    • No:​ Trafikte yakalanan paketlere verilen numaradır. İlk paket 1 numarasını alır ve yakalanan diğer paketler sırasıyla artarak gider.
    • Time: ​Trafik yakalamaya başladığından itibaren geçen süreyi gösterir. yakalama başladıktan 1 saniye sonra yakalanan paketin ​time ​değeri 1 olacaktır.
    • Source: ​Paketin gönderildiği cihazın ip adresini gösterir (Eğer paket 2. katmanda yakalanırsa ip yerine mac adresi gözükecektir).
    • Destination:​ Paketin ulaştığı ip adresini gösterir (Eğer paket 2. katmanda yakalanırsa ip yerine mac adresi gözükecektir).
    • Protocol: ​Paketin hangi protokole ait olduğunu gösterir.
    • Length: ​Paketin Boyutunu gösterir.
    • Info:​ Paket ile ilgili ek bilgi gösterir.

Packet Detail:​ Packet List bölümünde tıklanılan paketin bilgilerini gösterir.

Frame: ​Paket ile ilgili protokol, zamansal bilgiler, boyut vb. gibi özet bilgileri gösterir. Bu bölümde bulunan satırlardan birine tıkladığınızda 5. bölüm olan status barda filtre için kullanmamız gereken cümleyi bize vermektedir.

  • İkinci katman veri bağlantı (data link) katmanıdır ve protokol olarak etherneti kullanır. Kaynak ve hedef fiziksel adreslerini içerir.
    • Bir sonraki katman ağ (network) katmanıdır ve protokol olarak IP yi kullanır. Bu kısımda kaynak ve hedef IP adresleri, versiyonu, başlık (header) boyutu gibi bilgiler bulunur.
    • Bir sonraki katman taşıma (tranport) katmanıdır. Gelen ve giden port numaraları bulunur. Aynı zamanda bu katmanda başlıkla ilgili bilgiler de içerir.
    • En son katman uygulama (aplication) katmanıdır. Protokolle ilgili genel bilgileri içerir.
  • Packet Byte: ​Gelen paketi geldiği şekli ile gördüğümüz bölümdür. 3 bölümde incelenebilir
    • Offset: Sol tarafta bulunan 0000, 0010, 0020 ifadeleri bize bayt başlangıç noktalarını vermektedir (0010, 10’luk sayı sisteminde 16 demektir. 0010 offseti bize 16 numaralı byte’ın başladığı noktayı göstermektedir.).
    • Hexadecimal: Paketin hexadecimal formatta bulunan hali görüntülenir.
    • ASCII: Hexadecimal verinin ASCII formatına dönüştürlmüş hali görüntülenir 5) Status Bar:​. İncelenen paket, filtreler, hatalar ve uyarılar ile ilgili bilgi vermektedir.

Görünümü özelleştirmek için menüden view sekmesine tıklayın veya fare sağ tuşu ile toolbar a tıklayın

Promiscuous Mode

Wireshark’ta normalde tüm interface’ler promiscuous modda aktif olarak gelmektedir. Ancak yine de kontrol edilmesi gerekmektedir. Normalde network kartı işletim sistemine kendisiyle alakalı olmayan paketleri iletmez. Aslında arka planda bir filtreleme işlemi gerçekleştirir. Gerçekten o interface’e düşen tüm paketleri görmek için bu modun aktif olması önemlidir.

Capture işlemi durdurulduktan sonra yapılmalıdır.

Display Filter

Analiz işleminde sıklıkla kullanılacak bölümdür. Bu kısmı ​capture filter​ ile karıştırmamak gerekir. Display filter yakalanmış tüm paket içerisinden görüntüleyeceğiniz kısmı size yansıtır. Buraya girilen filtreler packet list’e yansır. Benzer şekilde status bar kısmında da tüm paket içerisinden filtrelenmiş paket sayısını hızlıca görebilirsiniz.

Filtre yazmak Wireshark kullanmanın en can alıcı noktası. Çünkü akan trafikten istediğinizi bulmanın yöntemi filtre girmektir. 

Örneğin packet list bölümünde sadece 443 port’unda yapılan işlemleri görmek isteyelim. girmemiz gereken filtre  ‘tcp.port == 443’ şeklinde olmalıdır. Bu filtre bize tcp paketleri içerisinde port bilgisi 443 olan paketleri getirecektir..

Eğer girdiğiniz filtre doğru bir filtre ise filtre alanı yeşile boyanacaktır. Eğer girdiğiniz filtrede bir yanlışlık varsa Wireshark sebebini status bar kısmında belirtip ve filtre alanını kırmızıya boyayacaktır.

Fotoğrafta görüldüğü üzere hatalı bir filtre yazılmıştır. Bu filtredeki hata status bar da görüldüğü üzere ‘=’ kaynaklı bir hatadır. Wireshark da eşitlik belirtmek için ‘==’ kullanılmaktadır.

Bir diğer durum ise alanın sarı olmasıdır. Eğer != ifadesini kullanıyorsanız Wireshark sizi uyarır

Siz 443 portu olmayan paketleri görüntülemek isterseniz yukarıdaki filtre doğru sonucu vermeyecektir. Bu sebeple wireshark sizi uyaracaktır. Port bilgisi 443 olmayan paketleri listelemek için kullanılması gereken filtre ‘!tcp.port==443’ şeklinde olmalıydı.

Wireshark da AND/OR koşul ifadeleri ve  gruplamalar yapılarak daha gelişmiş filtreler yazılabilir.

Örneğin port bilgisi 443 olan ve ip adresi 172.217.10.142 olan veya içerisinde google kelimesi geçen paketleri listeleyecek olalım. yazmamız gereken filtre ‘ (tcp.port == 443 and ip.addr == 172.217.10.142) or frame contains “google” ’ şeklinde olmalıdır.

Örnek Filtreler:

Protocol Filtre
DHCP

port 67 or port 68 
bootp.option.dhcp == 1 (DISCOVER Packets) bootp.option.dhcp == 2 (OFFER Packets)
bootp.option.dhcp == 3 (REQUEST Packets)
 bootp.option.dhcp == 4 (ACK Packets)
 bootp.option.hostname 
HTTP
● ●
http.request.method==”GET” http.request.method==”POST”
http.response.code == “200”
 http.user_agent == “User_Agent_Değeri”
 http.referer
ARP

arp.src.hw_mac == “Kaynak mac adresi”
arp.dst.hw_mac == “Hedef mac adresi”
arp.duplicate-address-frame
 arp.opcode == 1
 arp.opcode == 2
DNS● ●dns.qry.name == “google.com” dns.qry.type == 1 (A Record Type) dns.qry.type == 255 (ANY Record Type) 
 dns.qry.type == 2 (NS name server)
 dns.qry.type == 15 (MX mail exchange)
ICMPicmp.type icmp.code
IPip.addr  ip.ttl  ip.version == 4
 ip.src == ip_adress
 ip.dst == ip_adress
TCP

tcp.flags.syn == 1
tcp.port == 80
tcp.dstport == 443
 tcp.srcport == 80
FTP

ftp.request.command
ftp.request
ftp.request.command == “PASS”
 ftp.request.command == “USER”
 ftp.response.arg == “Login successful.”

Wireshark operatörleri aşağıdaki gibidir:

 Karşılaştırma Operatörleri  Mantıksal Operatörler 
eq == Eşittir  


● ● ●
ne != Eşit değildir
gt > Büyüktür lt <
Küçüktür ge >=
Büyük eşittir le <= Küçük eşittir
● ● ●and && = (ve anlamı katar) or  || = (veya anlamı katar) not ! = (değil anlamı katar)

Wireshark da filtreleme yapmanın kısa bir yolu mevcuttur. Packet list üzerinden bir paket seçin ve filtreleme yapmak istediğiniz değer farenin sağ tuşu ile tıklayın. Açılan menüden ‘Apply as Filter’ bölümünü seçin ve filtrenize uygun olan seçeneğe tıklayın. Filtrenizin değiştiğini ve uygulandığını göreceksiniz.

Name Resolution

Wireshark da analiz aşamasında işinizi kolaylaştıracak işlerden biri de ip’lerle, mac ile çalışmak istemeyebilirsiniz. Ayarlar kısmından bu kısmı kendinize göre yapılandırabilirsiniz.

“Edit > Preferences” menüsünü açın. ​Name resolution​ sekmesini açın.

  1. Resolve MAC Addresses:​ MAC adreslerinin ilk 24 bitinin çözülmesini sağlar.
  2. Resolve Transport Names:​ Transport seviyesindeki port bilgileri yerine servis adlarının çözülmesini sağlar.
  3. Resolve Network (IP) Addresses: ​IP adresinden domain name çözmenizi sağlar.
  4. Use Captured DNS Packet Data for Address resolution: ​DNS sorgusu yapmadan IP adresinden domain name çözmeye çalışır.
  5. Use an External Network Name Resolver:​ DNS sunucusuna PTR sorgusu yaparak domain name çözmeye çalışır.
  6. Maximum Concurrent Requests:​ DNS sunucusuna aynı anda kaç sorgu yapılacağını belirtir.
  7. Only Use the Profile “hosts” file:​ Domain name çözmek için sadece local host dosyasını kullanmasını sağlar.

Resolved Addresses

Wireshark da yakalanan tüm paketlerde tek seferde adres çözümleme yapmak mümkündür. Menüden “Statistics > Resolved Addresses” bölümüne tıklayın. 

Gecikme Zamanı

Packet List alanındaki Time kolonu ilk kaydedilen 1 nolu pakete göre (Seconds Since Beginning of Capture Packet) delta zamanı gösterir. 

İki IP arasındaki konuşma sırasında verilen cevapların gecikme süresini görmek için bir tcp paketine packet list üzerinden tıklayın. Tıkladığınız paketin packet detail bölümünden Transmission Control Protocol>Timestamps yoluna gidin. “Time Since Previous in This TCP Stream” ile başlayan satıra farenizin sağ tuşu ile tıklayın ve “Apply as Column” seçeneğini seçin. 

Böylelikle packet list bölümünde bir sütun daha açıldığını göreceksiniz. Bu sütun bize iki IP arasındaki konuşma sırasında bir önceki paket ile arasında ne kadar zaman farkı olduğunu gösterecektir.

Ring Buffer

Wireshark da otomatik olarak belirli boyutta veya belirli süreye ulaşmış trafiği bir dosyaya yazmak mümkündür. Diski doldurmamak için sürekli yeni dosya oluşturmak tansa belirli dosya veya dosyaların üstüne yazma işlemi gerçekleştirilebilir. Capture yani paket yakalama işlemi başlamadan önce menüden Capture > Options > Output bölümünden bu yapılandırmayı yapabilirsiniz.

Örneğin yakalanan paketleri, 2 tane 100 KB lık dosya halinde saklamak istiyoruz. Aşağıdaki gibi bir yapılandırma sonrasında masaüstüne deneme adında 100 KB lık 2 dosya halinde kayıt işlemi gerçekleşecektir.

Otomatik Capture Durdurma

Wireshark da otomatik olarak belirli boyutta veya belirli süreye ulaşmış trafiği durdurmak mümkündür.  Bu işlem için menüden  Capture > Options > Options bölümünden yapılandırmayı yapabilirsiniz. 

Örneğin yakalanan paket sayımız 10 olduğunda capturing in otomatik olarak durmasını istiyor olalım.

Aşağıdaki gibi bir yapılandırma sonrasında 10 paket yakalandığında capture işlemi otomatik duracaktır.

Conversations

Wireshark da yakalanan paketleri istatiksel biçimlerde görüntülemek mümkündür. Menüden “Statistics > Conversations” bölümüne tıklayın. Capture edilen trafikte A’dan B’ye olmak üzere ne kadar paket yollandığı, yollanan paketlerin boyutu gibi bilgilere kolaylıkla ulaşabiliriz.

Endpoints

Aralardaki iletişimi değilde hangi uç nokta da ne kadar paket ne kadar byte toplamda çıkmış hızlıca istatistiki olarak öğrenebiliriz. Menüden “Statistics > Endpoints” bölümüne tıklayın. Capture edilen trafikte hangi uç noktaya ne kadar paket yollandığı ve yollanan paketlerin boyutu vb. gibi bilgilere kolaylıkla ulaşmak mümkündür. Benzer şekilde burada da fare sağ tuşu ile filtreleme yapmak mümkündür.

Protocol Hierarchy

Capture edilen trafikte bulunan protokolleri hızlıca listelemek mümkündür. Menüden “Statistics > Protocol Hierarchy” bölümüne tıklayın. Benzer şekilde burada da fare sağ tuşu ile filtreleme yapmak mümkündür.

I/O Graphs

Capture edilen trafikte zaman/paket sayısı grafiği oluşturmak mümkündür. Menüden “Statistics > I/O Graph” bölümüne tıklayın.

Export Specified Packets

Capture edilen trafikte belirli paketleri dışarıya aktarmak mümkündür. Belirli bir filtreye göre aktarma işlemi yapılması için ilk önce filtrenin display filter bölümüne girilmesi gerekmektedir.  Menüden “File > Export Specified Packets” bölümüne tıklayın.

Örneğin yakalanmış tüm paketlerden 1 ve 200 numaralı paketler dahil olmak üzere paket numarası 1 ile 200 arasındaki paketleri aktarmak istiyor olalım. Yukarıdaki gibi bir yapılandırma sayesinde 1 ile 200 arasında bulunan paketleri dışarıya aktarmak mümkündür.

 Capinfos

Kaydedilmiş capture dosyası hakkında genel bilgi edinmek için capinfos komutu kullanılabilir. Bu komut Linux Terminal üzerinde kullanılabilir.

Capinfos kullanmak için ilk önce wireshark-common paketinin yüklenmesi gerekmektedir.  yüklemek için terminale  ​“sudo apt-get install wireshark-common” ​komutunu girin. 

capinfos çalıştırmak için terminale ​“capinfos [dosya adı]” ​şeklinde komut girin.

Related Posts

Facebook Comments