Tcpdump network üzerinde paket analizi yapmamızı sağlayan bir programcıktır.Tüm linux dağıtımlarında kurulu olarak gelmektedir.Bu yazıda tcpdump ‘ın temel kullanımını inceleyeceğiz.Öncelikle tcpdump programı linux makinelerde sistem binary altında bulunur.(/usr/sbin/tcpdump)Bu dizin altında bulunan hemen tüm programcıklar gibi tcpdump da calısmak için sizden yönetici(root) olmanızı beklemekte.
1.Spesifik bir interface’den paket yakalamak(tcpdump -i)
Eğer tcpdump komutuna herhangi bir parametre verilmez ise bu komut tüm kartlardan paket toplar.Ancak özel bir karttan paket toplamasını istiyorsak tcpdump komutunu şu şekilde vermeliyiz.
tcpdump -i eth0
tcpdump -i wlan0
Not: Linux makinelerde ethernet kartınız ile ilgili bilgileri ifconfig -a komutu ile alabilirsiniz.
2.Belirli sayıda paket yakalamak (tcpdump -c)
Tcpdump komutu sürekli devam eden bir komuttur.Yani, bir kez tcpdump komutu verdiğinizde siz süreci durdurmadığınız sürece paket yakalamaya devam eder.Ancak -c parametresi ile belirli bir sayıda paket yakalayabiliriz.Aşağıdaki örnekte bir 10 adet paket yakalayacağız.
tcpdump -c 10 -i wlan0
3.Yakalanan paketleri ASCII formatına çevirmek (tcpdump -A )
Tcpdump’ın -A parametresi yakalanan paketlerin içeriğini ASCII formatında ekrana basar.
tcpdump -A -i wlan0
4.Yakalanan paketleri HEX ve ASCII formatında görüntülemek(tcpdump -XX)
Tcpdump’ın -XX parametresi ile birlikte yakalanan paketler hem HEX hemde ASCII formatında görüntülenebilir.
tcpdump -XX -i wlan0
5.Yakalanan paketlerin bir dosyaya yazdırılması(tcpdump -w)
Tcpdump -w parametresi yakaladığımız paketleri bir dosyaya yazarak daha sonra analiz etmemize olanak tanır.Kaydedeceğimiz dosyanın uzantısı .pcap olmalıdır.
tcpdump -w paketadi.pcap -i wlan0
Bu şekilde dosya ismi verdiğimizde bulunduğumuz dizine bir pcap dosyası oluşturulur.Direkt isim vermek yerine bir dosya yolu vererek de pcap dosyası oluşturabiliriz.
6.Kaydedilmiş pcap dosyasının okunması(tcpdump -r)
Bir önceki maddede yakalanan paketlerle ilgili bilgilerin bir pcap dosyasına yazdırdık.Bu dosyayı okumamız gerektiğinde aşağıdaki komutu girmemiz gerek.
tcpdump -r paketadi.pcap
7.Paketleri ip adresi ile yakalamak(tcpdump -n)
Daha doğrusunu söylemek gerekirse adreslerin çözümlemesini yapıp çevirmez.Bundan önceki örneklerdeki tcpdump çıktıları bize DNS sonuçları veriyordu.Ancak -n parametresi ile sonuçları ip adresi olarak alabilmekteyiz.
tcpdump -n -i wlan0
8.X Byte dan büyük paketlerin yakalanması
Aşağıdaki komut ile bilgisayarınız sadece 1024 byte dan büyük paketleri yakalayacaktır.
tcpdump -i wlan0 greater 1024
9.Spesifik bir protokolden paket almak
Tcpdump sayesinde bir çok protokolden paket toplayabilmekteyiz.(fddi,tr,wlan,ip,ip6,arp,rarp,decnet, tcp and udp)Aşağıdaki örnekte wlan0 arayüzü için udp paketlerini toplayan komutu görebilirsiniz.
tcpdump -i wlan0 udp
10.X byte dan kücük paketleri okumak
Aşağıdaki komutla 1024 byte dan küçük paketleri yakalayacaktır.
tcpdump -i wlan0 less 1024
11.Spesifik bir porttan paketleri yakalamak
Aşağıdaki komutla spesifik bir porttan paketleri toplayabiliriz.Aşağıda 80. port için gerekli komutu bulabilirsiniz.
tcpdump -i wlan0 port 80
12.Spesifik bir ip ve porttan paketlerin yakalanması
Tcpdump tarafından yakalanan paketlerde hedef ve kaynak ip adresleri ,port bilgileri yer alır.Aşağıdaki komut ile spesifik bir ip adresi ve port ile ilgili paketleri yakalayabiliriz.
tcpdump -i wlan0 dst 192.168.1.2 and port 80
13.İki makine arasındaki tcp bağlantı paketlerini alma
Ağ üzerinde iki makine tcp protokolü üzerinden birbiriyle konusuyor ise aşağıdaki kod ile iki makine arasındaki paketleri yakalayabiliriz.
tcpdump -i wlan0 src 192.168.1.2 and dst 192.168.1.3