Port 5900 is the VNC (Virtual Network Computing) remote desktop port. VNC provides platform-independent graphical remote access. The base protocol on port 5900 has weak encryption (DES with 8-char password limit) – always tunnel VNC through SSH or VPN. Additional displays use ports 5901, 5902, etc.
Port Number
5900
Protocol
TCP
Service
Virtual Network Computing
Range
IANA Registered (1024–49151)
Detect VNC version and authentication requirements
nmap -p 5900 --script vnc-info targetBrute-force VNC password (security audit, max 8 chars to test)
nmap -p 5900 --script vnc-brute targetList all VNC listeners (5900, 5901, etc.)
ss -tlnp | grep 590List running VNC sessions on the server
vncserver -listvncviewer localhost:5900
ssh -L 5900:localhost:5900 user@host
x11vnc -display :0 -rfbport 5900VNC (Virtual Network Computing) was created at AT&T's Olivetti Research Laboratory in Cambridge (1998). The RFB (Remote Framebuffer) protocol uses port 5900+ per display. VNC was designed for LAN use with no security considerations. Over 20 implementations exist (TigerVNC, TightVNC, RealVNC, UltraVNC, x11vnc). Despite being insecure by design, VNC remains widely used because: it's cross-platform, free, simple, and works for headless Linux servers where RDP isn't available.
VNC vs RDP vs SSH X11 forwarding?
VNC: cross-platform, sees the actual console session (good for Linux desktops), no encryption by default, shared password only. RDP: Windows-native, per-user sessions (each user gets isolated desktop), NLA+TLS encryption, clipboard/audio/drive redirection. SSH X11: forwards individual applications (not full desktop), encrypted by SSH, high latency for complex UIs. For Linux servers: SSH + tmux (no GUI). For Linux desktops: VNC over SSH tunnel. For Windows: RDP via VPN/Gateway.
How do I secure VNC access?
The only secure way to use VNC: tunnel it through SSH (ssh -L 5900:localhost:5900 server, then connect to localhost:5900). VNC should listen on 127.0.0.1 ONLY (vncserver -localhost yes or x11vnc -localhost). For web access: deploy noVNC behind nginx with TLS + basic auth + IP restriction. If you need enterprise VNC: RealVNC Connect provides proper encryption, 2FA, and audit logging (paid product).