TCPDump Kullanımı

Rümeysa Öz - Jul 12 '23 - - Dev Community

TCPDump Nedir?

TCPDump, Unix ve Linux tabanlı sistemlerde ağ analizi ve ağ güvenlik denetimi için kullanılan komut satırı tabanlı bir paket analiz aracıdır. OSI modelinin neredeyse tüm katmanlarından trafiği izlemenizi sağlar, bu sayede yakaladığınız paketlerle istediğiniz gibi çalışabilirsiniz. Yakalanan paketleri saklayabilir ve daha sonra Wireshark veya başka bir analiz aracıyla analiz edebilirsiniz.

TCPDump'ın Özellikleri ve Avantajları

TCPDump, ağ trafiğini yakalama, analiz etme ve ayrıntılı bir şekilde raporlama yeteneği olan güçlü bir araçtır. Farklı paket türlerini, belirli portları, IP adreslerini ve daha fazlasını filtrelemek için kullanılabilir. TCPDump'ın en büyük avantajlarından biri, geniş özelleştirilebilirlik ve sağladığı çok çeşitli seçenek ve filtrelerdir. Küçük boyutu ve düşük sistem gereksinimleri, ayrıca aracın hızlı ve verimli çalışmasını sağlar.

TCPDump Kurulumu

TCPDump çoğu Linux dağıtımında varsayılan olarak gelir. Ancak kurulu olmadığını kontrol etmek veya en yeni sürümüne yükseltmek için terminali açın ve aşağıdaki komutları kullanın:

Debian tabanlı dağıtımlar (Ubuntu, Mint vb.) için:

sudo apt-get update
sudo apt-get install tcpdump
Enter fullscreen mode Exit fullscreen mode

Red Hat tabanlı dağıtımlar (CentOS, Fedora vb.) için:

sudo yum install tcpdump
Enter fullscreen mode Exit fullscreen mode

Temel TCPDump Komutları

Genel Sözdizimi

TCPDump komutunun temel sözdizimi şu şekildedir:

tcpdump [seçenekler] [filtre]
Enter fullscreen mode Exit fullscreen mode

Birçok seçenek ve filtre ifadesi bulunur ve bu seçeneklerin her biri TCPDump'ın hangi trafik türlerini yakalayacağını ve sonuçların nasıl görüntüleneceğini belirler.

Arabirimleri Listeleme

tcpdump -D
Enter fullscreen mode Exit fullscreen mode

komutu, kullanılabilir ağ arabirimlerini listeler.
Örnek:

tcpdump -D
Enter fullscreen mode Exit fullscreen mode

Belirli Bir Arabirimdeki Trafik Yakalama

tcpdump -i [arabirim]
Enter fullscreen mode Exit fullscreen mode

Bir arabirimdeki tüm trafiği yakalamak için '-i' seçeneği ve arabirimin adı kullanılır.

Örnek:

tcpdump -i eth0
Enter fullscreen mode Exit fullscreen mode

Host Filtreleme

tcpdump -i [arabirim] host [ip_adresi]
Enter fullscreen mode Exit fullscreen mode

Belirli bir hostla ilgili trafiği izlemek için 'host' filtresi kullanılır.

Örnek:

tcpdump -i eth0 host 192.168.1.108
Enter fullscreen mode Exit fullscreen mode

Protokol Filtreleme

Belirli bir protokolü (TCP, UDP, ICMP vb.) filtrelemek için doğrudan protokol adı kullanılır.

TCP trafiğini yakalamak için:

tcpdump -i eth0 tcp
Enter fullscreen mode Exit fullscreen mode

Port Filtreleme

Belirli bir port üzerindeki trafiği yakalamak için 'port' filtresi kullanılır.

Port 80'deki trafiği yakalamak için:

tcpdump -i eth0 port 80
Enter fullscreen mode Exit fullscreen mode

Kaynak ve Hedef IP Filtreleme

Kaynak ve/veya hedef IP adresine sahip paketleri yakalamak için 'src' (source/kaynak) ve 'dst' (destination/hedef) filtreleri kullanılır.

Örnek:

Kaynak IP adresi 192.168.1.108 olan trafiği yakalamak için:

tcpdump -i eth0 src 192.168.1.108
Enter fullscreen mode Exit fullscreen mode

Hedef IP adresi 192.168.1.108 olan trafiği yakalamak için:

tcpdump -i eth0 dst 192.168.1.108
Enter fullscreen mode Exit fullscreen mode

Belirli bir kaynak ve hedef adresi arasında gerçekleşen iletişimi yakalamak için:

tcpdump -i eth0 src 192.168.1.108 and dst 192.168.1.1
Enter fullscreen mode Exit fullscreen mode

Ağ Filtreleme

Belirli bir IP ağındaki trafiği yakalamak için 'net' filtresi kullanılır.

Örnek:

192.168.1.0/24 ağındaki tüm trafiği yakalamak için:

tcpdump -i eth0 net 192.168.1.0/24
Enter fullscreen mode Exit fullscreen mode

Paketlerin Yönünü Filtreleme

Paketlerin yönünü filtrelemek için 'src' ve 'dst' ifadeleri ve 'net' filtresi birlikte kullanılır.

Belirli bir ağdan gelen trafiği yakalamak için:

tcpdump -i eth0 src net 192.168.1.0/24
Enter fullscreen mode Exit fullscreen mode

Belirli bir ağa giden trafiği yakalamak için:

tcpdump -i eth0 dst net 192.168.1.0/24
Enter fullscreen mode Exit fullscreen mode

Çıktıyı Dosyaya Yazma ve Dosyadan Okuma

TCPDump çıktısını bir dosyaya yazmak için '-w' seçeneği ve dosyanın adı kullanılır. Bu, daha sonraki analizler için çok kullanışlıdır.

Örnek:

tcpdump -i eth0 -w output.pcap
Enter fullscreen mode Exit fullscreen mode

Daha önce kaydedilmiş bir TCPDump çıktısını okumak için '-r' seçeneği ve dosyanın adı kullanılır:

tcpdump -r output.pcap
Enter fullscreen mode Exit fullscreen mode

TCPDump ile Ağ Trafiğini Anlık İzleme

tcpdump komutu, belirli bir paket sayısına ulaşıldığında durmak üzere -c parametresini alabilir. Örneğin, yalnızca ilk 10 paketi yakalamak ve sonrasında durmak isterseniz aşağıdaki komutu kullanabilirsiniz:

Örnek:

sudo tcpdump -c 10 -i eth0 -v
Enter fullscreen mode Exit fullscreen mode

TCPDump Filtreleri

TCPDump, çeşitli filtrelerle belirli özelliklere sahip paketleri yakalamak için çok yönlüdür.

IP Adresi veya Aralığı Filtreleme

Belirli bir IP adresi veya ağı filtrelemek için 'host', 'src', 'dst' ve 'net' filtreleri kullanılır.
Port Filtreleme

Belirli bir portu filtrelemek için 'port', 'src port', 'dst port' filtreleri kullanılır.

Protokol Filtreleme

Belirli bir protokolü filtrelemek için doğrudan protokol adı kullanılır (örn. 'tcp', 'udp', 'icmp').

Paket Boyutu Filtreleme

Belirli bir boyuttaki paketleri filtrelemek için 'less', 'greater' ve 'len' filtreleri kullanılır.

Belirli Paketlerin Yakalanması

Özellikle belirli paket türlerini yakalamak için TCPDump filtre ifadeleri kullanılır. Örneğin, SYN bayrağına sahip tüm TCP paketlerini yakalamak için aşağıdaki filtre kullanılabilir:

tcpdump 'tcp[13] & 2 != 0'
Enter fullscreen mode Exit fullscreen mode
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .