15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
25.12.2024

Linux’ta Netstat ve SS Kullanarak Açık ve Dinleyen Portları Kontrol Etme

Bir Linux sisteminde açık ve dinleyen portları izlemek, sunucu güvenliğini korumak, ağ sorunlarını tanılamak ve altyapınızı etkili bir şekilde yönetmek için en temel uygulamalardan biridir. Bir üretim web sunucusu, bir VPS Hosting ortamı veya bir Dedicated Server çalıştırıyor olsanız da, hangi portların açık olduğunu ve hangi hizmetlerin bunlara bağlı olduğunu tam olarak anlamak, yetkisiz erişimi önlemek, yanlış yapılandırmaları tespit etmek ve gereksiz saldırı yüzeylerini ortadan kaldırmak için gereken görünürlüğü sağlar.

Bu kapsamlı kılavuzda, herhangi bir Linux sisteminde açık ve dinleyen portları kontrol etmek için netstat ve ss komutlarını nasıl kullanacağınızı, bunların güçlü yönlerini karşılaştıracağınızı ve daha derin ağ analizi için lsof ve nmap gibi ek araçları tanıtacağız.

Açık Portları İzlemenin Neden Önemli Olduğu

Sunucunuzdaki her açık port potansiyel bir giriş noktasını temsil eder. Yanlış yapılandırılmış, eski veya basitçe unutulmuş hizmetler sisteminizi istismardan açığa çıkarabilir. Dinleyen portlarınızı düzenli olarak denetlemek şunları yapmanıza olanak sağlar:

  • Beklenmeyen portlarda çalışan yetkisiz hizmetleri belirleyin
  • İzinsiz giriş girişimlerini veya tehlikeye atılmış işlemleri tespit edin
  • Güvenlik duvarı kurallarının amaçlandığı gibi çalıştığını doğrulayın
  • Yeni dağıtılan uygulamaların doğru arabirimlere bağlandığını onaylayın
  • Kullanılmayan portları kapatarak saldırı yüzeyinizi azaltın

Bu, Shared Web Hosting ortamlarını veya birden fazla hizmetin aynı anda çalıştığı çok kiracılı sunucuları yöneten yöneticiler için özellikle kritiktir.

Portları ve Türlerini Anlamak

Araçlara dalmadan önce, komut çıktısında karşılaşacağınız terminolojiyi anlamak önemlidir.

TerimAçıklama
Açık PortBir uygulamanın gelen bağlantıları aktif olarak dinlediği port
Dinleyen PortAğ trafiğini bekleyen bir hizmete bağlı port
TCP (Transmission Control Protocol)Bağlantı yönelimli, güvenilir, HTTP, SSH, FTP vb. tarafından kullanılır
UDP (User Datagram Protocol)Bağlantısız, daha hızlı ancak daha az güvenilir, DNS, NTP vb. tarafından kullanılır

netstat ile Portları Kontrol Etme

netstat Nedir?

netstat (ağ istatistikleri), ağ bağlantıları, yönlendirme tabloları, arabirim istatistikleri ve dinleyen portlar hakkında ayrıntılı bilgi sağlayan klasik bir komut satırı yardımcı programıdır. Modern dağıtımlarda ss lehine resmi olarak kullanımdan kaldırılmış olsa da, yaygın olarak kullanılmaya devam etmekte ve birçok eski sistemde hala bulunmaktadır.

netstat Yükleme

netstat komutu net-tools paketinin bir parçasıdır ve modern Linux dağıtımlarında varsayılan olarak yüklü olmayabilir.

Debian / Ubuntu:

sudo apt install net-tools

CentOS / RHEL / AlmaLinux / Rocky Linux:

sudo yum install net-tools

Açık ve Dinleyen Portları Kontrol Etmek için netstat Kullanma

Sisteminizde tüm dinleyen TCP ve UDP portlarını görüntülemek için aşağıdaki komutu çalıştırın:

sudo netstat -tuln

Bayrak açıklaması:

BayrakAçıklama
-tTCP portlarını göster
-uUDP portlarını göster
-lYalnızca dinleyen portları göster
-nAna bilgisayar adlarını çözmek yerine sayısal adresleri görüntüle

Örnek Çıktı

Proto  Recv-Q  Send-Q  Local Address     Foreign Address   State
tcp         0       0  0.0.0.0:22        0.0.0.0:*         LISTEN
tcp         0       0  0.0.0.0:80        0.0.0.0:*         LISTEN
tcp6        0       0  :::443            :::*              LISTEN
udp         0       0  0.0.0.0:53        0.0.0.0:*

Çıktı Sütunlarını Anlamak

  • Yerel Adres — Hizmetin dinlediği IP adresi ve port numarası. 0.0.0.0 hizmetin tüm kullanılabilir arabirimlerde dinlediği anlamına gelir.
  • Uzak Adres — Etkin bağlantılar için uzak IP ve port. Bir yıldız işareti (*) henüz bağlantı kurulmadığı anlamına gelir.
  • Durum — Bağlantı durumu. LISTEN port açık olduğunu ve gelen bağlantıları beklediğini gösterir.

