端口 5900 — VNC (TCP)
什么是端口 5900?
用于远程桌面的 Virtual Network Computing。
这是注册端口(1024–49151),常分配给 VNC 等服务。 · RFC 6143 (RFB Protocol)
什么情况下需要开放端口 5900?
Open only if you need graphical remote control of a desktop. VNC transmits data unencrypted by default — always tunnel through SSH if the connection crosses an untrusted network.
常见用途与软件
- RealVNC Server
- TigerVNC
- TightVNC
- LibreVNC
- macOS Screen Sharing / Apple Remote Desktop
安全
Raw VNC transmits screen data and keystrokes unencrypted. Never expose port 5900 to the internet. Always tunnel VNC through SSH: ssh -L 5900:localhost:5900 user@server followed by connecting to localhost:5900. Alternatively, use a VPN. Set a strong VNC password and disable the password-only auth option in favour of certificate-based auth where your VNC software supports it.
端口 5900 安全吗?
开放端口会增加攻击面。安全性取决于 VNC 的配置。
风险低,但在将其保持开放之前,请确认 VNC 是否有意在此端口运行,以及您的应用程序是否确实需要它。
测试任意主机的端口 5900 连通性。
开放端口 5900
要允许到端口 5900 (VNC) 的入站连接,请配置防火墙并在路由器上添加端口转发规则,指向设备的本地 IP 地址。
打开 Windows Defender 防火墙 → 高级设置 → 入站规则 → 新建规则 → 端口 → TCP → 特定本地端口: 5900 → 允许连接 → 命名并保存规则。
netsh advfirewall firewall add rule name="Open Port 5900" dir=in action=allow protocol=tcp localport=5900sudo ufw allow 5900/tcpsudo iptables -A INPUT -p tcp --dport 5900 -j ACCEPT登录路由器(192.168.1.1 或 192.168.0.1)→ 端口转发 → 添加新规则: 协议 TCP, 外部端口 5900, 内部 IP: 设备的本地 IP, 内部端口 5900 → 保存。
如何关闭端口 5900
若不需要 VNC,请在防火墙或路由器中阻止该端口。
要在 Windows 上屏蔽端口 5900,请以管理员身份在 PowerShell 或命令提示符中运行以下命令:
netsh advfirewall firewall add rule name="Block Port 5900" dir=in action=block protocol=tcp localport=5900执行:sudo ufw deny 5900/tcpsudo iptables -A INPUT -p tcp --dport 5900 -j DROP删除或禁用端口 5900 的端口转发规则。
常见问题
端口 5900 用于什么?▾
5900 端口是 VNC 的标准 TCP 端口。它被需要接受该服务入站连接的服务器和应用程序所使用。是否需要开放取决于您是否在运行 VNC 服务器——如果没有,应保持关闭。
保持端口 5900 打开安全吗?▾
开放的 5900 端口会扩大攻击面。如果您没有主动运行 VNC,请在防火墙中关闭此端口并删除端口转发规则。如果 VNC 需要可访问,请将访问限制为已知 IP 地址并保持软件更新。