Скачать бесплатно

VNC: какой порт использует

Опубликовано 31 октября 2026
VNC: какой порт использует

VNC по умолчанию использует TCP-порт 5900, а каждый следующий дисплей получает порт со сдвигом на единицу: 5901, 5902 и так далее. Номер порта связан с номером дисплея простым правилом: 5900 плюс номер. Ниже — полная таблица портов, веб-доступ через 5800, служебные режимы, проверка занятых портов, настройка брандмауэра и подключение через SSH-туннель.

Содержание

Разделы идут от базового порта к исключениям, проверке и защите соединения.

Начнём с базового значения, от которого считаются все остальные.

Основной порт VNC — 5900

Протокол RFB, на котором работает VNC, по умолчанию слушает TCP-порт 5900. Этот номер закрепился за технологией и указывается в документации большинства серверов и клиентов.

Если в клиенте ввести только IP-адрес без порта, программа обычно пробует именно 5900. Для первого дисплея этого достаточно: сервер отвечает и запрашивает пароль.

Порт можно изменить. В большинстве серверов для этого есть параметр запуска, а в клиенте достаточно указать нужное значение через двоеточие после адреса.

В адресе легко перепутать два формата записи. Запись server:1 означает дисплей, и клиент сам пересчитает его в порт 5901. Запись server:5901 означает порт напрямую. Оба варианта приводят к одному результату, но второй понятнее при нестандартных настройках.

Важно! 5900 — порт по умолчанию, а не единственный допустимый. Некоторые администраторы специально переносят сервер на другой номер, чтобы снизить число автоматических сканирований.

Таблица портов и дисплеев

Каждый дисплей получает собственный порт. Правило простое: к 5900 прибавляется номер дисплея, который в интерфейсе обозначается двоеточием.

Порт Дисплей Назначение
5900 :0 первый дисплей, значение по умолчанию
5901 :1 второй дисплей, часто создаётся автоматически
5902 :2 третий дисплей, отдельный сеанс
5903 :3 четвёртый дисплей
5904 :4 пятый дисплей
5905 :5 шестой дисплей
5906 :6 седьмой дисплей
5800 и выше :0 и далее веб-доступ к тому же дисплею

Диапазон 5900–5906 покрывает типовые случаи. На практике дисплеев бывает больше, и тогда используются 5907, 5908 и следующие номера.

Почему порт связан с номером дисплея

Номер дисплея в Unix-подобных системах обозначает отдельный графический экран. В VNC эта логика сохранена: один сервер может обслуживать несколько независимых сеансов, и каждому нужен свой сетевой адрес.

Смещение на 5900 выбрано исторически. Клиент получает номер дисплея и сам вычисляет порт, поэтому в адресе достаточно указать, например, server:2 — программа обратится к 5902.

Отсюда типичная ошибка. Администратор запустил сервер на дисплее :1, а клиент подключается к 5900 и получает отказ. Проверка списка дисплеев решает проблему быстрее, чем перебор портов.

Веб-доступ через порт 5800

Раньше вместе с VNC-сервером запускался веб-интерфейс на порту 5800. Он отдавал страницу с Java-апплетом, который открывал сеанс прямо в браузере, без установки клиента.

Схема работала на портах 5800 плюс номер дисплея: 5800 для :0, 5801 для :1 и так далее. Для своего времени это было удобно, особенно для разового доступа с чужого компьютера.

Сегодня такой подход устарел. Браузеры прекратили поддержку Java-апплетов, поэтому старый веб-интерфейс в большинстве случаев не открывается.

На смену пришли веб-клиенты на JavaScript, например noVNC. Они работают через WebSocket, а сервер публикует их на обычном HTTP-порту или за обратным прокси с TLS.

Важно! Если в инструкции упоминается порт 5800 с Java-апплетом, инструкция устарела. Для браузерного доступа используют веб-клиент на JavaScript и защищённое соединение.

Служебные порты 5999 и 5500

Кроме основного диапазона, некоторые серверы задействуют дополнительные номера. Они относятся к служебным режимам и зависят от реализации.

Порт 5999 встречается у серверов, которые обслуживают подключение к уже существующему сеансу или предоставляют дополнительный канал управления. Порт 5500 используют отдельные реализации для служебных задач, например для обмена данными между компонентами.

Значения не универсальны. Прежде чем открывать их в брандмауэре, стоит посмотреть документацию конкретного сервера: у другого продукта эти же номера могут означать совсем иное.

Как узнать, какой порт слушает сервер

Проверка занимает минуту и избавляет от догадок. Сначала смотрят, какие порты открыты на самой машине.

В Linux подойдут команды ss или netstat с фильтром по номеру. В Windows используют netstat с ключом -ano, а затем сопоставляют идентификатор процесса с именем программы в списке задач.

  • ss -tlnp — список слушающих TCP-портов с процессами.
  • netstat -ano — те же данные в Windows.
  • lsof -i :5900 — какая программа заняла конкретный порт.

Второй шаг — проверка извне. С другого компьютера в той же сети подключаются клиентом к адресу и порту. Если соединение устанавливается и появляется запрос пароля, порт открыт.

Третий шаг — параметры запуска сервера. У TigerVNC порт задаётся ключом -rfbport, у других серверов есть аналогичные опции в конфигурационном файле.

