Linux

Tcpdump nedir? Tcpdump nasıl kullanılır?

Bir sunucuda veya masaüstü bilgisayarda, ethernet kartınıza gelen veya giden her bir veri paket olarak gelir. Özellikle sunucu olarak kurulan işletim sistemlerinde, bu tip verilerin analizi önlem kazanır. Sunucunuz bir saldırı aldığında veya ağ trafiğinde beklenmeyen bir artış veya farklılık gösterdiğinde bu paketleri analiz edip, problemi çözüme ulaştırmanız gerekir.

Tcpdump Nedir?

Linux/Unix sistemlerde bulunan, ethernet kartınıza (usb de olabilir) gelen ve giden tüm paketleri analiz etmenizi sağlayan yazılımdır. Windows işletim sistemlerinde kullanılan versiyonu ise windump şeklindedir. Linux Hosting sunucularda veya Linux işletim sistemi bulunan tüm bilgisayarlarda/sunucularda kullanılabilir.

Tcpdump Kurulumu

Tcpdump, Ubuntu, Debian, Fedora ve Freebsd işletim sistemlerinde varsayılan olarak gelmektedir. Centos/Redhat işletim sistemlerinde ise kurmanız gerekmektedir.

Centos tcpdump kurulumu

Centos/Redhat işletim sistemlerine tcpdump direkt yum veya dnf ile kurulabilir.

yum install tcpdump
veya
dnf install tcpdump

1.3mb boyutundaki bu küçük uygulama ek bir kütüphane istemeden (bağımlılık olmadan) kurulacaktır.

Tcpdump Kullanımı

Tcpdump yukarıda belirttiğimiz gibi, Linux üzerinde bir ağa ait trafiği dökmenizi ve analiz etmenizi sağlar. Kullanımı aşağıdaki şekildedir.

tcpdump [OPTIONS]

Parametreleri görmek için;

tcpdump -h
Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
                [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
                [ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ]
                [ -Q in|out|inout ]
                [ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
                [ --immediate-mode ] [ -T type ] [ --version ] [ -V file ]
                [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ]
                [ -Z user ] [ expression ]

Tcpdump’ı kullanmadan önce, hangi arabirimini inceleyeceğimizi seçmemiz gerekir.

tcpdump -D

-D parametresi ile dinleyebileceğimiz arabirimleri listeler.

Bizim sunucumuz üzerinde arabirimler bu şekildedir. Ethernet kartımız üzerinde gelen ve giden paketleri görmek istediğimizden ens160 isimli ethernet kartımızı dinleyeceğiz.

Komutumuzu şu şekilde verebiliriz;

tcpdump -i ens160

Komutu yazdığınızda, muhtemelen çok fazla çıktı ekrana basılacaktır.

Belirli sayıda paketi görme

Eğer belirli bir sayıda paket görmek isterseniz [c] parametresini kullanmanız gerekir.

tcpdump -c 10 -i ens160

Bu parametre ile ekrana son 10 paket getirilecektir. 10 sayısını istediğiniz gibi değiştirebilirsiniz.

Çıktıları daha kısa görme

Çıktıları daha kısa bir şekilde görmek için [q] parametresi kullanılır.

tcpdump -q -i ens160

Ayrıntılı çıktı görme

Eğer daha ayrıntılı çıktı almak isterseniz [v] veya [vv] parametresini kullanabilirsiniz.

tcpdump -vv -i ens160

Daha fazla ayrıntı için manual sayfasını inceleyebilirsiniz.

https://linux.die.net/man/8/tcpdump