Lewati ke konten
🛠️ToolsShed

Netstat Commands Reference

Referensi perintah netstat dan ss lengkap untuk Linux, macOS, dan Windows dengan contoh dapat dicari.

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 adalah pengganti modern netstat, menawarkan keluaran yang lebih cepat dan terperinci. Gunakan untuk performa yang lebih baik pada sistem Linux.

Tentang alat ini

Netstat dan ss adalah utilitas baris perintah yang menampilkan koneksi jaringan aktif, tabel perutean, statistik antarmuka, dan informasi soket pada sistem Linux, macOS, dan Windows. Netstat telah menjadi pilihan tradisional selama beberapa dekade, tetapi ss (statistik soket) adalah pengganti modern pada sistem Linux—lebih cepat, lebih mudah dibaca, dan menampilkan informasi detail tentang status soket. Memahami alat-alat ini sangat penting bagi administrator jaringan untuk mendiagnosis masalah konektivitas, mengidentifikasi aplikasi mana yang menggunakan sumber daya jaringan, memantau aktivitas port, dan melacak koneksi yang tidak terduga dan layanan yang mendengarkan.

Panduan referensi ini mengatur perintah netstat dan ss yang paling berguna menurut tugas: memeriksa port mana yang mendengarkan, melihat koneksi aktif, menemukan ID proses yang terkait dengan aktivitas jaringan, menganalisis lalu lintas berdasarkan protokol, membuat daftar semua soket dalam berbagai keadaan, dan memantau statistik antarmuka jaringan. Setiap perintah dijelaskan dengan tujuannya dan format keluaran tipikal, membuat mudah menemukan sintaks persis yang Anda butuhkan tanpa harus mengingat puluhan flag. Format yang dapat dicari memungkinkan Anda memfilter dengan cepat berdasarkan nama perintah, jenis protokol, atau kasus penggunaan—baik Anda mengatasi masalah layanan yang tergantung, mengaudit port terbuka untuk keamanan, atau menyelidiki konsumsi bandwidth.

Administrator sistem, insinyur DevOps, dan profesional keamanan mengandalkan perintah-perintah ini setiap hari untuk memahami perilaku jaringan sistem, mendeteksi konflik port, memverifikasi bahwa layanan mendengarkan dengan benar, dan mengidentifikasi akses jaringan yang tidak sah. Baik Anda baru mengenal alat-alat ini atau memerlukan pengingat cepat tentang sintaks yang benar, referensi ini menghemat waktu dengan memberikan contoh nyata dan praktis yang dapat Anda salin dan sesuaikan segera untuk tugas diagnosis atau pemantauan jaringan spesifik Anda.

Pertanyaan yang Sering Diajukan

Implementasi Kode

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.