Post

Tcpdump Nedir? - What is Tcpdump?

Tcpdump Nedir? - What is Tcpdump?

Tcpdump, ağ trafiğini izlemek, analiz etmek ve yakalamak için kullanılan bir komut satırı tabanlı bir araçtır. İlk olarak UNIX ve UNIX benzeri işletim sistemlerinde kullanılan Tcpdump, ağ paketlerini yakalayarak, ağ trafiğini analiz etmenizi sağlar. Bu, ağ sorunlarını teşhis etmek, ağ güvenliğini denetlemek veya ağa giren veya çıkan verileri incelemek gibi birçok amaç için kullanılabilir.

Tcpdump, ağ arabirimini dinleyerek geçen ağ paketlerini yakalar ve bunları insan tarafından okunabilir bir formatta sunar. Bu, farklı ağ protokollerine (TCP, UDP, ICMP, IP, vb.) ve ağ katmanına (Ethernet, WiFi, vb.) bağlı olarak çalışabilir.

Tcpdump, genellikle aşağıdaki gibi çeşitli parametrelerle kullanılır:

  1. İnterface: İzlenecek olan ağ arabirimini belirtir. Örneğin, "eth0" veya "wlan0" gibi bir ağ arabirimi adı kullanılır.
  2. Filtrasyon: Yalnızca belirli paketleri yakalamak için kullanılan filtrelerdir. Bu, belirli bir IP adresi veya protokolü filtrelemek, belirli bir port numarasına sahip paketleri yakalamak veya belirli bir veri paketi biçimine sahip paketleri yakalamak gibi çeşitli filtreler kullanabilirsiniz.
  3. Sayı: Yakalanacak paket sayısını belirtir. Varsayılan olarak, Tcpdump sonsuz bir şekilde paketleri yakalamaya devam eder, ancak belirli bir sayıda paket yakalamak istiyorsanız, bu parametreyi kullanabilirsiniz.
  4. Dosya: Yakalanan paketleri bir dosyaya kaydetmek için kullanılır. Bu, yakalanan trafiği daha sonra analiz etmek veya başka bir araca aktarmak için kullanışlı olabilir.

Tcpdump, ağ trafiği üzerinde gerçek zamanlı izleme, paketleri filtreleme, protokol analizi ve ağ güvenliği denetimi gibi birçok kullanım senaryosuna uygundur. Ancak, doğru bir şekilde kullanmak için ağ protokollerini ve Tcpdump'un sunduğu filtreleme seçeneklerini anlamak önemlidir.

Eğer işletim sisteminizde "TCPdump" yüklü değilse, onu paket yöneticisi kullanarak veya kaynak kodunu indirip derleyerek kurmanız gerekebilir. İşletim sisteminize bağlı olarak kurulum yöntemleri değişebilir.

#Ubuntu/Debian:
apt-get update
apt-get install tcpdump
#Centos/RHEL:
sudo yum update
sudo yum install tcpdump

#Kullanımı:

#ana kullanım komutu:
tcpdump

#tcpdump hakkında detaylı bilgi:
man tcpdump

Capture-Yakalama Komutları:

KOMUT           ÖRNEK KULLANIM                          AÇIKLAMA
-i any           tcpdump -i any                       Tüm arabirimlerden yakalar; süper kullanıcı izni gerekebilir (sudo/su)
-i eth0          tcpdump -i eth0                      eth0 arabiriminden yakalar
-c count         tcpdump -i eth0 -c 5                 Belirli sayıda paket alındıktan sonra durur (örneğin, -c 5 ile 5 paket alındıktan sonra durur)
-r captures.pcap tcpdump -i eth0 -r captures.pcap     Kaydedilmiş yakalama dosyasını okur ve analiz eder
tcp              tcpdump -i eth0 tcp                  Sadece TCP paketlerini gösterir
udp              tcpdump -i eth0 udp                  Sadece UDP paketlerini gösterir
icmp             tcpdump -i eth0 icmp                 Sadece ICMP paketlerini gösterir
ip               tcpdump -i eth0 ip                   Sadece IPv4 paketlerini gösterir
ip6              tcpdump -i eth0 ip6                  Sadece IPv6 paketlerini gösterir
arp              tcpdump -i eth0 arp                  Sadece ARP paketlerini gösterir
rarp             tcpdump -i eth0 rarp                 Sadece RARP paketlerini gösterir
slip             tcpdump -i eth0 slip                 Sadece SLIP paketlerini gösterir
-I               tcpdump -i eth0 -I                   Arabirimi monitör modunda kullanır
-K               tcpdump -i eth0 -K                   İletinin doğrulama toplamını kontrol etmez
-p               tcpdump -i eth0 -p                   İzinsiz modda yakalama yapmaz

Filtreleme Komutları:

