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:
- İnterface: İzlenecek olan ağ arabirimini belirtir. Örneğin, "eth0" veya "wlan0" gibi bir ağ arabirimi adı kullanılır.
- 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.
- 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.
- 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.