netstat ile Belirli Portları Filtreleme

Çıktıyı belirli bir port veya hizmeti yalıtmak için grep aracılığıyla yönlendirebilirsiniz. Örneğin, port 80 (HTTP) üzerinde herhangi bir şeyin dinlediğini kontrol etmek için:

sudo netstat -tuln | grep ":80"

Port 443 (HTTPS) kontrol etmek için, bu, SSL Certificates yüklü sunucular için gereklidir:

sudo netstat -tuln | grep ":443"

Her bağlantıdan sorumlu işlem adını ve PID’yi de görüntülemek için -p bayrağını ekleyin:

sudo netstat -tulnp

ss ile Portları Kontrol Etme

ss Nedir?

ss (soket istatistikleri), netstat için modern yedektir. Daha hızlı, daha verimli ve özellikle yüksek sayıda eşzamanlı bağlantısı olan sistemlerde daha zengin çıktı sağlar. ss komutu neredeyse tüm modern Linux dağıtımlarında varsayılan olarak dahil edilir ve ek kurulum gerektirmez.

Açık ve Dinleyen Portları Kontrol Etmek için ss Kullanma

ss sözdizimi netstat sözdizimini yakından yansıtır ve geçişi basit hale getirir:

ss -tuln

Bayrak açıklaması:

BayrakAçıklama
-tTCP soketlerini göster
-uUDP soketlerini göster
-lYalnızca dinleyen soketleri göster
-nSayısal adresleri görüntüle

Örnek Çıktı

Netid  State   Recv-Q  Send-Q  Local Address:Port   Peer Address:Port
tcp    LISTEN  0       128     0.0.0.0:22            0.0.0.0:*
tcp    LISTEN  0       511     0.0.0.0:80            0.0.0.0:*
tcp    LISTEN  0       511        [::]:443             [::]:*
udp    UNCONN  0       0       0.0.0.0:53            0.0.0.0:*

ss Gelişmiş Kullanımı

ss komutu, netstat sağlayabileceğinden çok daha fazla gelişmiş filtreleme ve görüntüleme seçenekleri sunar.

Yalnızca Dinleyen TCP Portlarını Göster

ss -tl

Yalnızca Dinleyen UDP Portlarını Göster

ss -ul

İşlem Adlarını ve PID’leri Görüntüle

Belirli bir portu hangi işlemin kullandığını belirlemek için -p bayrağını kullanın:

ss -tulnp

Bu, sorun giderme için en yararlı komutlardan biridir — her dinleyen soketin yanında işlem adını ve PID’yi gösterir, hangi uygulamanın hangi portu sahip olduğunu hemen açık hale getirir.

-p Bayrağı ile Örnek Çıktı

Netid  State   Local Address:Port   Process
tcp    LISTEN  0.0.0.0:80           users:(("nginx",pid=1234,fd=6))
tcp    LISTEN  0.0.0.0:22           users:(("sshd",pid=987,fd=3))
tcp    LISTEN  0.0.0.0:3306         users:(("mysqld",pid=2345,fd=21))

Belirli Bir Portu Filtrele

Port 8080 üzerinde hangi işlemin dinlediğini kontrol etmek için:

ss -tulnp | grep ":8080"

Tüm Kurulan TCP Bağlantılarını Göster

ss -tn state established

Özet İstatistiklerini Göster

ss -s

Bu, tür ve duruma göre toplam soketlerin hızlı bir özetini sağlar — olağandışı bağlantı hacimlerini tespit etmek için kullanışlıdır.

netstat ve ss: Doğrudan Karşılaştırma

Özellik`netstat``ss`
PerformansMeşgul sistemlerde daha yavaşÖnemli ölçüde daha hızlı
Varsayılan kullanılabilirliknet-tools paketi gerektirirModern dağıtımlarda önceden yüklü
Filtreleme seçenekleriTemel (grep gerekli)Gelişmiş yerleşik filtreler
İşlem bilgisi-p ile kullanılabilir-p ile kullanılabilir
Çıktı detayıStandartDaha ayrıntılı soket bilgisi
Önerilen kullanımEski sistemler, aşinalıkModern Linux ortamları

netstat Ne Zaman Kullanılır

  • ss nin mevcut olmadığı eski Linux sistemlerinde
  • netstat sözdizimi etrafında yazılmış komut dosyaları veya belgelerle çalışırken
  • net-tools nin zaten yüklü olduğu sistemlerde hızlı kontroller için

ss Ne Zaman Kullanılır

  • Herhangi bir modern Linux dağıtımında (Ubuntu 20.04+, CentOS 8+, Debian 10+, vb.)
  • Yüksek trafikli sunucularda daha hızlı çıktıya ihtiyaç duyduğunuzda
  • Gelişmiş filtreleme ve ayrıntılı soket analizi için

Port Denetimi için Ek Araçlar

netstat ve ss ötesinde, kapsamlı bir port denetimi için çeşitli diğer yardımcı programlar değerlidir.

lsof Kullanma

lsof (açık dosyaları listele)

15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın