Dikkat: Bu yazıda geçen komutlar hem Linux tabanlı Centos hem de Linux tabanlı Red Hat (RHEL) işletim sisteminde geçerlidir.
tcpdump’in Açılımı Nedir? tcpdump Ne Anlama Gelmektedir?
tcp ‘nn açılımı “Transmission Control Protocol” yani “Geçiş Kontrol Protokolü” dür. “Dump” kelimesi ise “yığmak, indirmek, dökmek” gibi anlamlara gelmektedir. Sonuç olarak tcpdump komutu tcp paketlerini ortaya sermek gibi bir anlama gelmektedir.
tcpdump Nedir Ne İşe Yarar?
Bu komut ile ağ üzerinden geçen trafik analiz edilir.
tcpdump Parametreleri Nelerdir?
- -n : IP’yi isme çevirir. (DNS sorgusu)
- -nn : Port numaralarını isme çevirir
- -s : Paket boyutudur. Defaul değeri yani varsayılan değeri 96 byte’dır. Sıfır (0) olarak kullanılırsa maksimum değerle yani 65535 byte olur.
- -i : Paketlerin yakalanacağı interface ismidir. “any” kelimesi tüm arabirimleri ifade etmektedir.
- -e : MAC adreslerini göstermektedir.
- -w : Paketleri verilen dosya adıyla saklar.
- -r : Saklanan dosyayı okumak için kullanılır.
- -v : Detaylı log’lama yapar.
- -c : Kaç adet paket yakalanacağını belirtmektedir.
tcpdump Filtreleri Nelerdir?
tcpdump komutu yalın halde kullanılırsa karmakarışık bir sürü bilgi sürekli olarak ekranda akacaktır. Dolaysıyla inceleme de sıkıntı yaşayabiliriz. Bundan dolayı şu ip’den gelen veya şu ip’ye giden, şu protokole ait olan, şu porttan gelen… v.s şeklinde filtreleme ile çıktı almak işimizi kolaylaştıracaktır. Filtreler aşağıda verilmiştir;
Not: tcpdump filtreleri “and” veya “or” kelimeleri ile birlikte kullanılabilir. Bu şekilde birden fazla filtre kullanılabilmektedir.
- host <IP> : kaynak veya hedef IP
- dst host <IP> : (destination) hedef IP
- src host <IP> : (source) kaynak IP
- port <port> : kaynak veya hedef port
- dst port <port> : (destination) hedef port
- src port <port> : (source) kaynak port
- net <ağ/mask> : kaynak veya hedef ağ adresi
- dst net <ağ/mask> : (destination) hedef ağ adresi
- src net <ağ/mask> : (source) kaynak ağ adresi
- tcp : TCP paketlerini süzer.
- udp : UDP paketleri süzer.
- icmp : icmp paketleri süzer.
tcpdump Komutu CentOS’da Nasıl Kullanılmaktadır?
tcpdump komutu yukarıdaki parametreler veya filtreler ile birlikte kullanılmaktadır.
“tcpdump: no suitable device found” Hatası Çözümü: Root Olma
Aşağıdaki örnekte “tcpdump” komutu yalın halde kullanılmıştır. Fakat burada “tcpdump: no suitable device found” hatası alınmıştır. Görüldüğü üzere çözüm adına “root” girişi yapılmıştır. Böylece komut çalışmıştır. Çıktıya göre eth0 arabirimi dinlenmeye başlanmıştır.

“.pcap” (Packet Capture) Dosyası Nasıl Açılır?
Widows’ta;
- Wireshark programı ile açılır.
CentOS’ta “-ttttnr” parametresi ile aşağıdaki şekliyle açılabilir.
- tcpdump –ttttnr [dosya_adi.pcap]
tcpdump Örnek Uygulama:
Örneğimizde VMware Workstation programımızda Windows XP ve CentOS olmak üzere 2 adet işletim sistemi vardır. Windows’tan CentOS’a bir icmp trafiği başlatacağız yani ping atacağız.

192.168.93.129 IP’li Windows’dan 192.168.93.143 IP’li CentOS’a ping başlattık.

Örnek uygulamada CentOS’ta;
- touch /home/nizam/Desktop/log_ornek.pcap
Masaüstünde log_log isimli boş bir .pcap (packet capture) dosyası oluşturulmuştur.
- tcpdump –w /home/nizam/Desktop/log_ornek.pcap src host 192.168.93.129 and icmp
192.168.93.129 IP adresinden gelen icmp paketleri süzülmüş ve alınan çıktı masaüstündeki log_ornek.pcap dosyasına yazdırılmıştır. Bir süre sonra “ctrl+c” ile durdurulmuştur.
- tcpdump –ttttnr /home/nizam/Desktop/log_ornek.pcap
Pcap dosyasının içeriğine bakılmıştır.

Örnek olması açısından oluşturulan bu “log_ornek.pcap” dosyası aşağıda Windows 7’ye atılmış ve Wireshark programı ile açılmıştır.

Sonuç olarak Linux tabanlı CentOS veya Red Hat (RHEL) işletim sisteminde tcpdump ile yakalanan paketler “[isim].pcap” packet capture dosyası şeklinde oluşturulursa Windows’ta Wireshark programı ile de açılıp incelenebilir.