Lewati ke konten

3. Port & Service

Satu server bisa menjalankan banyak layanan sekaligus. Port membedakan layanan mana yang dituju. Saat kamu membuka https://gstnv-lab.xyz, browser sebenarnya menghubungi 203.0.113.10 di port 443.

Port Protokol Layanan
22 TCP SSH — remote login
53 UDP/TCP DNS
80 TCP HTTP
443 TCP HTTPS
3306 TCP MySQL / MariaDB
5432 TCP PostgreSQL
51820 UDP WireGuard
  • TCP memastikan data sampai lengkap dan berurutan. Dipakai web, SSH, database.
  • UDP lebih ringan dan cepat, tanpa jaminan. Dipakai DNS, streaming, game, dan WireGuard.
Terminal window
sudo ss -tulpn
Huruf Arti
t / u tampilkan TCP / UDP
l hanya yang listen (menunggu koneksi)
p tampilkan nama proses (butuh sudo)
n tampilkan angka port, bukan nama

Perhatikan kolom alamat:

  • 0.0.0.0:80 → menerima koneksi dari semua interface, termasuk internet.
  • 127.0.0.1:3306 → hanya dari server itu sendiri. Aman untuk database.
  • 10.10.10.2:18080 → hanya dari interface WireGuard.

Port terbuka karena ada service yang berjalan. Matikan service-nya, port-nya tertutup:

Terminal window
sudo systemctl stop nginx # port 80 tidak lagi listen
curl localhost # Connection refused
sudo systemctl start nginx

Connection refused berarti tidak ada yang mendengarkan di port itu — berbeda dengan timeout yang biasanya berarti paket diblokir firewall.

Lab: Port & service yang mendengarkan
Misi 0/7
  1. Lihat port yang sedang listen beserta prosesnya.
    Petunjuksudo ss -tulpn
  2. Pasang web server nginx.
    Petunjuksudo apt install nginx
  3. Cek lagi port yang listen — sekarang port 80 muncul.
    Petunjuksudo ss -tlnp
  4. Uji port 80 dengan curl.
    Petunjukcurl -I localhost
  5. Matikan service nginx.
    Petunjuksudo systemctl stop nginx
  6. Coba curl localhost lagi — koneksi ditolak karena tidak ada yang listen.
    Petunjukcurl localhost
  7. Nyalakan lagi nginx.
    Petunjuksudo systemctl start nginx