Komutları üretim sunucusunda çalıştırmadan önce yedek alın ve mümkünse bir test ortamında deneyin. Yönetim erişiminizi (SSH, panel) kaybetmemek için ayar değişikliklerinde açık bir ikinci oturum bulundurun.
Bu rehberde ne yapacağız?
Bu rehberde tcpdump ile Linux sunucunuzdaki ağ trafiğini yakalamayı, filtrelemeyi ve kaydetmeyi öğreneceksiniz. Bağlantı sorunlarını, beklenmeyen trafiği, DNS cevaplarını ve güvenlik duvarı kurallarının etkisini görmek isteyen hosting ve sunucu yöneticilerine yöneliktir. Süre: yaklaşık 30 dakika.
tcpdump paketleri ağ arayüzü seviyesinde yakalayan komut satırı bir araçtır. Doğru filtrelerle yalnızca ilgilendiğiniz trafiği görürsünüz; filtre kullanmadan çalıştırmak hem okunmaz bir çıktı hem de gereksiz yük üretir.
Gereksinimler
- Debian/Ubuntu veya AlmaLinux/Rocky Linux sunucu ve sudo yetkisi
- Paket yakalamak için yetki gerekir; yakalanan paketler parola ve kişisel veri içerebilir. Yakalama yapmadan önce kurumunuzun politikasına ve KVKK gibi mevzuata uygunluğa dikkat edin
- Disk alanı: kayıt dosyaları hızla büyüyebilir
- Şifresiz protokollerin (HTTP, FTP, Telnet) içeriği okunabilir; TLS trafiğinde yalnızca üst bilgi düzeyi görürsünüz
Adım adım tcpdump ile ağ trafiği inceleme
1. tcpdump'ı kurun
Debian/Ubuntu için:
sudo apt update
sudo apt install tcpdumpAlmaLinux/Rocky için:
sudo dnf install tcpdump2. Arayüzleri listeleyin
sudo tcpdump -D
ip -br addr3. Temel yakalama
-nn seçeneği ad çözümlemesini kapatır (hem daha hızlıdır hem DNS tetiklemez), -i arayüzü belirtir, -c paket sayısını sınırlar.
sudo tcpdump -nn -i eth0 -c 204. Filtreleri kullanın
Filtre ifadeleri host, net, port, tcp, udp, icmp ve and, or, not işleçlerinden oluşur.
sudo tcpdump -nn -i eth0 host 203.0.113.50
sudo tcpdump -nn -i eth0 port 443 and host 203.0.113.50
sudo tcpdump -nn -i eth0 udp port 53
sudo tcpdump -nn -i eth0 icmp
sudo tcpdump -nn -i eth0 tcp port 22 and not host 203.0.113.10SSH üzerinden bağlıysanız kendi SSH trafiğinizi dışarıda bırakın (son örnek gibi); aksi halde her yakalanan paket yeni SSH çıktısı üretir ve döngüye girer.
5. SYN paketlerini ve bağlantı denemelerini görün
Bir porta gelen yeni bağlantı girişimlerini görmek, güvenlik duvarının veya servisin sorununu ayırt etmede işe yarar.
sudo tcpdump -nn -i eth0 'tcp[tcpflags] & tcp-syn != 0 and dst port 443'6. Dosyaya kaydedin ve sonra okuyun
Uzun süreli analizler için -w ile pcap dosyasına yazın, ardından -r ile okuyun veya Wireshark gibi bir araçta açın. -s 0 paketin tamamını yakalar.
sudo tcpdump -nn -i eth0 -s 0 -w /tmp/yakalama.pcap port 443
sudo tcpdump -nn -r /tmp/yakalama.pcap | head -n 507. Dosyaları döndürerek diski koruyun
Diski doldurmamak için dosya boyutuna ve sayısına sınır koyun. Aşağıdaki komut her biri yaklaşık 100 MB olan en fazla 5 dosya tutar.
sudo tcpdump -nn -i eth0 -w /var/tmp/trafik.pcap -C 100 -W 5 port 80Yakalama işini Ctrl+C ile durdurun. Kayıtlar işiniz bitince güvenli biçimde silinmelidir.
Doğrulama
Yakalamanın çalıştığını doğrulamak için bir tarafta tcpdump'ı, diğer tarafta ping gibi bir test trafiğini çalıştırın.
sudo tcpdump -nn -i eth0 icmpBaşka bir terminalden ping -c 3 sunucu-adresi çalıştırdığınızda echo request ve echo reply satırlarını görmelisiniz. Kaydettiğiniz dosyanın okunabildiğini tcpdump -r ile ve boyutunu ls -lh ile teyit edin.
Sık karşılaşılan sorunlar
- Çıktı hiç gelmiyor: yanlış arayüz seçilmiştir.
tcpdump -Dveip -br addrile doğru arayüzü bulun,-i anyile deneyin. - Çıktı çok hızlı akıyor: filtre ekleyin,
-cile sınırlayın veya dosyaya yazın. - Permission denied: sudo ile çalıştırın.
- Paket kaybı raporu (packets dropped by kernel): yoğun trafikte filtreyi daraltın,
-sdeğerini küçültün veya dosyaya yazın. - TLS içeriği okunmuyor: bu beklenen durumdur; yalnızca bağlantı üst bilgilerini ve zamanlamayı inceleyebilirsiniz.
Güvenlik ve bakım notları
- Yakalama dosyalarında parola, çerez ve kişisel veriler bulunabilir; yalnızca yetkili kişilerce erişilebilen yerde saklayın.
- İşiniz bitince pcap dosyalarını silin ve süresiz saklamayın.
- Üretim sunucusunda uzun süreli ve filtresiz yakalamadan kaçının; yük ve disk riski vardır.
- Yalnızca kendi yönettiğiniz ağlarda ve izniniz olan sistemlerde paket yakalayın.
- Yakalama araçlarına erişimi sınırlı tutun; sudo yetkisini gereksiz kişilere vermeyin.
Sık sorulan sorular
tcpdump sunucuyu yavaşlatır mı?
Filtreli ve kısa süreli kullanımda etkisi küçüktür. Çok yoğun trafikte filtresiz ve ayrıntılı yakalama işlemci ve disk yükü yaratabilir; filtre ve sınırlama kullanın.
HTTPS trafiğinin içeriğini görebilir miyim?
Hayır, TLS ile şifrelenmiş içeriği tcpdump çözmez. IP adresleri, portlar, zamanlama ve el sıkışma bilgisi gibi üst bilgileri görebilirsiniz.
Wireshark ile birlikte nasıl kullanılır?
Sunucuda tcpdump ile -w kullanarak pcap dosyası oluşturun, güvenli biçimde kendi bilgisayarınıza aktarın ve Wireshark'ta açıp ayrıntılı analiz yapın.
İlgili sözlük terimleri
Bu kategorideki diğer rehberler
- Ağ sorun giderme: ping, traceroute, mtr ve dig ile adım adım teşhisBağlantı ve yavaşlık sorunlarında ping, traceroute, mtr, dig, ss ve tcpdump araçlarıyla sorunun nerede olduğunu adım adım bulmayı gösteren Linux ağ sorun giderme rehberi.
- IPv6 güvenlik duvarı ve adresleme temelleriIPv6 adresleme, SLAAC, gerekli ICMPv6 türleri, nftables ile IPv6 güvenlik duvarı kuralları ve sunucuda IPv6 kapatma/açma adımlarını anlatan pratik bir rehber.
- Ağ cihazı yapılandırma yedekleme yaklaşımıAnahtar, yönlendirici ve güvenlik duvarı yapılandırmalarını zamanlanmış olarak çekme, Git ile sürüm kontrolü ve değişiklik takibi için üretici bağımsız bir yedekleme yaklaşımı.
- SNMP ve agent ile ağ izleme temelleriSNMPv3 ile güvenli ağ izleme, agent tabanlı izleme farkı, Zabbix ve LibreNMS yaklaşımı, makul eşikler ve uyarı tasarımı için uygulamalı bir başlangıç rehberi.