DEV Community

Cover image for tcpdump İle Ağ Analizi
Teoman Yalçınöz for YUSIBER

Posted on • Updated on

tcpdump İle Ağ Analizi

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.

Image description

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.

Image description

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.
Image description

Yine genel olarak göz atacak olursak tcpdump parametrelerini aşağıdaki gibi sıralayabiliriz.
Image description

tcpdump komutunu yazarak başlıyoruz.

Image description

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.

Image description
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.

Image description

Yine aynı şekilde daha önceden kaydedilen bir dosyayı tcpdump ile tekrar analiz etmek istediğimizde -r parametresiniz eklemeliyiz.
Image description

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.

Image description

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.

Image description

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.

Image description

Image description
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
Image description
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
Enter fullscreen mode Exit fullscreen mode

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.

Image description
Aynı şekilde ACK,FIN vb flagleri de bu yöntemle filtreleyebiliriz.

tcpdump 'tcp[tcpflags]==tcp-ack'
tcpdump 'tcp[tcpflags]==tcp-fin'
Enter fullscreen mode Exit fullscreen mode

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

Discussion (0)