В Windows проверку удобно делать командой Test-NetConnection с указанием адреса и порта. Она показывает, устанавливается ли TCP-соединение, и сразу отделяет проблему сети от проблемы клиента.

Порт в брандмауэре

Открытый сервер и закрытый порт — частая причина отказа. Правило добавляют на той машине, где работает VNC-сервер.

В Windows создают правило входящего подключения для TCP и нужного порта: например, 5900, если сервер работает на первом дисплее. В Linux с ufw достаточно разрешить порт командой allow 5900/tcp.

Открывать порт стоит только для доверенных адресов. Если доступ нужен из другой сети, правило ограничивают диапазоном офисных адресов или адресом VPN-шлюза, а не всем интернетом.

В облаке к брандмауэру добавляется второй уровень — группа безопасности. Правило в ней открывает порт для подсети, а локальный брандмауэр пропускает трафик уже внутри виртуальной машины. Закрыть нужно оба уровня, иначе подключение не пройдёт.

Важно! Порт 5900, открытый в интернет, регулярно попадает под автоматический перебор паролей. Ограничение по адресам и туннель снижают этот риск сильнее, чем смена номера порта.

Подключение через SSH-туннель

Туннель решает две задачи сразу: скрывает порт от внешней сети и шифрует трафик. Схема простая: клиент подключается к локальному порту, а SSH передаёт данные на удалённую машину.

Команда выглядит так: ssh -L 5901:localhost:5901 user@server. После её выполнения VNC-клиент открывают на адрес localhost:5901.

Номера в команде можно менять. Левая часть — локальный порт на компьютере пользователя, правая — адрес и порт на стороне сервера. Если сервер слушает только localhost, туннель остаётся единственным способом подключения.

Проверить работу легко: при активном туннеле клиент подключается к localhost, а на сервере порт 5900 или 5901 остаётся закрытым для внешних адресов.

Порт и безопасность

Выбор порта влияет на безопасность меньше, чем настройки аутентификации. Смена номера снижает шум в журналах, но не защищает от целенаправленного поиска.

Основные меры выглядят так. Сервер слушает localhost или внутренний интерфейс, доступ идёт через туннель, пароль сложный, а вход по сети ограничен правилами брандмауэра.

Дополнительно стоит проверить, не запущен ли сервер с отключённой аутентификацией. Такая настройка встречается при отладке и оставляет машину открытой для любого, кто знает порт.

Если подключение не проходит

Ошибки при подключении обычно связаны с портом, адресом или фильтрацией. Таблица помогает сузить причину.

Симптом Вероятная причина Что сделать
Отказ сразу после подключения не тот номер порта или дисплея проверить список дисплеев на сервере
Соединение зависает порт закрыт брандмауэром добавить правило для TCP-порта
Порт занят при запуске дисплей уже используется взять другой номер дисплея
Работает только localhost сервер слушает петлевой адрес использовать SSH-туннель

Отдельный случай — двойной NAT и мобильные сети. Там прямое подключение к порту не работает даже при открытом брандмауэре, и нужен промежуточный узел или туннель.

Порты других протоколов

Для сравнения полезно помнить соседние значения. RDP в Windows слушает 3389, а программы удалённого доступа с собственным протоколом часто используют 443.

PCDesk, российское ПО из Единого реестра российского программного обеспечения, работает по TCP и UDP на порту 443. Это позволяет подключаться в сетях, где нестандартные порты закрыты, а также резервирует канал через WebSocket.

Практический вывод: если 5900 в сети недоступен, VNC можно провести через SSH, а для постоянной работы в организации стоит выбрать программу с протоколом, который проходит фильтрацию.

Вопросы и ответы

Ниже — короткие ответы на частые вопросы.

Какой порт использует VNC по умолчанию?

TCP-порт 5900 для первого дисплея :0. Каждый следующий дисплей получает порт на единицу больше.

Какой порт у второго дисплея?

5901. Правило общее: 5900 плюс номер дисплея, поэтому для :2 это 5902, для :3 — 5903.

Зачем нужен порт 5800?

Раньше на нём работал веб-доступ с Java-апплетом. Сегодня такая схема устарела, и для браузера используют клиенты на JavaScript.

Что означает :0 в адресе VNC?

Это номер дисплея. Сервер сопоставляет его с портом 5900, поэтому в клиенте можно указать как server:0, так и server:5900.

Как подключиться, если порт закрыт провайдером?

Использовать SSH-туннель на разрешённый порт, VPN или программу удалённого доступа, которая работает через 443.

Можно ли изменить номер порта VNC?

Да. Серверы позволяют задать порт параметром запуска или в конфигурации, а клиент принимает номер порта вместе с адресом.

Почему клиент подключается, но экран пустой?

Вероятно, выбран дисплей, на котором нет активного сеанса. Проверьте, какой дисплей занят, и подключитесь к его порту.

Нужно ли открывать порт 5900 в интернет?

Не рекомендуется. Безопаснее держать сервер во внутренней сети, а доступ давать через туннель или VPN с ограничением по адресам.

Все статьи блога

Подключитесь к нужному компьютеру уже сегодня

Скачайте PCDesk бесплатно для личных задач или протестируйте корпоративные возможности Pro в течение 14 дней.