Linux’ta Açık Portlar Nasıl Görülür (ss ve netstat)

Son gözden geçirme: Eylül 2026 · Ubuntu 24.04 resmî dokümanına göre

Hızlı çözüm

Linux açık portları görme işi tek komutla yapılır: sudo ss -tulpn sunucuda dinleyen bütün TCP ve UDP portlarını, dinlenen adresi ve portu açan süreci listeler.

  1. sudo ss -tulpn komutunu çalıştırın.
  2. Local Address sütununa bakın: 0.0.0.0, [::] ya da * dışarıya açık, 127.0.0.1 yalnız sunucunun kendisine açık demektir.
  3. Tanımadığınız süreci systemctl ile durdurup devre dışı bırakın.
  4. Sonucu başka bir bilgisayardan nmap ile, yalnız kendi sunucunuzu tarayarak doğrulayın.
Panel Yok — terminal (SSH)
Sistem Ubuntu 22.04/24.04, Debian 12, AlmaLinux 8/9 (VPS/VDS)
Yetki root ya da sudo yetkili kullanıcı (süreç adını görmek için)
Narhost ürünü VPS Sunucu

Başlamadan önce

  • Sunucuya SSH ile bağlanabiliyor olun; bkz. SSH ile sunucuya bağlanma.
  • Komutları sudo ile çalıştırın; yetkisiz çalıştırılan ss başka kullanıcılara ait süreçlerin adını göstermez.
  • Bir servisi kapatmadan önce ne işe yaradığını öğrenin. SSH portunu (22 ya da değiştirdiğiniz port) kapatmayın.

Linux açık portları görme neden gerekir

Narhost’ta VPS ve VDS ürünleri yönetimsizdir: sunucuda hangi servisin çalıştığı, hangi portun dışarıya açık olduğu sizin kararınızdır. Kurduğunuz her paket bir port açabilir. MariaDB, Redis ya da bir Node.js uygulaması yapılandırmaya göre yalnız sunucu içini değil bütün ağ arayüzlerini dinleyebilir; bu da internetteki tarayıcıların o portu bulması demektir.

Güncel dağıtımlarda bu iş için ss kullanılır. ss, iproute2 paketinin parçasıdır ve kurulu gelir. Eski netstat ise net-tools paketindedir; birçok güncel sunucu kurulumunda varsayılan olarak yoktur. Seçenekler için ss kılavuz sayfası esas alınır.

Linux açık portları görme akış şeması — ss ile listeleme, adres okuma, dışarıdan test ve servisi kapatma
Port denetimi dört adımda yapılır: dinleyen portları listeleyin, adresi okuyun, dışarıdan doğrulayın, gereksiz servisi kapatın.

