15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai
25.12.2024

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.

IstilahDeskripsi
Port TerbukaPort tempat aplikasi secara aktif mendengarkan koneksi masuk
Port MendengarkanPort 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-tools

CentOS / RHEL / AlmaLinux / Rocky Linux:

sudo yum install net-tools

Menggunakan netstat untuk Memeriksa Port Terbuka dan Mendengarkan

Untuk menampilkan semua port TCP dan UDP yang mendengarkan di sistem Anda, jalankan perintah berikut:

sudo netstat -tuln

Rincian flag:

FlagDeskripsi
-tTampilkan port TCP
-uTampilkan port UDP
-lTampilkan hanya port yang mendengarkan
-nTampilkan 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.0 berarti 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. LISTEN menunjukkan 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 -tulnp

Memeriksa 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 -tuln

Rincian flag:

FlagDeskripsi
-tTampilkan soket TCP
-uTampilkan soket UDP
-lTampilkan hanya soket yang mendengarkan
-nTampilkan 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 -tl

Tampilkan Hanya Port UDP yang Mendengarkan

ss -ul

Tampilkan Nama Proses dan PID

Untuk mengidentifikasi dengan tepat proses mana yang menggunakan port tertentu, gunakan flag -p:

ss -tulnp

Ini 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 established

Tampilkan Statistik Ringkasan

ss -s

Ini 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`
KinerjaLebih lambat pada sistem sibukJauh lebih cepat
Ketersediaan defaultMemerlukan paket net-toolsPra-instal pada distro modern
Opsi penyaringanDasar (grep diperlukan)Filter bawaan lanjutan
Informasi prosesTersedia dengan -pTersedia dengan -p
Detail outputStandarInformasi soket lebih detail
Direkomendasikan untukSistem warisan, keakrabanLingkungan Linux modern

Kapan Menggunakan netstat

  • Pada sistem Linux yang lebih lama di mana ss tidak tersedia
  • Saat bekerja dengan skrip atau dokumentasi yang ditulis di sekitar sintaks netstat
  • Untuk pemeriksaan cepat pada sistem di mana net-tools sudah 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 :80

Untuk memeriksa semua port mendengarkan:

sudo lsof -i -P -n | grep LISTEN

Contoh 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/RHEL

Pindai semua port TCP pada mesin lokal:

sudo nmap -sT localhost

Pindai port terbuka pada alamat IP tertentu:

sudo nmap -sV 192.168.1.100

Flag -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

15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai