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
Sık Sorulan Sorular
Tcpdump ile hangi komutlar kullanılabilir?
Bazı yaygın komutlar şunlardır:
tcpdump -i eth0 → Belirli arayüzü dinler
tcpdump port 80 → Yalnızca 80 numaralı portu izler
tcpdump -w trafik.pcap → Çıktıyı dosyaya yazar
tcpdump -r trafik.pcap → Kaydedilmiş veriyi okur
Tcpdump ile alınan veri nasıl analiz edilir?
Alınan .pcap uzantılı dosyalar Wireshark gibi GUI araçlarla açılarak detaylı analiz yapılabilir. Bu sayede trafiğin görsel olarak incelenmesi kolaylaşır.
Tcpdump Windows üzerinde çalışır mı?
Tcpdump doğrudan Windows’ta çalışmaz. Ancak WinDump adlı uyarlanmış sürüm Windows ortamında benzer işlevselliği sunar. WinPcap veya Npcap sürücüsünün de yüklü olması gerekir.
Wireshark ve Tcpdump farkı nedir?
Wireshark, grafik arayüz sunan kapsamlı bir analiz aracıdır. Tcpdump ise daha hafif ve terminal tabanlıdır. Tcpdump genellikle hızlı analiz veya sunucu ortamlarında tercih edilir.
WinDump nedir?
WinDump, Tcpdump’ın Windows işletim sistemleri için geliştirilmiş sürümüdür. Aynı sözdizimini kullanır ve komut satırından çalışır. Özellikle Windows sunucularda hafif bir çözüm sunar.
