Wireshark, özgür ve açık kaynaklı bir paket çözümleyicisidir. 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ı.[4]
Wireshark, tcpdump'a çok benzer, ancak grafiksel bir başlangıç ekranı ve bazı bütünleşik sıralama ve filtreleme seçeneklerine sahiptir. Wireshark, kullanıcının ağ arabirimi denetleyicilerinisıra dışı kipe (ağ arabirimi denetleyicisi tarafından destekleniyorsa) almasına olanak tanır; böylece, bu ağ arabirimi denetleyicisi MAC adresine gönderilen tek noktaya yayın trafiği de dahil, bu arabirimde görünen tüm trafiği görebilir. Bununla birlikte, ağ anahtarı üzerindeki bir bağlantı noktasında sıra dışı kipte bir paket, çözümleyiciyle yakalanırken, anahtar üzerinden tüm trafik mutlaka yakalamanın yapıldığı bağlantı noktasına gönderilmez, bu yüzden sıra dışı kipte yakalama yapmak tüm ağ trafiğini görmek için mutlak yeterli değildir. Bağlantı noktası yansıtma (port mirroring) veya çeşitli ağ kılavuzları, yakalamayı ağdaki herhangi bir noktaya kadar genişletir. Basit edilgen bağlantılar kurcalamaya karşı oldukça dirençlidir.
Bir uzak makine paketlerini yakalar ve yakalanan paketleri TZSP protokolünü veya OmniPeek tarafından kullanılan protokolü kullanarak Wireshark çalıştıran bir makineye gönderirse, Wireshark bu paketleri ayırır ve uzak bir makinede yakalanan paketleri çözümleyebilir.
Geçmiş
1990'ların sonunda, Missouri-Kansas City Üniversitesi'nden bilgisayar bilimi mezunu olan Gerald Combs küçük bir internet servis sağlayıcısı için çalışıyordu. O zamanki ticari protokol analiz ürünleri 1500 dolar civarında fiyatlandırılmış ve şirketin birincil platformlarında (Solaris ve Linux) yayınlanmamıştı; bu yüzden Gerald, Ethereal'i yazmaya başladı ve ilk sürümünü 1998'de piyasaya sürdü.[5] Ethereal ticari markası Network Integration Services'e aittir.
Mayıs 2006'da Combs, CACE Technologies'den gelen iş teklifini kabul etti. Combs, Ethereal'in kaynak kodunun çoğunda (ve gerisi GNU GPL kapsamında yeniden dağıtılabilir) telif hakkına sahipti, bu yüzden Wireshark deposu için Ethereal Subversion deposunun içeriğini kullandı. Ancak, Ethereal ticari markasına sahip değildi, bu yüzden adını Wireshark olarak değiştirdi.[6] 2010'da Riverbed Technology, CACE'i[7] satın aldı ve Wireshark'ın ana destekçisi konumuna erişti. Ethereal'in geliştirilmesi durdu ve Ethereal güvenlik danışmanı, Wireshark'a geçiş yapmayı önerdi.[8]
Combs, Wireshark'ın genel kodunu korumaya ve yazılımın yeni sürümlerini yayınlamaya devam ediyor. Yazılımın resmi sitesi 600'den fazla ek katkıda bulunan yazarı listeler.
Özellikler
Wireshark, farklı ağ protokollerinin yapısını (kapsülleme) "anlayan" bir veri yakalama programıdır. Farklı ağ protokolleri tarafından belirtilen anlamları ile birlikte alanları ayrıştırabilir ve görüntüleyebilir. Wireshark, paketleri yakalamak için pcap kullanır, bu nedenle yalnızca pcap'ın desteklediği ağ türlerinde paketleri yakalayabilir.
Veriler canlı bir ağ bağlantısından "kablo üzerinden" alınabilir veya önceden yakalanmış paketlerden oluşan bir dosyadan okunabilir.
Yakalanan trafiğin çıktısını filtreleme olanağı sağlamak için çeşitli ayarlar yapılabilir, zamanlayıcılar ve filtreler ayarlanabilir.
Wireshark'ın yerel ağ izleme dosyası biçimi libpcap ve WinPcap tarafından desteklenen libpcap biçimidir, bu nedenle tcpdump ve CANetMaster da dahil olmak üzere aynı biçimi kullanan diğer uygulamalarla yakalanan ağ izleri değiştirilebilir. Ayrıca snoop, Network GeneralSniffer ve Microsoft Network Monitor gibi diğer ağ analiz programlarından gelen çekimleri de okuyabilir.
Güvenlik
Ham ağ trafiğini bir arabirim üzerinden yakalamak, bazı platformlarda yükseltilmiş ayrıcalıklar gerektirir. Bu nedenle, Ethereal/Wireshark ve tethereal/TShark'ın eski sürümleri genellikle üstün kullanıcı ayrıcalıklarına sahipti. Trafik yakalandığı zaman çağrılan çok sayıda protokol ayrıştıcısını (protocol dissector) dikkate alarak, bu bir ayrıştıcıda (dissector) bir hata olasılığı göz önüne alındığında ciddi bir güvenlik riski oluşturabilir. Geçmişte (birçoğu uzaktan kod yürütülmesine izin veren) oldukça fazla sayıda güvenlik açığı ve geliştiricilerin gelecekteki daha iyi gelişim şüpheleri nedeniyle, OpenBSD, OpenBSD 3.6'dan önce bağlantı noktası ağacından (ports tree) Ethereal'i kaldırmıştı.[20]
Tüm işlemler için yükseltilmiş ayrıcalıklara gerek yoktur. Örneğin, bir seçenek tcpdump veya bir dosyaya paketleri yakalamak için üstün kullanıcı ayrıcalıklarıyla Wireshark ile gelen dumpcap yardımcı programını çalıştırmak ve daha sonra sınırlı ayrıcalıklarla Wireshark çalıştırarak paketleri çözümlemektir. Gerçek zamanlıya yakın çözümlemelerin yaklaşık benzetimi için, ele geçirilen her dosya Wireshark tarafından işlenen, büyüyen bir dosyada mergecap (birleşik ilişkilendirme) ile birleştirilebilir. Mergecap, dosyayı birkaç çıkış biçiminde yazabilir.[21] Kablosuz ağlarda, IEEE 802.11 çerçevelerini yakalamak ve ortaya çıkan döküm dosyalarını Wireshark ile okumak için Aircrack gibi kablosuz güvenlik araçlarını kullanmak mümkündür.
Wireshark 0.99.7'den itibaren, Wireshark ve TShark trafik yakalama işlemini gerçekleştirmek için dumpcap kullanmaktadır. Trafiği yakalamak için özel ayrıcalıklar gerektiren platformlar, yalnızca bu ayrıcalıklarla dumpcap çalıştırılmasını gerektirir. Ne Wireshark ne de TShark'ın özel ayrıcalıklarla çalıştırılması gerekmemektedir.
Renk kodlaması
Wireshark, kullanıcının bir bakışta trafik türlerini tanımlamasına yardımcı olmak için paketlerdeki belirli alanlarla eşleşen kuralları temel alarak paketleri renklendirebilir. Varsayılan bir kural kümesi verilebilir; kullanıcılar paketleri renklendirmek, yeni kurallar eklemek veya kuralları kaldırmak için var olan kuralları değiştirebilir.
Simülasyon paket yakalama
Wireshark ayrıca ns, OPNET Modeler ve NetSim gibi çoğu ağ simülasyon aracından paket yakalamak için de kullanılabilir.
Cheok, Roy (1 Temmuz 2014). "Wireshark: A Guide to Color My Packets" [Wireshark: Paketlerimi Renklendirmek İçin Bir Rehber]. SANS Institute. 30 Mart 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 30 Mart 2019.