Daha önceki yazılarda Wireshark aracının ne olduğunu ve hangi amaçlarla kullanıldığına değinip çeşitli ağ içi analizler yapmıştık.
Bu yazımızda ise tcpdump'ı inceleyeceğiz.tcpdump,Linux/UNIX sistemlerde komut satırında çalıştırabileceğimiz açık kaynaklı ücretsiz bir paket yakalama ve analiz aracıdır.Wireshark aracının bize sunduklarına benzer olarak tcpdump bizlere,ait olduğumuz ağ üstünde iletilen veya alınan TCP/IP paketlerini veya diğer paketlerin yakalanıp kaydedilmesi , incelenmesi , filtrelenmesi gibi imkanlar sunar. Ayrıca tcpdump'ın Windows için olanı WinDump olarak adlandırılır.
Her ne kadar çoğu Linux/UNIX dağıtımında yerleşik olarak bulunsa da which tcpdump
komutu ile sisteminizde halihazırda kurulu olup olmadığını kontrol edebilirsiniz.
Kurulu değilse apt-get install tcpdump
komutu ile paket yöneticisi vasıtasıyla tcpdump'ı kurabilirsiniz.
tcpdump -h
ile tcpdump aracının parametrelerine ve işlevlerine göz atabilirsiniz.
Yine genel olarak göz atacak olursak tcpdump parametrelerini aşağıdaki gibi sıralayabiliriz.
tcpdump komutunu yazarak başlıyoruz.
yukarıda gördüğünüz gibi komutu girer girmez ağ üzerinde akan paketleri yakalamaya başlayıp terminal ekranında görüntülemeye başladık.Şimdi ise ping göndermeyi deneyerek ICMP paketlerinin analizini yapmaya çalışalım.
sağdaki terminal ekranında tcpdump aracıyla yakaladığımız ICMP request ve reply paketleri görünmekte.Bu şekilde ürettiğimiz çıktıyı daha sonra analiz etmek üzere bir dosyaya yazırmak istersek -w
parametresini eklemeliyiz.
Yine aynı şekilde daha önceden kaydedilen bir dosyayı tcpdump ile tekrar analiz etmek istediğimizde -r
parametresiniz eklemeliyiz.
IP Filtrelemesi
tcpdump host <YOUR_IP_ADD>
komutu ile parametre olarak verilen IP 'ye göre filtreleyip sadece bu IP'ye ait olan trafiği yakalayabilirsiniz.
tcpdump src host <YOUR_IP_ADD>
ile belirtilen IP'den giden
tcpdump dst host <YOUR_IP_ADD>
ile belirtilen IP'ye gelen trafiği analiz edebilirsiniz.
Apache2 Uygulaması
Şimdiki uygulamamızda Kali Linux'ta yerleşik olarak bulunan Apache2 web sunucusunu service apache2 start
komutu ile başlatıyoruz.
Daha sonra tcpdump ile paket yakalama işlemini başlatıyoruz. Ardından Windows makinemizin web tarayıcısına halihazırda çalıştırmakda olduğumuz Sanal Kali Linux'un IP adresini giriyoruz.
Yukarıda görüldüğü gibi tcpdump terminal ekranında paketleri yakalamaya başlıyoruz.Bu paketler üzerinde işaretlenen flag noktaları TCP 3 yönlü el sıkışmayı belirtir.
Port Filtrelemesi
tcpdump aracımız ile paket yakalarken spesifik olarak bizim belirttiğimiz porta göre filtreleme yapmasını istersek aracımıza verdiğimiz tcpdump -vv dst port <PORT_NUM>
komutu ile filtreleme işlemini yapabiliriz.Buna örnek olarak
yukarıdaki terminallerdeki işlemi verebiliriz.Öncelikle tcpdump -vv dst port 53
komutu ile DNS protokolünü barındıran paketleri yakalamaya başlıyoruz.Ardından nslookup ile sorgumuzu oluşturuyoruz ve paketleri sonucunda yakalanan paketler tcpdump terminalimizde önümüze düşmeye başlıyor.
Yine bu noktada IP adresi ve port , port ve port olmak üzere tcpdump parametrelerimizi istediğimiz gibi kombinleyebiliriz.
tcpdump host 192.168.0.39 and port 80
tcpdump port 80 or port 53
TCP Flaglerinin Filtrelenmesi
Ağ üzerinden akan tüm trafiğin içinden TCP flaglerine göre filtreleme yapabiliriz.tcpdump 'tcp[tcpflags]==tcp-syn'
komutu ile aşağıda görüldüğü gibi SYN paketlerini filtreleyebiliriz.
Aynı şekilde ACK,FIN vb flagleri de bu yöntemle filtreleyebiliriz.
tcpdump 'tcp[tcpflags]==tcp-ack'
tcpdump 'tcp[tcpflags]==tcp-fin'
Sonuç
tcpdump,ağ trafiğini içinde barındırdığı pek çok yetenekle analiz edebilen güçlü,kolay erişimli ve uygulanabilir bir terminal aracıdır.Mesela uzak sistemdeki bir GUI'ye erişimin olmadığı bir durumda tcpdump oldukça işlevli olabilir.Ağ sorunlarını algılayıp çözmek ve ağı güvenli hale getirmek için kullanılır.
Yararlanılan Kaynaklar
https://www.hackers-arise.com/post/2019/09/03/Network-Forensics-Part-3-tcpdump-for-Network-Analysis
https://www.tcpdump.org/papers/ethereal-tcpdump.pdf
Top comments (0)