watch + ss — Cara Monitor Port dan Koneksi Jaringan Linux Secara Real-Time
Dalam administrasi server Linux, mengetahui port apa saja yang sedang aktif bukan hanya berguna ketika melakukan konfigurasi awal. Saat server sudah berjalan, kondisi koneksi dapat berubah setiap saat. Service baru bisa aktif, koneksi client dapat bertambah, port tertentu bisa berhenti listening, atau aplikasi yang tidak dikenal tiba-tiba membuka koneksi.
Pada kondisi seperti ini, menjalankan perintah ss sekali saja sering kali belum cukup.
Sysadmin membutuhkan cara untuk melihat perubahan kondisi jaringan secara berkala tanpa harus mengetik ulang perintah setiap beberapa detik. Salah satu kombinasi sederhana yang sangat berguna adalah watch + ss.
Perintah watch dapat menjalankan sebuah command secara berulang dalam interval tertentu, sedangkan ss digunakan untuk menampilkan informasi socket dan koneksi jaringan Linux.
Dengan menggabungkan keduanya, kita dapat membuat terminal menjadi semacam monitor jaringan sederhana.
Contohnya:
watch ss -tuln
Perintah tersebut akan menjalankan ss -tuln secara berkala sehingga perubahan port listening dapat diamati secara langsung.
Teknik ini sederhana, ringan, dan tidak membutuhkan instalasi monitoring server tambahan.
Apa Itu ss?
ss merupakan utility Linux untuk menampilkan informasi mengenai socket jaringan.
Tool ini merupakan pengganti modern dari netstat pada banyak distribusi Linux.
Dengan ss, administrator dapat melihat berbagai informasi seperti:
- TCP listening port
- UDP listening port
- koneksi TCP aktif
- alamat lokal dan remote
- status koneksi
- PID dan nama proses tertentu
- socket Unix
- informasi statistik socket
Contoh dasar:
ss
Untuk melihat TCP dan UDP listening:
ss -tuln
Penjelasan opsi:
-t TCP
-u UDP
-l Listening
-n Numeric
Sehingga:
ss -tuln
berarti menampilkan socket TCP/UDP yang sedang listening tanpa melakukan resolusi nama host atau service.
Contoh output:
Netid State Local Address:Port
tcp LISTEN 0.0.0.0:22
tcp LISTEN 0.0.0.0:80
tcp LISTEN 0.0.0.0:443
udp UNCONN 0.0.0.0:53
Dari output tersebut administrator dapat mengetahui service jaringan yang sedang membuka port.
Apa Itu watch?
watch adalah utility Linux yang digunakan untuk menjalankan command secara berulang.
Format dasarnya:
watch [options] command
Contoh:
watch date
Secara default, command akan dijalankan setiap dua detik.
Interval tersebut dapat diubah menggunakan:
watch -n 1 date
Artinya command dijalankan setiap satu detik.
Misalnya:
watch -n 5 uptime
akan menampilkan uptime server yang diperbarui setiap lima detik.
Konsep ini sangat berguna untuk monitoring sederhana.
Daripada melakukan:
ss
tunggu
ss
tunggu
ss
tunggu
kita cukup menggunakan:
watch ss
Terminal akan memperbarui output secara otomatis.
Mengapa watch + ss Berguna untuk Sysadmin?
Bayangkan server sebagai sebuah gedung dengan banyak pintu.
Port jaringan dapat dianalogikan sebagai pintu tersebut.
ss membantu kita mengetahui pintu mana yang terbuka, sedangkan watch memungkinkan kita terus mengamati perubahan kondisi pintu tersebut.
Kombinasi keduanya berguna ketika:
- melakukan troubleshooting service;
- menguji konfigurasi firewall;
- memeriksa service yang baru dijalankan;
- memantau koneksi client;
- menguji aplikasi web;
- melakukan debugging jaringan;
- memeriksa perubahan port setelah restart service;
- mengamati koneksi TCP;
- melakukan validasi konfigurasi server.
Untuk troubleshooting cepat, teknik sederhana seperti ini sering lebih praktis daripada langsung memasang sistem monitoring lengkap.
Monitor Port Listening Secara Real-Time
Perintah paling sederhana:
watch ss -tuln
Output akan diperbarui secara berkala.
Misalnya awalnya:
tcp LISTEN 0 128 0.0.0.0:22
tcp LISTEN 0 128 0.0.0.0:80
Kemudian administrator menjalankan Nginx HTTPS.
Beberapa saat kemudian muncul:
tcp LISTEN 0 128 0.0.0.0:22
tcp LISTEN 0 128 0.0.0.0:80
tcp LISTEN 0 128 0.0.0.0:443
Perubahan tersebut dapat langsung terlihat di terminal.
Membuat Monitoring Lebih Cepat
Default interval watch biasanya cukup untuk pemeriksaan sederhana.
Namun ketika melakukan troubleshooting, kita dapat menggunakan interval satu detik:
watch -n 1 ss -tuln
Untuk monitoring yang lebih santai:
watch -n 5 ss -tuln
atau:
watch -n 10 ss -tuln
Gunakan interval berdasarkan kebutuhan.
Monitoring setiap satu detik tidak selalu diperlukan. Untuk server dengan output yang besar, interval yang terlalu pendek juga membuat terminal terus melakukan refresh tanpa memberikan manfaat tambahan.
Menampilkan Nama Service dan Port
Jika ingin melihat nama service dibanding angka port, kita dapat menghilangkan opsi -n:
watch 'ss -tul'
Namun penggunaan numeric sering lebih cepat dan lebih konsisten:
watch 'ss -tuln'
Untuk troubleshooting server, mengetahui port secara eksplisit biasanya lebih mudah.
Contohnya:
:22
:80
:443
:3306
:5432
:6379
Administrator dapat langsung menghubungkan port tersebut dengan service yang sedang dianalisis.
Monitor Port Tertentu
Tidak selalu diperlukan untuk melihat seluruh port.
Misalnya ingin mencari port 443:
watch "ss -tuln | grep ':443'"
Atau port SSH:
watch "ss -tuln | grep ':22'"
Jika port tersedia, output akan terlihat.
Jika service berhenti dan port ditutup, output grep akan kosong.
Teknik ini sangat berguna ketika menguji apakah sebuah service benar-benar listening.
Monitoring Service Web
Misalnya administrator baru saja menjalankan Nginx.
Jalankan:
systemctl restart nginx
Kemudian:
watch "ss -tuln | grep ':80'"
Jika Nginx berjalan normal, port 80 akan terlihat sebagai listening.
Untuk HTTPS:
watch "ss -tuln | grep ':443'"
Ini merupakan cara cepat untuk memastikan service benar-benar membuka socket yang diharapkan.
Monitor Koneksi TCP Aktif
ss tidak hanya digunakan untuk melihat listening port.
Untuk melihat koneksi TCP:
watch ss -tn
Dengan interval tertentu:
watch -n 1 ss -tn
Output dapat menunjukkan koneksi seperti:
ESTAB 0 0 192.168.1.10:443 192.168.1.20:52314
ESTAB 0 0 192.168.1.10:443 192.168.1.30:53121
Administrator dapat melihat perubahan jumlah koneksi secara langsung.
Monitor Jumlah Koneksi
Untuk mendapatkan gambaran sederhana mengenai jumlah koneksi:
watch -n 1 "ss -tn | wc -l"
Output akan berubah ketika koneksi bertambah atau berkurang.
Contohnya:
25
31
42
38
27
Hal tersebut dapat membantu ketika melakukan pengujian load sederhana atau melihat apakah traffic koneksi sedang meningkat.
Perlu diperhatikan bahwa jumlah baris dapat mencakup header, sehingga angka tersebut sebaiknya dianggap sebagai indikator sederhana, bukan metrik monitoring produksi yang presisi.
Monitor Koneksi ke Port Tertentu
Misalnya server menjalankan aplikasi pada port 8080:
watch -n 1 "ss -tn | grep ':8080'"
Dengan cara ini administrator dapat mengamati client yang terhubung ke aplikasi tersebut.
Teknik yang sama dapat digunakan untuk:
22 SSH
53 DNS
80 HTTP
443 HTTPS
3306 MySQL/MariaDB
5432 PostgreSQL
6379 Redis
8080 Web Application
9090 Monitoring
Port tersebut hanya contoh. Service yang digunakan pada sebuah server dapat berbeda.
Menampilkan Process yang Menggunakan Port
Jika membutuhkan informasi proses, gunakan:
ss -tulpn
Kemudian:
watch -n 1 'ss -tulpn'
Pada sistem yang mengizinkan akses informasi proses, output dapat menunjukkan PID dan nama aplikasi.
Contoh:
tcp LISTEN 0 511 0.0.0.0:80
users:(("nginx",pid=1234,fd=6))
Informasi ini sangat membantu ketika administrator bertanya:
“Port 8080 ini sebenarnya dipakai aplikasi apa?”
Daripada menebak, periksa langsung socket dan prosesnya.
Monitoring Perubahan dengan Highlight
Salah satu fitur menarik watch adalah kemampuan menyoroti perubahan output.
Gunakan:
watch -d ss -tuln
Opsi:
-d
akan menyoroti bagian output yang berubah.
Untuk troubleshooting, fitur ini sangat berguna karena administrator tidak perlu membandingkan seluruh output secara manual.
Contohnya ketika sebuah port baru muncul:
22
80
443
Port yang baru muncul dapat lebih mudah dikenali ketika output diperbarui.
Contoh Kasus: Service Tidak Bisa Diakses
Misalnya sebuah aplikasi web tidak dapat diakses melalui browser.
Langkah pertama:
systemctl status nginx
Kemudian periksa port:
ss -tuln | grep ':80'
Jika tidak ada output, kemungkinan service tidak sedang listening pada port tersebut.
Gunakan:
watch -n 1 "ss -tuln | grep ':80'"
Kemudian restart service:
systemctl restart nginx
Jika port 80 muncul, socket sudah aktif.
Tahap berikutnya dapat dilanjutkan dengan pemeriksaan:
curl http://127.0.0.1
Kemudian periksa firewall:
nft list ruleset
atau jika menggunakan UFW:
ufw status
Dengan demikian troubleshooting dilakukan secara bertahap:
Service
↓
Socket
↓
Port
↓
Firewall
↓
Application
↓
Client
Contoh Kasus: Memantau SSH
Administrator ingin melihat koneksi SSH secara berkala.
Gunakan:
watch -n 1 "ss -tn | grep ':22'"
Ketika client melakukan koneksi SSH, jumlah koneksi dapat berubah.
Untuk mengetahui proses yang terkait:
ss -tnp | grep ':22'
Perintah ini dapat membantu ketika troubleshooting koneksi SSH.
Untuk investigasi keamanan yang lebih lengkap, jangan hanya mengandalkan ss. Periksa juga log autentikasi, firewall, fail2ban jika digunakan, dan sistem monitoring.
Contoh Kasus: Menguji Aplikasi Docker
Misalnya aplikasi Docker dipublikasikan pada:
8080:80
Administrator dapat memantau port host:
watch -n 1 "ss -tuln | grep ':8080'"
Jika container dihentikan:
docker stop nama-container
port host biasanya tidak lagi listening melalui proses yang sebelumnya meneruskannya.
Jalankan kembali:
docker start nama-container
Kemudian amati perubahan menggunakan watch.
Teknik ini berguna ketika melakukan troubleshooting deployment Docker tanpa langsung membuka banyak tool.
Monitoring UDP
Untuk UDP:
watch -n 1 "ss -uln"
Jika ingin melihat TCP dan UDP:
watch -n 1 "ss -tuln"
Perlu diingat bahwa konsep koneksi UDP berbeda dengan TCP karena UDP tidak memiliki mekanisme connection state seperti TCP.
Kombinasi watch + ss untuk Troubleshooting
Beberapa kombinasi yang praktis:
watch ss -tuln
Monitor listening socket.
watch -n 1 ss -tn
Monitor koneksi TCP.
watch -d ss -tuln
Highlight perubahan port.
watch -n 1 'ss -tulpn'
Monitor listening port beserta proses.
watch -n 1 "ss -tn | grep ':443'"
Monitor koneksi HTTPS.
watch -n 1 "ss -tn | wc -l"
Monitor perubahan jumlah koneksi.
Best Practice Menggunakan watch + ss
Gunakan interval yang sesuai.
Untuk troubleshooting real-time:
watch -n 1 ss -tuln
Untuk monitoring ringan:
watch -n 5 ss -tuln
Gunakan -d ketika fokus pada perubahan:
watch -d ss -tuln
Gunakan filter jika output terlalu banyak:
watch "ss -tuln | grep ':443'"
Gunakan -p jika membutuhkan informasi proses:
watch "ss -tulpn"
Dan jangan lupa bahwa watch + ss adalah tool observasi sederhana, bukan pengganti sistem monitoring produksi seperti Prometheus, Grafana, Zabbix, atau solusi observability lainnya.
Kesalahan yang Sering Terjadi
Mengira ss adalah packet capture
ss menampilkan informasi socket dan koneksi, bukan seluruh paket jaringan.
Jika membutuhkan packet capture, gunakan:
tcpdump
Contoh:
tcpdump -i eth0 port 443
Menggunakan interval terlalu pendek
Perintah:
watch -n 0.1 ss -tuln
dapat menyebabkan refresh sangat sering.
Untuk kebanyakan troubleshooting, satu detik sudah cukup.
Tidak menggunakan filter
Pada server dengan banyak service, output:
ss -tulpn
dapat cukup panjang.
Gunakan filter:
ss -tulpn | grep ':443'
Menganggap port listening berarti aplikasi sehat
Port yang listening hanya menunjukkan bahwa socket tersedia.
Belum tentu aplikasi berfungsi dengan benar.
Misalnya port 443 listening, tetapi aplikasi dapat mengalami:
- konfigurasi SSL bermasalah;
- backend error;
- database tidak tersedia;
- reverse proxy gagal;
- application timeout.
Karena itu pemeriksaan harus dilakukan dari beberapa lapisan.
Mengandalkan ss sebagai sistem monitoring permanen
watch cocok untuk troubleshooting interaktif.
Untuk monitoring jangka panjang, gunakan sistem observability yang dapat menyimpan histori dan menyediakan alert.
Tips Profesional untuk Sysadmin
Saat troubleshooting jaringan, gunakan pendekatan berlapis.
Mulai dari:
ip addr
untuk memeriksa interface.
Kemudian:
ip route
untuk routing.
Lanjutkan:
ss -tuln
untuk socket.
Kemudian:
curl
untuk menguji aplikasi.
Jika diperlukan:
tcpdump
untuk melihat paket.
Untuk service:
systemctl status nama-service
Untuk log:
journalctl -u nama-service
Dengan pendekatan tersebut, watch + ss menjadi salah satu bagian dari workflow troubleshooting yang lebih besar.
Tutorial Step-by-Step
Langkah 1 — Pastikan ss tersedia
Jalankan:
ss --version
Pada sebagian besar sistem Linux modern, ss tersedia melalui paket iproute2.
Langkah 2 — Lihat port listening
ss -tuln
Catat port yang sedang aktif.
Langkah 3 — Jalankan monitoring
watch ss -tuln
Terminal sekarang akan melakukan refresh otomatis.
Langkah 4 — Gunakan interval satu detik
watch -n 1 ss -tuln
Ini cocok untuk troubleshooting interaktif.
Langkah 5 — Highlight perubahan
watch -d ss -tuln
Perubahan output akan lebih mudah dikenali.
Langkah 6 — Tampilkan proses
watch -n 1 'ss -tulpn'
Jika membutuhkan informasi proses yang membuka port.
Langkah 7 — Filter port tertentu
Contoh HTTPS:
watch -n 1 "ss -tuln | grep ':443'"
Langkah 8 — Hentikan monitoring
Tekan:
Ctrl + C
Monitoring akan berhenti dan Anda kembali ke shell.
watch + ss vs Monitoring Platform
watch + ss mempunyai kelebihan karena sangat sederhana.
Tidak perlu:
- database monitoring;
- dashboard;
- agent tambahan;
- konfigurasi server monitoring;
- penyimpanan metrik.
Namun terdapat keterbatasan.
watch + ss tidak secara otomatis menyediakan:
- histori;
- grafik;
- alert;
- long-term metrics;
- correlation antar server;
- dashboard terpusat.
Karena itu penggunaannya paling tepat untuk observasi cepat dan troubleshooting.
Untuk lingkungan produksi yang membutuhkan observability, tool seperti Prometheus, Grafana, Zabbix, atau sistem monitoring lainnya dapat digunakan sebagai pelengkap.

