Pakailah ss — itulah standar terkini di setiap distro Linux modern, dan netstat di sana berstatus legacy. Di Ubuntu, Fedora, dan Debian, biner netstat kini hanya tersedia lewat paket opsional net-tools, sementara ss sudah menjadi bagian iproute2 yang terpasang di mana-mana. ss juga lebih cepat di server sibuk karena membaca statistik socket langsung dari kernel, bukan menelusuri _/proc_ file demi file. Kendalanya ada pada sintaks: -tulpn tidak bermakna sama di semua tempat, maka panduan ini memberi Anda pemetaan flag yang eksak, perintah-perintah yang layak dihafal, dan jawaban atas pertanyaan-pertanyaan yang muncul saat Anda sedang di tengah insiden pukul 2 pagi.
Apakah netstat deprecated?
Di Linux, secara efektif ya. Paket net-tools — yang memuat netstat, ifconfig, dan route — sudah bertahun-tahun tidak mengikuti fitur kernel modern dan tidak lagi terpasang bawaan di distribusi besar mana pun. Ia masih ada, masih jalan, dan tidak ada yang perlu di-uninstall, tetapi fitur baru hanya mendarat di iproute2 (paket di balik ss dan ip).
Tiga konsekuensi praktis:
- Tidak ada di instalasi baru. Server Ubuntu 24.04 atau Fedora bawaan tidak punya
netstatsampai Anda memasangnet-toolsmanual. Inilah alasan begitu banyak orang mencari padanannetstat— biner itu memang sudah tidak ada. - Tanpa info socket modern.
netstatmendahului fitur seperti TCP fast open, statistik socket level subflow, dan atribusi socket per cgroup.ssmelaporkannya secara native. - Pengecualian Windows. Di Windows,
netstatsehat-sehat saja —netstat -anomasih menjadi cara baku memetakan PID ke port yang listening di sana. Yang deprecated hanya ceritanya di Linux.
Apa itu perintah ss di Linux?
ss adalah singkatan dari “socket statistics”. Ia membuang pandangan kernel atas setiap socket TCP, UDP, dan Unix: state, alamat, port, proses, timer, dan kedalaman antrean. Bentuk kerjanya yang paling sering:
# Semua yang listening, beserta proses pemiliknya
sudo ss -tulpn Flag demi flag, perintah itu berarti: TCP (-t), UDP (-u), hanya socket yang listening (-l), tampilkan proses (-p), keluaran numerik — tanpa lookup DNS (-n). sudo penting untuk -p: tanpa root Anda melihat portnya tetapi tidak mendapat nama proses untuk socket yang bukan milik Anda.
Dua one-liner lagi yang menutup sebagian besar pekerjaan:
# Semua koneksi established ke/dari port 443, dengan prosesnya
sudo ss -tnp 'sport = :443 or dport = :443'
# Tabel ringkasan: berapa socket di tiap state
ss -s Sintaks filter itu adalah peningkatan sungguhan dibanding pendekatan netstat yang grep-dan-berdoa — filternya berjalan di dalam kernel, jadi eksak, bukan sekadar pencocokan teks.
Bagaimana cara mengecek proses mana yang memakai sebuah port?
Inilah alasan paling umum untuk mengambil salah satu dari kedua alat ini. Dengan ss:
sudo ss -ltnp 'sport = :8080' Contoh keluaran pada mesin yang menjalankan dev server:
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 511 *:8080 *:* users:(("node",pid=214113,fd=18)) Field users:(...) memberi Anda nama proses dan PID secara langsung — tanpa perintah kedua. Jika port sibuk tetapi tidak ada proses yang tampil, biasanya Anda sedang melihat socket yang dipegang network namespace lain (sebuah kontainer). Dari host, jalankan sudo ss -ltnp dan cari port dengan kolom proses kosong, lalu cocokkan dengan docker ps atau nsenter ke namespace kontainernya.
Lebih suka alat khusus? sudo lsof -i :8080 -sTCP:LISTEN melakukan pekerjaan yang sama dan berperilaku identik di macOS dan kebanyakan BSD — alasan ia masih bertahan di runbook. Di Linux, bagaimanapun, ss sudah ada di sana.
Apa perbedaan antara ss dan netstat?
Pekerjaan sama, instalasi beda: netstat mengais _/proc/net/tcp_ dari userspace, sementara ss memakai netlink untuk bertanya langsung ke kernel — itulah kenapa ss selesai dalam milidetik di server dengan 50 ribu socket terbuka, dan netstat tidak. Sehari-hari, bedanya ada di flag. Inilah pemetaan yang layak ditempel di monitor Anda:
| Kebutuhan | netstat | ss |
|---|---|---|
| Port TCP yang listening + proses | netstat -tlpn | ss -tlpn |
| Semua koneksi TCP + UDP | netstat -tulpna | ss -tulpna |
| Tabel routing | netstat -r | ip route |
| Statistik antarmuka | netstat -i | ip -s link |
| Ringkasan socket dari kernel | — | ss -s |
| Filter per port di dalam kernel | — | ss -tnp 'sport = :22' |
Perhatikan dua baris pertama identik: kebetulan, flag pendek ss segaris dengan milik netstat untuk kasus-kasus umum, sehingga memori otot kebanyakan selamat saat berpindah. Baris-baris bawahlah tempat netstat tidak punya jawaban — pekerjaan routing dan antarmuka pindah ke perintah ip, dan baris ringkasan/filter hanya ada di ss.
Kapan netstat masih layak dipakai?
Dua kasus yang jujur. Pertama, portabilitas: di armada campuran mesin Linux, AIX, atau BSD lama, netstat adalah satu-satunya sintaks yang hadir di mana-mana. Kedua, kesinambungan memori otot di runbook lama — jika sebuah runbook menulis netstat -tlpn dan mesinnya punya net-tools terpasang, perintah itu tetap berfungsi baik.
Selebihnya, jadikan ss pilihan bawaan dan perbarui runbook-nya. Pendamping yang berguna saat Anda menulis ulang runbook itu di sebuah server adalah cheat sheet journalctl, yang pas dipasangkan dengan pengecekan port ketika mendiagnosis layanan yang menolak hidup: /en/blog/2026-09-02/journalctl-cheat-sheet.
Kenapa perintah ss tidak ditemukan?
Karena Anda berada di distro yang sangat tua (era sebelum 2007, sebelum iproute2 jadi bawaan) atau — jauh lebih mungkin — Anda tidak sedang di Linux. ss bukan perintah macOS; macOS membawa lsof dan netstat tetapi tanpa ss. Sama halnya dengan BSD, kebanyakan. Di Windows, pakai netstat -ano atau Get-NetTCPConnection milik PowerShell.
Jika Anda memang di Linux dan ss hilang, pasang iproute2:
sudo apt install iproute2 # Debian/Ubuntu
sudo dnf install iproute2 # Fedora/RHEL Jawaban 30 detik
ss di atas netstat di Linux, setiap saat: sudah terpasang bawaan, lebih cepat, dan bisa menyaring di dalam kernel. netstat -tlpn menjadi ss -tlpn, pemburuan proses menjadi sudo ss -ltnp 'sport = :PORT', dan tabel routing kini milik ip route. Simpan netstat untuk skrip lintas platform dan memori otot lama; simpan halaman ini untuk pemetaan flag-nya.
— mrsaynothing
Get the next one by email
One email per post. No spam, no algorithms.
what is this?LLM Lokal Terbaik untuk Coding: Pilihan VRAM 8GB–24GB
Suka tulisannya? Saya membangun seperti ini untuk hidup. pekerjakan saya