Port 5900 RFB
Port 5900 is the IANA-assigned rfb port for Remote Framebuffer (TCP / UDP).
What is port 5900 used for?
Port 5900 is assigned to rfb and uses TCP / UDP. The IANA registry describes the service as “Remote Framebuffer”. It sits in the registered range, the block used by databases, application servers and developer tooling. Port conflicts here are common when several local services start at once.
Ports are the transport-layer address a service listens on. A client that wants to reach rfb connects to port 5900. A TCP connection is refused when nothing is listening, while a UDP request simply goes unanswered. That is why a port conflict appears whenever two processes try to bind the same number.
Use the commands below to confirm whether port 5900 is actually in use before you change firewall rules. Blocking the port stops new inbound traffic at the firewall, but it does not stop a local process from listening, and it does not remove the service from the machine.
Browse all Remote access ports
Source: IANA Service Name and Transport Protocol Port Number Registry. Registered assignee: [Tristan_Richardson]. Reference: [RFC 6143].
Check and block port 5900
Copy-ready commands for the protocols assigned to this port. Run the check first, then block only what should not be reachable.
Check on Linux
sudo ss -tlpn 'sport = :5900'
sudo ss -ulpn 'sport = :5900'Check on Windows
Get-NetTCPConnection -LocalPort 5900 -State Listen -ErrorAction SilentlyContinue
Get-NetUDPEndpoint -LocalPort 5900 -ErrorAction SilentlyContinueBlock with UFW
sudo ufw deny 5900/tcp
sudo ufw deny 5900/udpBlock with iptables
sudo iptables -A INPUT -p tcp --dport 5900 -j DROP
sudo iptables -A INPUT -p udp --dport 5900 -j DROPThese commands are examples for a typical host. Check the listener before you change firewall rules, and persist iptables rules with iptables-save or netfilter-persistent. On Windows, use Windows Defender Firewall or New-NetFirewallRule for persistent blocks. The iptables rules here cover IPv4; mirror them with ip6tables if IPv6 is enabled.
Is port 5900 safe to expose?
VNC often runs without encryption or strong authentication. Tunnel it over SSH or a VPN and set a strong password. Treat this port as sensitive. Restrict it to trusted networks or a VPN, require authentication and logging, and never expose it directly to the public internet without a hardened gateway in front.
Where port 5900 is usually used
Most traffic on port 5900 falls into these scenarios. The demo below is a safe way to confirm the listener before you change anything.
- Administrators connecting through a bastion host or VPN to manage a machine.
- Automation and CI jobs opening short-lived sessions to run commands.
- Port forwarding that keeps an internal service off the public network.
Probe the VNC listener
VNC should sit behind SSH or a VPN. This probe only checks reachability.
nc -vz 10.0.0.25 5900
Common problems with port 5900
Connection refused or timed out
Refused usually means the host is reachable but nothing is listening on port 5900. A timeout more often means a firewall drop, a wrong host or a service bound to a different interface.
Port already in use
Find the process holding the port with sudo ss -tlpn 'sport = :5900' or sudo lsof -i :5900. Stop that process or configure it to bind another port; killing it without identifying it can take down a production service.
Firewall rule did not survive a reboot
UFW and Windows Firewall keep rules across restarts. Raw iptables rules do not: save them with iptables-save or the netfilter-persistent package, and re-apply after upgrades that reset the ruleset.
The port is blocked but still reachable
A firewall rule filters inbound traffic; it does not close the listener. Confirm with the check command above and bind the service to 127.0.0.1 when only local clients need it.
Port 5900 at a glance
| Port number | 5900 |
|---|---|
| Service name | rfb |
| Transport protocol | TCP / UDP |
| Category | Remote access |
| Range | Registered port (1024–10000) |
| Risk level | High |
| Registered assignee | [Tristan_Richardson] |
| Reference | [RFC 6143] |
| Registry description | Remote Framebuffer |
| Source | IANA Service Name and Transport Protocol Port Number Registry |
Frequently asked questions
What is port 5900 used for?
Port 5900 (RFB) uses TCP / UDP. Remote Framebuffer.
How do I check if port 5900 is open?
On Linux run `sudo ss -tlpn 'sport = :5900'` and `sudo ss -ulpn 'sport = :5900'`. On Windows run `Get-NetTCPConnection -LocalPort 5900 -State Listen -ErrorAction SilentlyContinue` and `Get-NetUDPEndpoint -LocalPort 5900 -ErrorAction SilentlyContinue` in PowerShell. If the port is open, the output shows a process listening on port 5900; empty output usually means nothing is bound to it.
How do I block port 5900?
With UFW run `sudo ufw deny 5900/tcp` and `sudo ufw deny 5900/udp`. With iptables run `sudo iptables -A INPUT -p tcp --dport 5900 -j DROP` and `sudo iptables -A INPUT -p udp --dport 5900 -j DROP`. Persist the iptables rules with your distribution's netfilter-persistent or iptables-save tooling so they survive a reboot.
Is port 5900 safe to expose?
VNC often runs without encryption or strong authentication. Tunnel it over SSH or a VPN and set a strong password. Nevertheless, treat this port as sensitive. Restrict it to trusted networks or a VPN, require authentication and logging, and never expose it directly to the public internet without a hardened gateway in front.
Related ports
- Port 5883 · juteJavascript Unit Test Environment
- Port 5903 · ff-iceFlight & Flow Info for Collaborative Env
- Port 5313 · rrdpReal-time & Reliable Data
- Port 7903 · tnos-dpsTNOS Secure DiaguardProtocol
- Port 3897 · sdo-sshSimple Distributed Objects over SSH
- Port 9555 · trispen-sraTrispen Secure Remote Access
Primary data: IANA Service Name and Transport Protocol Port Number Registry.
Last reviewed 2026-10-30 · Methodology · About · Privacy