Adım adım açık portları listeleme

  1. Dinleyen portları listeleyin.-t TCP, -u UDP, -l yalnız dinleyenler, -p süreç, -n port adı yerine numara demektir.
    sudo ss -tulpn

    Beklenen sonuç (örnek, kısaltılmış):

    Netid State  Local Address:Port  Process
    udp   UNCONN 127.0.0.53%lo:53    users:(("systemd-resolve",pid=612,fd=13))
    tcp   LISTEN 127.0.0.1:3306      users:(("mariadbd",pid=1204,fd=20))
    tcp   LISTEN 0.0.0.0:80          users:(("nginx",pid=1300,fd=6))
    tcp   LISTEN [::]:80             users:(("nginx",pid=1300,fd=7))
  2. Adres sütununu okuyun.0.0.0.0:80 ve [::]:80 portun IPv4 ve IPv6’da bütün arayüzlere açık olduğunu gösterir. 127.0.0.1:3306 ise veritabanının yalnız sunucu içinden erişilebildiğini gösterir; uzaktan bağlanmıyorsanız doğru ayar budur. Veritabanı 0.0.0.0:3306 dinliyorsa yapılandırmadaki bind-address değerini 127.0.0.1 yapın.
  3. Tek bir portu sorgulayın. Portu hangi sürecin tuttuğunu görmek için filtre ya da lsof kullanın (lsof yoksa sudo apt install lsof).
    sudo ss -tlnp 'sport = :80'
    sudo lsof -i :80 -P -n

    Beklenen sonuç: yalnız 80 numaralı porta ait satırlar ve sürecin adı ile PID’si görünür.

  4. netstat alışkanlığınız varsa paketi kurup aynı bayraklarla çalıştırabilirsiniz; çıktı ss ile aynı bilgiyi verir.
    sudo apt install net-tools
    sudo netstat -tulpn
  5. Dışarıdan test edin.ss sunucunun neyi dinlediğini gösterir; güvenlik duvarının neyi geçirdiğini göstermez. Kendi bilgisayarınızdan nmap ile sunucunuzu tarayın.

    Dikkat

    Yalnız size ait sunucuyu tarayın. Başkasına ait bir adresi izinsiz taramak kötüye kullanım bildirimine ve hukuki sorumluluğa yol açabilir.

    nmap -Pn 203.0.113.10
    nmap -Pn -p 1-65535 203.0.113.10

    Beklenen sonuç: open satırları dışarıdan erişilen portlardır; filtered güvenlik duvarının paketi düşürdüğünü gösterir.

  6. Gereksiz servisi kapatın. Kullanmadığınız servisi durdurun ve açılışta başlamasını engelleyin. Örnek olarak rpcbind:
    sudo systemctl disable --now rpcbind
    sudo systemctl disable --now rpcbind.socket

    Beklenen sonuç: Removed ... satırları görünür, 111 numaralı port ss çıktısından kalkar. Servis yönetimi için bkz. Linux servisini durdurma ve aktif etme.

Doğrulama

Sonuç

sudo ss -tulpn çıktısında yalnız bilerek açtığınız portlar (SSH, web, gerekiyorsa e-posta) 0.0.0.0 ya da [::] üzerinde görünüyor, veritabanı ve önbellek servisleri 127.0.0.1 dinliyor ve dışarıdan yapılan nmap taraması aynı listeyi veriyorsa işlem tamamdır.

Hâlâ çözülmediyse

  • Port ss çıktısında var ama dışarıdan kapalı. Güvenlik duvarı paketi düşürüyordur; sudo ufw status ya da sudo firewall-cmd --list-all ile kuralları kontrol edin.
  • Servisi durdurdum, port geri geldi. Port bir systemd soketine bağlıdır; systemctl list-sockets ile soketi bulup onu da devre dışı bırakın.
  • Process sütunu boş. Komutu sudo olmadan çalıştırdınız; yeniden sudo ile deneyin.
  • Tanımadığınız bir süreç yüksek bir portu dinliyor. Sunucu ele geçirilmiş olabilir; bkz. sunucuda güvenlik açığı tespit edilirse.

Narhost desteği

Talebe şunları ekleyin: sunucunuzun IP adresi, sudo ss -tulpn çıktısı, erişemediğiniz port ve dışarıdan aldığınız nmap sonucu.

Destek talebi aç

Sıkça sorulan sorular

ss ile netstat arasında fark var mı?

Gösterdikleri bilgi aynıdır. ss bilgiyi doğrudan çekirdekten okuduğu için daha hızlıdır ve güncel dağıtımlarda kurulu gelir; netstat için net-tools paketini ayrıca kurmanız gerekir.

Yalnız TCP portlarını nasıl listelerim?

sudo ss -tlnp yazın. -u bayrağını çıkardığınızda UDP satırları listelenmez.

Linux açık portları görme komutu kurulu bağlantıları da gösterir mi?

-l bayrağıyla yalnız dinleyen portlar listelenir. Kurulu bağlantıları görmek için sudo ss -tnp state established kullanın.

Bu makale sorununuzu çözdü mü?

Çözemediniz mi?

Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.

İlgili çözümler