Kesimpulan
watch + ss adalah kombinasi sederhana tetapi sangat berguna bagi administrator Linux.
Dengan:
watch ss -tuln
administrator dapat memonitor perubahan port listening secara berkala.
Dengan:
watch -n 1 'ss -tulpn'
informasi socket dapat dipantau bersama proses yang terkait.
Sementara:
watch -d ss -tuln
membantu mengidentifikasi perubahan output dengan lebih cepat.
Kuncinya adalah memahami bahwa ss memberikan informasi mengenai kondisi socket, sedangkan watch membuat informasi tersebut diperbarui secara otomatis.
Untuk troubleshooting sehari-hari, kombinasi ini dapat menjadi salah satu toolset dasar yang wajib dikuasai sysadmin Linux.
FAQ
Pertanyaan: Apa fungsi ss di Linux?
Jawaban: ss digunakan untuk melihat informasi socket, port listening, dan koneksi jaringan pada sistem Linux.
Pertanyaan: Apa fungsi watch di Linux?
Jawaban: watch menjalankan command secara berulang pada interval tertentu sehingga output dapat dipantau secara berkala.
Pertanyaan: Bagaimana cara memonitor port Linux secara real-time?
Jawaban: Gunakan watch ss -tuln atau watch -n 1 ss -tuln.
Pertanyaan: Bagaimana melihat proses yang menggunakan port tertentu?
Jawaban: Gunakan ss -tulpn. Opsi -p menampilkan informasi proses jika informasi tersebut tersedia untuk pengguna yang menjalankan command.
Pertanyaan: Bagaimana memonitor port HTTPS?
Jawaban: Gunakan watch -n 1 "ss -tuln | grep ':443'".
Pertanyaan: Apakah watch + ss dapat menggantikan Prometheus atau Grafana?
Jawaban: Tidak. Kombinasi tersebut cocok untuk observasi dan troubleshooting interaktif, sedangkan platform monitoring menyediakan histori, dashboard, dan alert.
Pertanyaan: Bagaimana menghentikan watch?
Jawaban: Tekan Ctrl + C pada terminal.
Dukung kami dengan Subscribe & Join Membership channel YouTube | Walid Umar
Akses video pembelajaran eksklusif, materi persiapan UKK (Uji Kompetensi Siswa) dan Penyelesaian Soal LKS ITNSA