Konu İçeriği:
- Ağ Trafiği
- TShark'a Giriş
- Arayüzler Listesi
- Trafik Yakalama
- Promiscuous Modunda Arayüz Yakalama
- Paket Sayısı Yakalama
- Bir Dosyada Okuma ve Yazma
- Ayrıntılı Mod
- Çıktı Düzeni
- PDML
- PS
- PSML
- JSON
- EK
- Text
- Tabs
- Şifrelenmiş Paketler ve Şifresi Kırılmış Paketler Arasındaki Farklar
- PDML Dosyasını HTML Sayfasına Dönüştürme
- Belirli bir Port Paketi Yakalama
- Görüntüleme Filtresi
Ağ Trafiği
Bildiğimiz gibi, ağ trafiği veya veri trafiği, belirli bir zamanda ağ üzerinden aktarılan veri miktarıdır. Bilgisayar ağlarındaki ağ verileri, ağ veri paketleri biçimindedir. Bu ağ paketlerini analiz etmek, trafiği izlememize yardımcı olduğu için ağ güvenliği sağlar. Bir avantaj olarak, bir ağda olası bir saldırı belirtisi olan olağandışı miktarda veri trafiği varsa, Tshark çok geç olmadan bize saldırıyı bitirmede yardımcı olabilir.
Trafik hacmi, ağ trafiği analizinin bir alt terimdir. Ağ trafiği hacmi, yapılan toplam işin ölçüsüdür. Ağ veri paketi çalışmasının ortalama veri trafiği yoğunluğu ve süresi olarak tanımlanır.
TShark'a Giriş
Tshark, iyi bilinen ve güçlü bir komut satırı aracıdır ve bir ağ analizörü olarak kullanılır. Wireshark tarafından geliştirilmiştir. Çalışma yapısı Tcpdump ile oldukça benzer, ondan farklı olarak bazı güçlü kod çözücüleri ve filtreleri var. TShark, farklı ağ katmanlarının veri paketleri bilgilerini yakalayabilir ve farklı formatlarda görüntüleyebilir.
TShark, gerçek zamanlı ağ trafiğini analiz etmek için kullanılır ve bilgileri analiz etmek, bu bağlantıların ayrıntılarını incelemek için .pcap dosyalarını okuyabilir ve güvenlik profesyonellerinin ağ sorunlarını tanımlamasına yardımcı olabilir.
TShark, Wireshark'ın yaptığı her şeyi yapabilen komut satırı tabanlı bir araçtır. Öyleyse TShark ile öğrenme sürecimize başlayalım ve bu aracı başlatalım ve seçeneklerini keşfedelim. Tüm parametreleri kontrol etmek için aşağıdaki komutu kullanın:
Kod:
[COLOR="white"]tshark -h[/COLOR]
Arayüzler Listesi
TShark, trafiğini yakalayabileceği arayüzlerin bir listesini yazdırır. Her arayüze seri numaraları denir ve görebildiğiniz gibi ağ arayüzünün metin açıklaması gelir. Bu arayüzler -i parametresi kullanılarak belirtilebilir. Ve bu arayüzleri kontrol etmek için aşağıdaki resimde gösterildiği gibi -D parametresini kullanabilirsiniz:
Kod:
[COLOR="white"]tshark -D[/COLOR]
Trafik Yakalama
Şimdi de trafik yakalamaya çalışalım. Elimizde trafiğini yakalayabileceğimiz çeşitli arayüzler var lakin ihtiyacımıza göre sadece bir tanesini seçebileceğiz. Bu konuda biz "eth0" kullanacağız. Trafiği yakalamak için, kontrollü bir ağ üzerinde test ederken de bir tane başlatmamız gerekiyor ve bunun için ping komutu kullanıyoruz ve sonra trafiği yakalamak için aşağıdaki resimde gösterildiği gibi -i parametresini kullanarak arayüz adını belirtmemiz gerekiyor:
Kod:
[COLOR="white"]ping www.hackingarticles.in
tshark -i eth0[/COLOR]
Açıkça görebileceğimiz üzere üçlü el sıkışma uyguluyor, sonrasında da ICMP istek ve yanıt işlemini başlatıyor.
Promiscuous Modunda Arayüz Yakalama
Ağ iletişiminde promiscuous modu, tshark'ın kareleri karışık moda geçirmek yerine aldığı tüm trafiği CPU'ya geçirmesine neden olan bir arayüz denetleyicisi olarak kullanılır.
Bu modu kullanırken, ifconfig yardımı ile yapılandırmamız gerekir ki bizim için tüm ağın veri paketlerini yakalayabilsin. Bu yüzden, bir siteyi pingleyip veri paketlerini yakalayarak başlayacağız.
Şimdi de aşağıdaki kodlarla promiscuous modu yapılandıralım ve paketleri yakalayalım:
Kod:
[COLOR="white"]ifconfig eth0 promisc
tshark -i eth0[/COLOR]
Paket Sayısı Yakalama
Tshark'ın daha verimli çalışmamızı sağlayan harika bir özelliği vardır, biz bu özelliklere çeşitli parametreler kullanarak erişebiliriz. Misal bahsettiğim parametrelerden biri de "-c". Bu bize gereken verilerin tam sayısını yakalamamıza yardımcı olur ve sadece bunu gösterir. Bu seçenek çıktıda bir nevi arıtma yapar ve tam ihtiyacımız buysa sadece bunu göstertir.
Kod:
[COLOR="white"]tshark -i eth0 -c 10[/COLOR]
Yukarıdaki resimde de görebileceğimiz üzere 10'dan sonra saymayı durdurdu.
Bir Dosyada Okuma ve Yazma
Tshark'ta .pcap dosyasını okuyabilir ve yazabiliriz de. Yazma seçeneği (-w) bize standart bir .pcap dosyasına raw paketi veri çıktısını yazdırmamıza olanak sağlarken okuma seçeneği ise (-r) bize istediğimiz biçimde raw çıktısı veri paketlerini okumamıza yardımcı oluyor. Aşağıdaki kodla .pcap dosyasına paket yazdırabilirsiniz:
Kod:
[COLOR="white"]tshark -i eth0 -c 10 -w packets.pcap[/COLOR]
Ve söz konusu .pcap dosyasını aşağıdaki kodla okuyabilirsiniz:
Kod:
[COLOR="white"]tshark -r packets.pcap[/COLOR]
Ayrıntılı Mod
Ayrıntılı mod, bize trafikte paketin detaylarını ek bilgilerle harbi detaylı şekilde sunuyor. Ayrıntılı modu kullanarak her bir paketin içindeki bilgileri görebiliriz. Bu seçeneği kullanmamız için gereken parametre -V.
Kod:
[COLOR="white"]tshark -r packets.pcap -V[/COLOR]
Çıktı Düzeni
Kolaylık açısından tshark'ta, şifresi kırılmış paketleri çeşitli düzenlerde kaydetmemize yarayan -T seçeneği mevcut. Çıktıyı dilediğiniz şekilde alabiliyorsunuz. Tüm seçenekleri görmek için aşağıdaki kod gerekli:
Kod:
[COLOR="white"]tshark -T x[/COLOR]
PDML
PDML açılımı Packet Details Mark-Up Language, Türkçesi Paket Detaylı İşaretleme Dili. Bu, XML tabanlı bir çıktıdır. Bunun kullanımı genelde ayrıntılı modda olur ki yukarıda da görebilirsiniz. Bu düzende çıktı alabilmek için gerekli olan kod:
Kod:
[COLOR="white"]tshark -r packets.pcap -T pdml[/COLOR]
PS
PS açılımı PostScript. Bu çıktıda tek tek satırda aşağı doğru iner bilgiler ve anlaması da gayet basittir. Kullanım için gereken kod:
Kod:
[COLOR="white"]tshark -r packets.pcap -T ps[/COLOR]
PSML
PSML açılımı Packet Summary Mark-Up Language, Türkçesi Paket Detaysız İşaretleme Dili. Bu da PDML gibi XML tabanlı bir düzendir ama ondan farkı paketin detaylandırılan bilgilerini kısa kesmesi özetlemesi. Bu düzen için:
Kod:
[COLOR="white"]tshark -r packets.pcap -T psml[/COLOR]
JSON
JSON açılımı Java-Script Object Notation, Türkçesi Java-Script Nesne Gösterimi. Okunabilir bir formda açık olan standart dosya düzenidir. Kullanmak için gereken kod:
Kod:
[COLOR="white"]tshark -r packets.pcap -T json[/COLOR]
EK
EK ise JSON'ın yeni satır olmayan hali. Kullanım için:
Kod:
[COLOR="white"]tshark -r packets.pcap -T ek[/COLOR]
Text
Adı üstünde metin hali, her bir paket birer satırlarda veriliyor. Böyle çıktı alabilmek için:
Kod:
[COLOR="white"]tshark -r packets.pcap -T text[/COLOR]
Tabs
Bu da text'e çok benziyor, tek farkı ASCII yatay sekmeler (oxo9) halinde. Denemek için:
tshark -r packets.pcap -T tabs
Şifrelenmiş Paketler ve Şifresi Kırılmış Paketler Arasındaki Farklar
.pcap dosyasında canlı veri paketlerini yazmaya çalıştığımızda tüm o veri paketlerini daha küçük parçalara sıkıştırırız. Bu veri paketlerini daha iyi anlayabilmek için şifresini kırmamız lazım, ki bu da dosyanın ilk andaki boyutu ile sonrasındaki boyutu arasındaki farka götürür. Bunu kontrol etmek için:
Kod:
[COLOR="white"]ls -lh packets.p*[/COLOR]
Bahsettiğimiz gibi bu dosyalar arasında bir hayli fark var, işte bu yüzden bu bilgiyi çıkartmak için şifresini kırmamız lazım.
PDML Dosyasını HTML Sayfasına Dönüştürme
Wireshark ile tshark arasındaki tek fark: Wireshark, GUI tabanlı; tshark ise komut satırı tabanlı bir araçtır. Ama bazı dış kaynakların yardımı ile veri paketlerimizi HTML biçiminde de görebiliyoruz. Bunu yapabilmek için öncelikle veri paketlerini PDML olarak kaydetmemiz, sonrasında XML dosyaya aşağıdaki kodu kullanarak dönüştürmemiz lazım:
Kod:
[COLOR="white"]tshark -r packets.pcap -T pdml > packets.xml[/COLOR]
XML dosyasının kaydedileceği yer /usr/share/wireshark/pdml2html.xsl. Sonrasında da, xsltproc aracını kullanacağız.
Kod:
[COLOR="white"]xsltproc /usr/share/wireshark/pdml2html.xsl packets.xml > packets.html[/COLOR]
HTML sayfasını tarayıcıda açmak için gereken kod:
Kod:
[COLOR="white"]firefox packets.html &[/COLOR]
Belirli bir Port Paketi Yakalama
Birçok sefer Wireshark'ı belirli bir port için kullandık. -f parametresi sağolsun tshark'ta da belirli bir port'un veri paketlerini yakalayabiliriz. Ağın veri paketlerini daha iyi analiz etmemize yardımcı olur. Misal TCP port 80 için gereken kod:
Kod:
[COLOR="white"]tshark -i eth0 -c 5 -f "tcp port 80"[/COLOR]
Görüntüleme Filtresi
Görüntüleme filtresi Wireshark tarafından tanıtıldı. Bizlere, yakalanan veya canlı veri paketlerini filtreleme konusunda yardımcı oluyor. Bu filtreleme yardımı ile istediğimizi karşımıza getirebiliriz.
Misal trafikten sadece GET isteği yakalamak istiyorsak:
Kod:
[COLOR="white"]tshark -i eth0 -c 5 -f "tcp port 80" -Y 'http.request.method == "GET" '[/COLOR]
Moderatör tarafında düzenlendi: