Sistem yöneticileri bilir: Bir şey "çalışmıyor" dediğinizde, %80 ihtimalle sorun ağ kaynaklıdır. Neyse ki, yılların tecrübesiyle...
Sistem yöneticileri bilir: Bir şey "çalışmıyor" dendiğinde, %80 ihtimalle sorun ağ kaynaklıdır. Neyse ki, yılların tecrübesiyle süzülmüş basit komutlar, problemi dakikalar içinde tespit etmenizi sağlar. İşte her sistemcinin ezbere bildiği 5 araç ve neden vazgeçilmez oldukları:
ss -tuln: Dinlenen Portları Anında Göster
Ne İşe Yarar?
- Hangi portların açık olduğunu, hangi servislerin hangi IP adreslerinde çalıştığını listeler
netstat'ın modern ve daha hızlı alternatifi
Neden Önemli?
- "Port açık mı?" sorusuna anında cevap verir
- Firewall kurallarını test etmeden önce ilk bakılacak yer
Örnek Çıktı Analizi
$ sudo ss -tulnp
Çıktıdan Öne Çıkanlar:
- Port 80 (HTTP): Web sunucusu aktif
- Port 22 (SSH): Uzak erişim açık
- Port 53 (DNS): Yerel DNS çözümlemesi
- Port 631 (CUPS): Yazıcı servisi
Güvenlik İpuçları
# Sadece belirli IP'den SSH erişimi
sudo ufw allow from 192.168.1.0/24 to any port 22
# Gereksiz servisleri kapatma
sudo systemctl stop cups
sudo systemctl disable cups
dig +short: DNS Sorunlarını Deşifre Et
Ne İşe Yarar?
- Alan adının DNS çözümlemesini yapar (domain → IP)
- DNS sunucu sorgulama ve kayıt kontrolü
Neden Önemli?
- "DNS çalışıyor mu?" sorusunun en hızlı yanıtı
- CDN, load balancer veya bulut servislerinde yaşanan gecikmelerin kaynağını bulma
Kullanım Örnekleri
# Domain → IP çözümleme
dig +short ondernet.net
# MX kayıtlarını görme
dig +short mx google.com
# Belirli DNS sunucusu sorgulama
dig +short @8.8.8.8 google.com
# Detaylı DNS sorgulama
dig +trace example.com
tcpdump: Gerçek Zamanlı Ağ Trafiğini Dinle
Ne İşe Yarar?
- Belirtilen ağ arabiriminden geçen trafiği analiz eder
- Paket seviyesinde ağ dinleme
Neden Önemli?
- "İstek sunucuya ulaştı mı?" veya "Yanıt dönüyor mu?" sorularını canlı izleme
- API hatalarında "Timeout mı, yoksa paket kaybı mı?" ayrımı
Kurulum
# Debian/Ubuntu
sudo apt update && sudo apt install tcpdump -y
# RHEL/CentOS
sudo yum install tcpdump -y
Temel Kullanım
# HTTP trafiğini dinleme
sudo tcpdump -i eth0 port 80 -n
# Belirli IP'ye giden trafiği izleme
sudo tcpdump -i eth0 host 192.168.1.100
# Paketleri dosyaya kaydetme
sudo tcpdump -i eth0 -w capture.pcap
# Sadece ilk 5 paketi görme
sudo tcpdump -i eth0 -c 5 port 443
traceroute/tracepath: Paketin Yolculuğunu Takip Et
Ne İşe Yarar?
- IP adresine giden paketlerin geçtiği yönlendiricileri adım adım gösterir
- Ağ gecikmelerini ve kayıpları tespit eder
Neden Önemli?
- "Gecikme nereden kaynaklanıyor?" sorusunu yanıtlar
- Firewall veya routing problemlerini tespit eder
Çıktı Yorumlama
tracepath google.com
Dikkat Edilecekler:
- "no reply" mesajları: ICMP engellenmiş olabilir (normal davranış)
- asymm işareti: Gidiş-dönüş yolları farklı
- pmtu değişimi: MTU boyutu değişiklikleri
Alternatif Araçlar
# Daha detaylı analiz için
mtr google.com
# MTU testi
ping -s 1472 -M do google.com
curl -v: HTTP Hatalarını Detaylı Gör
Ne İşe Yarar?
- HTTP/HTTPS isteklerini detaylı çalıştırır
- Header'lar, SSL handshake, yönlendirmeleri gösterir
Neden Önemli?
- HTTP durum kodlarını anında görme (404, 500, 503 vb.)
- SSL sertifika problemlerini tespit
- API debugging için vazgeçilmez
Kullanım Örnekleri
# Detaylı HTTP isteği
curl -v http://example.com
# Sadece header'ları görme
curl -I https://example.com
# SSL sertifika detayları
curl -vI --ssl https://example.com
# Yönlendirmeleri takip etme
curl -L -v http://example.com
# Response time ölçümü
curl -w "@curl-format.txt" -o /dev/null -s http://example.com
Pro İpuçları
1. Gerçek Zamanlı İzleme
watch -n 1 'ss -tuln | grep LISTEN'
2. Tüm Araçları Yükleme
# Debian/Ubuntu
sudo apt install net-tools dnsutils tcpdump traceroute curl mtr -y
# RHEL/CentOS
sudo yum install net-tools bind-utils tcpdump traceroute curl mtr -y
3. Hızlı Ağ Kontrolü Script'i
#!/bin/bash
echo "=== Port Kontrolü ==="
ss -tuln | grep LISTEN
echo -e "\n=== DNS Testi ==="
dig +short google.com
echo -e "\n=== Bağlantı Testi ==="
ping -c 2 8.8.8.8
echo -e "\n=== HTTP Testi ==="
curl -Is https://google.com | head -1
4. Windows Alternatifleri
ss→netstat -andig→nslookupveyaResolve-DnsNametraceroute→tracertcurl→Invoke-WebRequest(PowerShell)tcpdump→ Wireshark veyanetsh trace
Hata Ayıklama Akış Şeması
- Port dinleniyor mu? →
ss -tuln - DNS çözümleniyor mu? →
dig +short - Paketler hedefe ulaşıyor mu? →
traceroute - HTTP yanıt alınıyor mu? →
curl -v - Trafik akıyor mu? →
tcpdump
Bonus: Sorun Çözme Zamanını %90 Azaltan Kombo
# Tek satırda hızlı network kontrolü
echo "Ports:" && ss -tuln | grep -E ":(80|443|22|3306|5432)" && echo "DNS:" && dig +short google.com && echo "Gateway:" && ip route | grep default && echo "External IP:" && curl -s ifconfig.me
Not: Bu komutlar Linux/Unix sistemler içindir. Windows kullanıcıları WSL (Windows Subsystem for Linux) kullanarak aynı komutları çalıştırabilir.
Hangi komut sizin en sık kurtarıcınız oluyor? Yorumlarda paylaşın! 👇