FİLTRE İFADESİ          AÇIKLAMA
src host 127.0.0.1      Kaynak IP/hostname 127.0.0.1 olan paketleri filtreler
dst host 127.0.0.1      Hedef IP/hostname 127.0.0.1 olan paketleri filtreler
host 127.0.0.1          Kaynak veya hedef IP/hostname 127.0.0.1 olan paketleri filtreler
ether src 01:23:45:AB:CD:EF  Kaynak MAC 01:23:45:AB:CD:EF olan paketleri filtreler
ether dst 01:23:45:AB:CD:EF  Hedef MAC 01:23:45:AB:CD:EF olan paketleri filtreler
ether host 01:23:45:AB:CD:EF Kaynak veya hedef MAC 01:23:45:AB:CD:EF olan paketleri filtreler
src net 127.0.0.1       Kaynak ağ konumu 127.0.0.1 olan paketleri filtreler
dst net 127.0.0.1       Hedef ağ konumu 127.0.0.1 olan paketleri filtreler
net 127.0.0.1           Kaynak veya hedef ağ konumu 127.0.0.1 olan paketleri filtreler
net 127.0.0.1/24        Kaynak veya hedef ağ konumu 127.0.0.1 ve 24 bitlik alt ağ maskesi olan paketleri filtreler
src port 80             Kaynak portu 80 olan paketleri filtreler
dst port 80             Hedef portu 80 olan paketleri filtreler
port 80                 Kaynak veya hedef portu 80 olan paketleri filtreler
src portrange 80-400    Kaynak port aralığı 80-400 olan paketleri filtreler
dst portrange 80-400    Hedef port aralığı 80-400 olan paketleri filtreler
portrange 80-400        Kaynak veya hedef port aralığı 80-400 olan paketleri filtreler

Görüntüleme Komutları:

KOMUT   ÖRNEK KULLANIM                   AÇIKLAMA
-A      tcpdump -i eth0 -A              Her paketi (bağlantı düzeyi başlığı hariç) ASCII olarak görüntüler
-D      tcpdump -D                      Sistemde mevcut olan ağ arabirimlerinin listesini görüntüler
-e      tcpdump -i eth0 -e              Her çıktı satırında bağlantı düzeyi başlığını (Ethernet, IEEE 802.11 gibi) görüntüler
-F      tcpdump -i eth0 -F params.conf  Filtre ifadesi için params.conf dosyasını kullanır
-n      tcpdump -i eth0 -n              Adresleri isimlere çevirmez
-S      tcpdump -i eth0 -S              TCP dizin numaralarını mutlak olarak (göreli değil) görüntüler

Çıktı Komutları:

KOMUT           ÖRNEK KULLANIM                         AÇIKLAMA
-w captures.pcap tcpdump -i eth0 -w captures.pcap       Yakalanan paketleri captures.pcap dosyasına kaydeder
-d               tcpdump -i eth0 -d                      İnsan tarafından okunabilir formu standart çıktıda görüntüler
-L               tcpdump -i eth0 -L                      Arabirim için veri bağlantı türlerini görüntüler
-q               tcpdump -i eth0 -q                      Hızlı/ sessiz çıktı. Daha az protokol bilgisi görüntüler
-U               tcpdump -i eth0 -U -w out.pcap           Paketleri out.pcap dosyasına gerçek zamanlı olarak yazar

Ek Komutlar:

OPERATÖR     SÖZ DİZİMİ            ÖRNEK                                     AÇIKLAMA
AND           and, &&              tcpdump -n src 127.0.0.1 and dst port 21   "Ve" mantıksal operatörü ile birleştirilen filtre seçeneklerini uygular
OR            or, ||               tcpdump dst 127.0.0.1 or src port 22       "Veya" mantıksal operatörü ile birleştirilen herhangi bir koşulu eşleştirir
EXCEPT        not, !               tcpdump dst 127.0.0.1 and not icmp          "Değil" mantıksal operatörü ile başlayan bir koşulu ters çevirir
LESS          less, <, (<=)        tcpdump dst host 127.0.0.1 and less 128    Belirtilen uzunluktan (128) daha kısa paketleri eşleştirir
GREATER       greater, >, (>=)     tcpdump dst host 127.0.0.1 and greater 64  Belirtilen uzunluktan (64) daha uzun paketleri eşleştirir
EQUAL         =, ==                tcpdump host 127.0.0.1 = 0                  Uzunluğu sıfır olan paketleri eşleştirir

Ek Komutlar 2:

KOMUT   ÖRNEK KULLANIM                   AÇIKLAMA
-K                      tcpdump -i eth0 -K                        İletinin doğrulama toplamını kontrol etmeyi devre dışı bırakır
-p                      tcpdump -i eth0 -p                        İzinsiz modda yakalamayı devre dışı bırakır
-t                      tcpdump -i eth0 -t                        Her çıktı satırında zaman damgasını görüntülemeyi devre dışı bırakır
-n                      tcpdump -i eth0 -n                        Adresleri isimlere çevirmeyi devre dışı bırakır
-S                      tcpdump -i eth0 -S                        TCP dizin numaralarını mutlak değil, göreli olarak görüntüler
-tt                     tcpdump -i eth0 -tt                       Her satırda, saniye cinsinden tarih ve saat bilgisini ve o zamandan beri geçen süreyi görüntüler
-XX                     tcpdump -i eth0 -XX                       Paketlerin başlıklarını ve verilerini onaltılık ve ASCII formatında görüntüler

Örnek Kullanım:

ÖRNEK                                 AÇIKLAMA
tcpdump -r outfile.pcap              outfile.pcap dosyasındaki tüm paketleri görüntüler
tcpdump -i any ip and not tcp port 80 Tüm ağ arabirimlerindeki TCP portu 80 olmayan paketleri dinler
tcpdump -i eth0 -n >32 -w pv01.pcap  eth0 ağ arabiriminde DNS çözümlemesi olmadan 32 bayttan uzun paketleri yakalar ve pv01.pcap dosyasına kaydeder
tcpdump -AtuvX icmp   ICMP trafiğini yakalar ve ICMP paketlerini onaltılık ve ASCII formatında görüntüler
tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'  IPv4 HTTP paketlerini, yani sadece veri içeren paketleri (örneğin SYN ve FIN paketlerini ve yalnızca ACK paketlerini değil) filtreleyerek görüntüler

Umarım faydalı olmuştur. – Saygılarımla.

This post is licensed under CC BY 4.0 by the author.