Giriş
Linux sunucularında bir portun neden yanıt vermediğini, hangi servisin bir portu meşgul ettiğini veya dış dünyadan gelen bağlantıların durumunu anlamak sistem yöneticileri için kritik bir beceridir. Yıllardır bu tür sorunların çözümünde standart araç netstat olmuştur. net-tools paketinin bir parçası olan bu araç, ağ bağlantılarını, dinleme portlarını, yönlendirme tablolarını ve protokol istatistiklerini görüntülemek için kullanılır.
Kurulum
Modern Linux dağıtımlarında net-tools varsayılan olarak gelmeyebilir. Eğer netstat komutu bulunamadı hatası alıyorsanız, aşağıdaki adımları izleyin:
- Ubuntu/Debian tabanlı sistemler için:
sudo apt install net-tools - Fedora/RHEL tabanlı sistemler için:
sudo dnf install net-tools
İpucu:netstatkomutu artık eski (deprecated) kabul edilmektedir. Yeni sistemlerdessveipkomutlarını kullanmanız önerilir.
Temel Kullanım ve Senaryolar
1. Dinleyen Portları ve İlgili Süreçleri Listeleme
Bir portun neden 'adres kullanımda' (address already in use) hatası verdiğini anlamak için hangi sürecin (process) o portu kullandığını bulmanız gerekir:
sudo netstat -tulnpBuradaki parametrelerin anlamı şöyledir: -t (TCP), -u (UDP), -l (dinleyen), -n (sayısal adresler), -p (PID ve program adı).
2. Belirli Bir Portu Sorgulama
Örneğin 80 numaralı portu dinleyen bir servis olup olmadığını kontrol etmek için grep ile filtreleme yapabilirsiniz:
sudo netstat -tulnp | grep ':80'3. Bağlantı Durumlarını İzleme
TCP bağlantılarının durumunu (ESTABLISHED, TIME_WAIT, CLOSE_WAIT) görmek için şu komutu kullanın:
sudo netstat -antEğer çok sayıda CLOSE_WAIT durumu görüyorsanız, uygulamanızın soketleri düzgün kapatmadığını anlayabilirsiniz.
İstatistikler ve Yönlendirme
Ağ arayüzlerindeki hataları (RX-ERR, TX-ERR) incelemek için netstat -i komutunu, protokol bazlı detaylı istatistikler için ise netstat -s komutunu kullanabilirsiniz. Yönlendirme tablosunu görüntülemek için ise netstat -rn en hızlı yöntemdir.
Sonuç
netstat, özellikle eski sistemlerde veya hızlı tanı koymanız gereken durumlarda hala vazgeçilmez bir araçtır. Ancak, modern Linux çekirdeklerinde performans ve detaylı filtreleme özellikleri nedeniyle ss komutuna geçiş yapmanız, uzun vadede daha verimli bir ağ yönetimi sağlayacaktır.

