Mengetahui cara melihat port yang terbuka di Linux adalah skill dasar yang wajib dikuasai oleh siapa saja yang mengelola server, mendiagnosis masalah jaringan, atau memperkuat keamanan sistem. Port yang terbuka ibarat pintu masuk ke sistem kamu - dan kalau kamu tidak tahu pintu mana saja yang terbuka, kamu tidak bisa mengamankannya dengan benar. Baik kamu menjalankan web server di Ubuntu, mengelola VPS, maupun mencari tahu penyebab masalah konektivitas, melihat daftar port yang aktif akan memberikan gambaran jelas tentang apa yang sedang diekspos sistemmu ke jaringan. Panduan ini membahas empat metode praktis, cara memfilter hasilnya, dan cara menutup port yang tidak diperlukan.
Poin Utama:
- Perintah
ssadalah cara tercepat dan paling modern untuk melihat daftar port yang terbuka di Linux. nmapmemungkinkan kamu memindai port dari perspektif eksternal, sehingga kamu bisa melihat apa yang sebenarnya terlihat oleh penyerang.- Gunakan
lsofuntuk langsung mengidentifikasi proses mana yang menggunakan port tertentu. - Menutup port yang tidak diperlukan menggunakan
ufwatauiptablesadalah cara paling langsung untuk memperkecil attack surface.
Daftar Isi
- Mengapa Memeriksa Port Terbuka di Linux Itu Penting
- Metode 1: Perintah ss (Modern, Direkomendasikan)
- Metode 2: Perintah netstat (Lama tapi Masih Umum Dipakai)
- Metode 3: Port Scan dengan nmap (Perspektif Eksternal)
- Metode 4: Perintah lsof (Pemetaan Proses ke Port)
- Cara Memfilter Hasil Berdasarkan Port, TCP, atau UDP
- Cara Menutup atau Memblokir Port dengan ufw atau iptables
- Kesimpulan
- FAQ - Pertanyaan Umum
Mengapa Memeriksa Port Terbuka di Linux Itu Penting
Setiap layanan yang berjalan di mesin Linux kamu akan mendengarkan pada satu atau beberapa port. SSH mendengarkan di port 22, HTTP di port 80, HTTPS di port 443. Namun setelah berbulan-bulan menginstal dan menghapus software, server sering kali berakhir dengan port yang terbuka tanpa ada yang sengaja mengonfigurasinya. Sebuah daemon database yang terlupakan dan mendengarkan di port 5432 tanpa aturan firewall adalah risiko nyata yang sudah terbukti menyebabkan kebocoran data.
Memeriksa port yang terbuka di Linux membantu kamu untuk:
- Mengaudit layanan apa saja yang sebenarnya berjalan dan terekspos.
- Mendiagnosis mengapa sebuah aplikasi tidak bisa terhubung ke layanan lain.
- Memverifikasi bahwa aturan firewall berjalan sesuai harapan.
- Mempersiapkan diri untuk audit keamanan atau penetration test.
Metode-metode di bawah ini mencakup inspeksi lokal (apa yang dilaporkan oleh mesin itu sendiri) maupun pemindaian eksternal (apa yang bisa dilihat oleh host jarak jauh). Kedua perspektif ini sama-sama penting.
Metode 1: Perintah ss (Modern, Direkomendasikan)
Perintah ss (socket statistics) menggantikan netstat pada sebagian besar distribusi Linux modern. Perintah ini lebih cepat, lebih detail, dan sudah termasuk dalam paket iproute2 yang tersedia secara default di Ubuntu, Debian, CentOS, dan Fedora.
Untuk melihat semua port yang terbuka beserta nama prosesnya, jalankan:
sudo ss -tulnpPenjelasan flag:
-t- tampilkan socket TCP-u- tampilkan socket UDP-l- tampilkan hanya socket yang sedang listening-n- tampilkan nomor port secara numerik, bukan nama layanan-p- tampilkan proses yang menggunakan setiap socket
Contoh nyata: Pada server Ubuntu baru yang menjalankan Nginx dan PostgreSQL, outputnya mungkin terlihat seperti ini:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=1234,fd=6))
tcp LISTEN 0 128 127.0.0.1:5432 0.0.0.0:* users:(("postgres",pid=5678,fd=5))
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=910,fd=3))Perhatikan bahwa PostgreSQL hanya terikat ke 127.0.0.1, yang berarti tidak bisa diakses dari luar. SSH dan Nginx terikat ke 0.0.0.0, artinya keduanya menerima koneksi dari IP mana pun. Satu output ini sudah memberikan banyak informasi tentang eksposur sistem kamu.
Untuk referensi lengkap semua opsi ss, lihat halaman man resmi ss.
Metode 2: Perintah netstat (Lama tapi Masih Umum Dipakai)
Perintah netstat merupakan bagian dari paket net-tools yang lebih lama. Perintah ini tidak lagi diinstal secara default di banyak distribusi, tetapi masih banyak digunakan dan tetap perlu diketahui - terutama saat bekerja pada sistem yang lebih lama.
Instal jika diperlukan:
sudo apt install net-tools # Debian/Ubuntu
sudo yum install net-tools # CentOS/RHELUntuk melihat daftar port yang terbuka di Linux menggunakan netstat:
sudo netstat -tulnpFlag-nya memiliki arti yang sama persis dengan ss. Format outputnya sedikit berbeda, tetapi memberikan informasi inti yang sama: protokol, alamat lokal, port, dan proses yang memilikinya.
Satu keterbatasan praktis: pada server yang sangat sibuk dengan ribuan koneksi, netstat bisa terasa jauh lebih lambat dibanding ss. Untuk penggunaan sehari-hari di server biasa, perbedaannya tidak terlalu terasa.
Metode 3: Port Scan dengan nmap (Perspektif Eksternal)
Alat-alat di atas menunjukkan apa yang dilaporkan mesin kamu secara internal. nmap mengambil pendekatan berbeda - ia memindai port melalui jaringan, mensimulasikan apa yang akan dilihat oleh penyerang eksternal atau klien jarak jauh. Ini sangat penting karena firewall mungkin memblokir sebuah port yang masih ditampilkan sebagai listening oleh ss.
Instal nmap:
sudo apt install nmap # Debian/Ubuntu
sudo yum install nmap # CentOS/RHELPindai server dari mesin lain di jaringan yang sama:
nmap -sT -p 1-1024 192.168.1.10Untuk memindai 1000 port paling umum beserta deteksi versi layanan:
nmap -sV 192.168.1.10Flag -sV mencoba mendeteksi versi software yang berjalan pada setiap port yang terbuka. Ini berguna untuk mengidentifikasi layanan yang sudah usang dan perlu diperbarui.
Penting: Jalankan nmap hanya pada server yang kamu miliki atau yang sudah kamu dapatkan izin eksplisit untuk dipindai. Memindai sistem milik pihak ketiga tanpa otorisasi bisa melanggar hukum di wilayah hukum kamu.
Jika kamu perlu memeriksa apakah port tertentu bisa diakses dari luar jaringan tanpa menginstal nmap, alat Port Checker gratis kami bisa melakukannya secara instan - tanpa instalasi, tanpa konfigurasi.
Metode 4: Perintah lsof (Pemetaan Proses ke Port)
Perintah lsof (list open files) memperlakukan socket jaringan sebagai file, yang sesuai dengan filosofi Linux "segalanya adalah file". Perintah ini sangat berguna ketika kamu perlu menjawab pertanyaan: "Proses mana yang menggunakan port 8080?"
Tampilkan semua koneksi jaringan:
sudo lsof -iCari proses yang menggunakan port tertentu (misalnya, port 3000):
sudo lsof -i :3000Ini sangat praktis ketika aplikasi Node.js milik developer memblokir sebuah port dan kamu perlu mengidentifikasi serta menghentikan prosesnya sebelum me-restart layanan.
Cara Memfilter Hasil Berdasarkan Port, TCP, atau UDP
Output mentah dari semua alat ini bisa sangat banyak. Berikut pola filtering yang paling sering digunakan:
Tampilkan hanya port TCP yang sedang listening (ss):
sudo ss -tlnpTampilkan hanya port UDP (ss):
sudo ss -ulnpPeriksa apakah port tertentu terbuka (grep dengan ss):
sudo ss -tulnp | grep :443Filter berdasarkan port dengan nmap:
nmap -p 80,443,8080 192.168.1.10Pola-pola ini mencakup sebagian besar kebutuhan filtering sehari-hari. Untuk troubleshooting khusus HTTP di port 80, lihat Panduan Troubleshooting HTTP Port 80 kami.
Jika kamu menggunakan Windows dan membutuhkan panduan serupa, lihat Panduan Lengkap Memeriksa Port Terbuka di Windows 2026 kami.
Cara Menutup atau Memblokir Port dengan ufw atau iptables
Menemukan port terbuka yang tidak kamu butuhkan baru setengah pekerjaan. Berikut cara menutupnya menggunakan dua alat firewall Linux yang paling umum.
Menggunakan ufw (Uncomplicated Firewall) - Direkomendasikan untuk Ubuntu
Blokir traffic masuk di port 8080:
sudo ufw deny 8080/tcpIzinkan hanya SSH dan HTTPS, tolak semua yang lain:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw allow 443/tcp
sudo ufw enablePeriksa status firewall saat ini:
sudo ufw status verboseMenggunakan iptables - Untuk Kontrol Lebih Lanjut
Tolak semua traffic masuk di port 3306 (MySQL):
sudo iptables -A INPUT -p tcp --dport 3306 -j DROPSimpan aturan agar tetap berlaku setelah reboot:
sudo iptables-save | sudo tee /etc/iptables/rules.v4Untuk referensi lebih mendalam tentang sintaks dan urutan aturan iptables, dokumentasi resmi Netfilter adalah sumber yang paling otoritatif.
Tips: Memblokir port dengan ufw atau iptables tidak menghentikan layanan yang berjalan - ini hanya mencegah koneksi eksternal mencapainya. Jika kamu ingin menghentikan layanan sepenuhnya, gunakan sudo systemctl stop servicename dan sudo systemctl disable servicename.
Kesimpulan
Memeriksa port yang terbuka di Linux tidak memerlukan alat yang rumit atau keahlian mendalam. Perintah ss memberikan tampilan lokal yang cepat dan andal. nmap menunjukkan apa yang bisa dijangkau dari luar. lsof menentukan proses mana yang memiliki sebuah port. Dan ufw atau iptables memungkinkan kamu menutup apa pun yang seharusnya tidak terekspos. Menjalankan pemeriksaan ini secara rutin - terutama setelah menginstal software baru atau mengubah konfigurasi jaringan - adalah salah satu kebiasaan paling sederhana yang bisa kamu bangun untuk menjaga keamanan server Linux kamu. Mulai sekarang dengan sudo ss -tulnp dan lihat apa yang sebenarnya sedang diekspos oleh servermu.
Periksa Port Mana Saja di Server Linux Kamu - Seketika
Tidak yakin apakah sebuah port benar-benar bisa diakses dari luar? Alat Port Checker gratis kami memindai server kamu dari perspektif eksternal dalam hitungan detik - tanpa instalasi, tanpa konfigurasi.
Coba Alat Port Checker Gratis Kami →
FAQ - Pertanyaan Umum
Jalankan sudo ss -tulnp di terminal kamu. Perintah ini menggunakan ss yang modern untuk menampilkan semua port TCP dan UDP yang sedang listening beserta nama prosesnya. Perintah ini lebih cepat dari netstat dan tersedia secara default di sebagian besar distribusi Linux saat ini, termasuk Ubuntu dan Debian.
Kedua perintah menampilkan port yang terbuka dan informasi socket, tetapi ss adalah pengganti modern untuk netstat. Perintah ini membaca data langsung dari kernel, sehingga lebih cepat dan lebih akurat pada sistem yang sibuk. netstat memerlukan paket net-tools yang terpisah, yang tidak lagi diinstal secara default di banyak distribusi.
Gunakan nmap -p PORT TARGET_IP dari mesin lain di jaringan. Untuk pemeriksaan eksternal cepat tanpa menginstal apa pun, gunakan alat port checker berbasis web. Pendekatan ini menguji apakah port bisa dijangkau dari luar, dengan mempertimbangkan aturan firewall yang tidak bisa tercermin oleh alat lokal seperti ss.
Gunakan sudo lsof -i :PORT atau sudo ss -tulnp | grep :PORT. Kedua perintah menampilkan nama proses dan PID yang terkait dengan port tersebut. Metode lsof sangat jelas karena menampilkan perintah, PID, dan pengguna dalam format yang mudah dibaca.
Tidak. Memblokir port dengan ufw atau iptables mencegah koneksi eksternal mencapai layanan, tetapi layanannya sendiri tetap berjalan. Untuk menghentikannya sepenuhnya, gunakan sudo systemctl stop servicename. Agar tidak aktif secara permanen, jalankan juga sudo systemctl disable servicename untuk mencegahnya berjalan saat reboot.