İçeriğe geç
🛠️ToolsShed

Netstat Commands Reference

Linux, macOS ve Windows için aranan örnekler ile netstat ve ss komutu referansı.

List all connections

netstat
netstat -a
ss (modern)
ss -a

List listening ports (TCP+UDP)

netstat
netstat -tuln
ss (modern)
ss -tuln

Show TCP connections

netstat
netstat -tn
ss (modern)
ss -tn

Show UDP connections

netstat
netstat -un
ss (modern)
ss -un

Show process PIDs

netstat
netstat -tulnp
ss (modern)
ss -tulnp

Linux/macOS may require root for PID visibility

Show routing table

netstat
netstat -r
ss (modern)
ip route

Show network statistics

netstat
netstat -s
ss (modern)
ss -s

Count connections by state

netstat
netstat -an | awk '{print $6}' | sort | uniq -c | sort -rn
ss (modern)
ss -tan | awk 'NR>1 {print $1}' | sort | uniq -c

Find process using a port

netstat
netstat -tulnp | grep :8080
ss (modern)
ss -tulnp | grep :8080

Replace 8080 with your port number

Show socket summary

netstat
netstat -i
ss (modern)
ss -i
ss netstat'ın modern alternatifidir ve daha hızlı ve detaylı çıktı sunar. Linux sistemlerinde daha iyi performans için kullanın.

Bu araç hakkında

Netstat ve ss, Linux, macOS ve Windows sistemlerinde etkin ağ bağlantılarını, yönlendirme tablolarını, arayüz istatistiklerini ve soket bilgilerini gösteren komut satırı yardımcı programlarıdır. Netstat onlarca yıldır geleneksel seçim olmuştur, ancak ss (soket istatistikleri) Linux sistemlerinde modern yerini almıştır—daha hızlı, daha okunabilir ve ayrıntılı soket durum bilgilerini gösterir. Bu araçları anlamak, ağ yöneticileri için bağlantı sorunlarını teşhis etmek, hangi uygulamaların ağ kaynaklarını kullandığını belirlemek, bağlantı noktası etkinliğini izlemek ve beklenmeyen bağlantıları ve dinleme hizmetlerini takip etmek açısından önemlidir.

Bu referans rehberi, en faydalı netstat ve ss komutlarını göreve göre düzenler: hangi bağlantı noktalarının dinlendiğini kontrol etmek, etkin bağlantıları görüntülemek, ağ etkinliğiyle ilişkili işlem kimliklerini bulmak, trafiği protokole göre analiz etmek, farklı durumlardaki tüm soketleri listelemek ve ağ arayüzü istatistiklerini izlemek. Her komut, amacı ve tipik çıkış biçimiyle açıklanır, bu da onlarca bayrağı ezberlenmeden ihtiyacınız olan kesin sözdizimini bulmanızı kolaylaştırır. Aranabilir biçim, komut adına, protokol türüne veya kullanım durumuna göre hızlıca filtrelemenize olanak sağlar—askıda kalan bir hizmeti sorun giderin, güvenlik için açık bağlantı noktalarını denetleyin veya bant genişliği tüketimini araştırın.

Sistem yöneticileri, DevOps mühendisleri ve güvenlik uzmanları, sistem ağ davranışını anlamak, bağlantı noktası çakışmalarını tespit etmek, hizmetlerin düzgün bir şekilde dinlenip dinlenmediyini doğrulamak ve yetkisiz ağ erişimini belirlemek için bu komutlara günlük olarak güvenirler. Bu araçlara yeni olun veya doğru sözdiziminin hızlı bir hatırlatmasına ihtiyacınız olsun, bu referans, belirli ağ tanı veya izleme göreviniz için hemen kopyalayabileceğiniz ve uyarlayabileceğiniz gerçek, pratik örnekler sağlayarak zaman tasarrufu sağlar.

Sıkça Sorulan Sorular

Kod Uygulaması

import subprocess
import platform

def run_netstat(args: list[str]) -> str:
    """Run netstat command and return output."""
    try:
        result = subprocess.run(["netstat"] + args, capture_output=True, text=True, timeout=10)
        return result.stdout
    except FileNotFoundError:
        # Try ss on Linux if netstat not found
        if platform.system() == "Linux":
            result = subprocess.run(["ss"] + args, capture_output=True, text=True, timeout=10)
            return result.stdout
        return "netstat not found"

# Show all listening TCP ports
print("=== Listening TCP ports ===")
system = platform.system()
if system == "Linux":
    print(run_netstat(["-tlnp"]))   # or ss -tlnp
elif system == "Darwin":  # macOS
    print(run_netstat(["-an", "-p", "tcp"]))
elif system == "Windows":
    print(run_netstat(["-ano", "-p", "TCP"]))

# Parse listening ports
def get_listening_ports() -> list[dict]:
    """Parse ss output on Linux to get listening ports."""
    result = subprocess.run(["ss", "-tlnp"], capture_output=True, text=True)
    ports = []
    for line in result.stdout.splitlines()[1:]:
        parts = line.split()
        if len(parts) >= 4 and parts[0] == "LISTEN":
            ports.append({"state": parts[0], "local": parts[3], "process": parts[6] if len(parts) > 6 else ""})
    return ports

if system == "Linux":
    for p in get_listening_ports():
        print(p)

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.