Memeriksa Port Terbuka dan Mendengarkan di Linux Menggunakan Netstat dan SS
Memantau port terbuka dan mendengarkan pada sistem Linux adalah salah satu praktik paling fundamental untuk mempertahankan keamanan server, mendiagnosis masalah jaringan, dan mengelola infrastruktur Anda secara efektif. Baik Anda menjalankan server web produksi, lingkungan VPS Hosting, atau Dedicated Server, memahami dengan tepat port mana yang terbuka — dan layanan mana yang terikat padanya — memberikan visibilitas yang Anda butuhkan untuk mencegah akses tidak sah, mendeteksi kesalahan konfigurasi, dan menghilangkan permukaan serangan yang tidak perlu.
Dalam panduan komprehensif ini, kami akan memandu Anda tentang cara menggunakan perintah netstat dan ss untuk memeriksa port terbuka dan mendengarkan pada sistem Linux apa pun, membandingkan kekuatan mereka, dan memperkenalkan alat tambahan seperti lsof dan nmap untuk analisis jaringan yang lebih mendalam.
Mengapa Memantau Port Terbuka Penting
Setiap port terbuka di server Anda mewakili titik masuk potensial. Layanan yang salah konfigurasi, ketinggalan zaman, atau sekadar terlupakan dapat mengekspos sistem Anda terhadap eksploitasi. Audit rutin port mendengarkan Anda memungkinkan Anda untuk:
- Mengidentifikasi layanan tidak sah yang berjalan di port yang tidak terduga
- Mendeteksi upaya intrusi atau proses yang dikompromikan
- Memverifikasi aturan firewall berfungsi sebagaimana dimaksud
- Mengkonfirmasi bahwa aplikasi yang baru diterapkan mengikat ke antarmuka yang benar
- Menutup port yang tidak digunakan untuk mengurangi permukaan serangan Anda
Ini sangat penting bagi administrator yang mengelola lingkungan Shared Web Hosting atau server multi-tenant di mana beberapa layanan berjalan secara bersamaan.
Memahami Port dan Jenisnya
Sebelum menyelami alat-alat, penting untuk memahami terminologi yang akan Anda temui dalam output perintah.
| Istilah | Deskripsi |
|---|---|
| Port Terbuka | Port tempat aplikasi secara aktif mendengarkan koneksi masuk |
| Port Mendengarkan | Port yang terikat pada layanan yang menunggu lalu lintas jaringan |
| TCP (Transmission Control Protocol) | Berorientasi koneksi, andal, digunakan oleh HTTP, SSH, FTP, dll. |
| UDP (User Datagram Protocol) | Tanpa koneksi, lebih cepat tetapi kurang andal, digunakan oleh DNS, NTP, dll. |
Memeriksa Port dengan netstat
Apa itu netstat?
netstat (statistik jaringan) adalah utilitas baris perintah klasik yang menyediakan informasi terperinci tentang koneksi jaringan, tabel perutean, statistik antarmuka, dan port mendengarkan. Meskipun secara resmi sudah tidak digunakan lagi mendukung ss pada distribusi modern, tetap banyak digunakan dan masih ditemukan pada banyak sistem warisan.
Menginstal netstat
Perintah netstat adalah bagian dari paket net-tools, yang mungkin tidak diinstal secara default pada distribusi Linux modern.
Debian / Ubuntu:
sudo apt install net-toolsCentOS / RHEL / AlmaLinux / Rocky Linux:
sudo yum install net-toolsMenggunakan netstat untuk Memeriksa Port Terbuka dan Mendengarkan
Untuk menampilkan semua port TCP dan UDP yang mendengarkan di sistem Anda, jalankan perintah berikut:
sudo netstat -tulnRincian flag:
| Flag | Deskripsi |
|---|---|
-t | Tampilkan port TCP |
-u | Tampilkan port UDP |
-l | Tampilkan hanya port yang mendengarkan |
-n | Tampilkan alamat numerik alih-alih menyelesaikan nama host |
Contoh Output
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:*Memahami Kolom Output
- Alamat Lokal — Alamat IP dan nomor port tempat layanan mendengarkan.
0.0.0.0berarti layanan mendengarkan di semua antarmuka yang tersedia. - Alamat Asing — IP jarak jauh dan port untuk koneksi aktif. Tanda bintang (
*) berarti tidak ada koneksi yang terbentuk. - Status — Status koneksi.
LISTENmenunjukkan port terbuka dan menunggu koneksi masuk.
Memfilter Port Spesifik dengan netstat
Anda dapat menyalurkan output melalui grep untuk mengisolasi port atau layanan tertentu. Misalnya, untuk memeriksa apakah ada yang mendengarkan di port 80 (HTTP):
sudo netstat -tuln | grep ":80"Untuk memeriksa port 443 (HTTPS), yang penting untuk server dengan SSL Certificates yang dipasang:
sudo netstat -tuln | grep ":443"Untuk juga menampilkan nama proses dan PID yang bertanggung jawab untuk setiap koneksi, tambahkan flag -p:
sudo netstat -tulnpMemeriksa Port dengan ss
Apa itu ss?
ss (statistik soket) adalah pengganti modern untuk netstat. Ini lebih cepat, lebih efisien, dan menyediakan output yang lebih kaya — terutama pada sistem dengan jumlah koneksi bersamaan yang tinggi. Perintah ss disertakan secara default pada hampir semua distribusi Linux modern dan tidak memerlukan instalasi tambahan.
Menggunakan ss untuk Memeriksa Port Terbuka dan Mendengarkan
Sintaks ss sangat mirip dengan netstat, membuat transisi menjadi mudah:
ss -tulnRincian flag:
| Flag | Deskripsi |
|---|---|
-t | Tampilkan soket TCP |
-u | Tampilkan soket UDP |
-l | Tampilkan hanya soket yang mendengarkan |
-n | Tampilkan alamat numerik |
Contoh Output
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:*Penggunaan Lanjutan ss
Perintah ss menawarkan berbagai opsi penyaringan dan tampilan lanjutan yang jauh melampaui apa yang dapat disediakan netstat.
Tampilkan Hanya Port TCP yang Mendengarkan
ss -tlTampilkan Hanya Port UDP yang Mendengarkan
ss -ulTampilkan Nama Proses dan PID
Untuk mengidentifikasi dengan tepat proses mana yang menggunakan port tertentu, gunakan flag -p:
ss -tulnpIni adalah salah satu perintah paling berguna untuk pemecahan masalah — menampilkan nama proses dan PID bersama setiap soket mendengarkan, membuat segera jelas aplikasi mana yang memiliki port mana.
Contoh Output dengan Flag -p
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))Saring berdasarkan Port Spesifik
Untuk memeriksa proses mana yang mendengarkan di port 8080:
ss -tulnp | grep ":8080"Tampilkan Semua Koneksi TCP yang Terbentuk
ss -tn state establishedTampilkan Statistik Ringkasan
ss -sIni menyediakan ringkasan cepat dari total soket berdasarkan tipe dan status — berguna untuk mendeteksi volume koneksi yang tidak biasa.
netstat vs. ss: Perbandingan Langsung
| Fitur | `netstat` | `ss` |
|---|---|---|
| Kinerja | Lebih lambat pada sistem sibuk | Jauh lebih cepat |
| Ketersediaan default | Memerlukan paket net-tools | Pra-instal pada distro modern |
| Opsi penyaringan | Dasar (grep diperlukan) | Filter bawaan lanjutan |
| Informasi proses | Tersedia dengan -p | Tersedia dengan -p |
| Detail output | Standar | Informasi soket lebih detail |
| Direkomendasikan untuk | Sistem warisan, keakraban | Lingkungan Linux modern |
Kapan Menggunakan netstat
- Pada sistem Linux yang lebih lama di mana
sstidak tersedia - Saat bekerja dengan skrip atau dokumentasi yang ditulis di sekitar sintaks
netstat - Untuk pemeriksaan cepat pada sistem di mana
net-toolssudah diinstal
Kapan Menggunakan ss
- Pada distribusi Linux modern apa pun (Ubuntu 20.04+, CentOS 8+, Debian 10+, dll.)
- Ketika Anda membutuhkan output lebih cepat pada server lalu lintas tinggi
- Untuk penyaringan lanjutan dan analisis soket terperinci
Alat Tambahan untuk Audit Port
Selain netstat dan ss, beberapa utilitas lain berharga untuk audit port yang menyeluruh.
Menggunakan lsof
lsof (daftar file terbuka) memperlakukan soket jaringan sebagai file, menjadikannya cara lain yang ampuh untuk mengidentifikasi proses mana yang menggunakan port tertentu.
Untuk memeriksa proses mana yang terikat pada port 80:
sudo lsof -i :80Untuk memeriksa semua port mendengarkan:
sudo lsof -i -P -n | grep LISTENContoh output:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1234 root 6u IPv4 23456 0t0 TCP *:80 (LISTEN)
sshd 987 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)Menggunakan nmap
nmap adalah alat pemindaian jaringan yang ampuh yang dapat mendeteksi port terbuka baik secara lokal maupun di host jarak jauh. Ini sangat berguna untuk memverifikasi konfigurasi firewall Anda dari perspektif eksternal.
Instal nmap jika belum ada:
sudo apt install nmap # Debian/Ubuntu
sudo yum install nmap # CentOS/RHELPindai semua port TCP pada mesin lokal:
sudo nmap -sT localhostPindai port terbuka pada alamat IP tertentu:
sudo nmap -sV 192.168.1.100Flag -sV juga mencoba mendeteksi versi layanan yang berjalan di setiap port terbuka, yang sangat berharga untuk mengidentifikasi perangkat lunak yang ketinggalan zaman atau rentan.
> Catatan Keamanan: Hanya jalankan pemindaian nmap terhadap sistem yang
