Главная · Железо · Подключение к удаленному компьютеру по VNC. Администрирование систем Linux. Краткая информация о протоколе VNC Отключение VNC-клиента от виртуального сервера

Подключение к удаленному компьютеру по VNC. Администрирование систем Linux. Краткая информация о протоколе VNC Отключение VNC-клиента от виртуального сервера

Бесплатные сетевые утилиты от Nirsoft

    Краткое описание и ссылки для скачивания набора утилит с сайта nirsoft.net. Все программы распространяются бесплатно. Практически для всех утилит, имеется возможность скачать инсталляционный файл или переносимую версию программы, упакованную в zip-архив. В конце каждой страницы с описанием программы сайта nirsoft.net имеется ссылка для скачивания пакетов поддержки различных языков, включая русский. Процесс русификации очень прост - разархивируйте архив языковой поддержки и скопируйте полученный ini-файл в каталог с программой.

CurrPorts CurrPorts (cports.exe) - программа мониторинга сетевых соединений. Позволяет просматривать список активных соединений и открытых TCP/IP и UDP портов на данном компьютере. Для каждого порта выводится информация о процессе, открывшем порт, включая имя, путь к исполняемому файлу, версию и дополнительные сведения, время создания процесса и учетная запись пользователя, создавшего процесс.
Дополнительно, CurrPorts позволяет закрыть (close) нежелательное соединение и принудительно завершить процесс (kill process), создавший его. Также, имеется возможность сохранить данные мониторинга в формате HTML , XML, TXT.
SmartSniff SmartSniff позволяет перехватывать TCP/IP пакеты, следующие через выбранный сетевой адаптер и просматривать перехваченные данные в виде последовательности сессий обмена данными между клиентом и сервером. Данные могут быть представлены в виде текста ASCII или в виде шестнадцатеричного дампа.
NetworkTrafficView NetworkTrafficView - утилита сбора статистических данных о сетевом трафике для выбранного адаптера. Выводится статистика по адресам источника и приемника, портам, протоколам, максимальной скорости передачи данных, длительности соединений, идентификаторам и именам программ, выполнявших обмен данными по протоколу TCP.
HTTPNetworkSniffer v1.00 HTTPNetworkSniffer пакетный сниффер, выполняющий перехват всех данных обмена между браузером и веб-сервером по протоколу HTTP. Для каждого HTTP запроса отображается информация об имени узла (Host Name), методе HTTP (GET, POST, HEAD), пути URL , поля User Agent, коде ответа (Response Code), строке ответа (Response String), полей Content Type, Referer, Content Encoding, Transfer Encoding, Server Name, Content Length, Cookie String, и т.п.
Имеется возможность экспорта сессий в буфер обмена или text/html/xml/csv файл.
AdapterWatch AdapterWatch отображает общую информацию о сетевом адаптере - IP адрес, MAC адрес (Hardware address), WINS сервер, DNS сервер, значение MTU, число принятых /переданных байтов, текущую скорость передачи, статистику TCP/IP/UDP/ICMP.
DownTester DownTester - позволяет определить скорость скачивания для веб-серверов, список которых задается в виде URL вручную или в содержимом текстового файла. Результаты можно сохранить в формате html/xml/csv/text
Wireless Network Watcher Wireless Network Watcher - небольшая утилита для сканирования беспроводной сети и создания списка подключенных к ней компьютеров и устройств с отображением IP и MAC адресов, данных о сетевом адаптере и имени компьютера. Список можно экспортировать в html/xml/csv/text файл, или скопировать в буфер обмена для дальнейшей вставки в страницы Excel или другого приложения.
NetResView NetResView - небольшая программа для отображения списка сетевых ресурсов локальной сети, включая имена компьютеров, версии операционных систем, данные о сетевых принтерах и каталогах.
PingInfoView PingInfoView небольшая утилита для опроса узлов по именам или IP-адресам с возможностью задания количества и интервалов пинга. Аналог стандартной консольной программы ping.exe. Результаты можно сохранить в html/xml/csv/text файл.
FastResolver FastResolver небольшая утилита для быстрого определения имен узлов по IP -адресам. Для локальной сети позволяет быстро получить список IP и MAC адресов компьютеров.
BluetoothView BluetoothView - небольшая программа, выполняемая в фоновом режиме для мониторинга активности устройств Bluetooth . Для каждого обнаруженного устройства отображается имя (Device Name), адрес (Bluetooth Address), тип устройства, время первого и последнего обнаружения.
BluetoothView может оповещать пользователя при обнаружении нового Bluetooth-устройства с помощью короткого звукового сигнала и всплывающего окна.
WirelessNetView WirelessNetView - небольшая программа, выполняемая в фоновом режиме для обнаружения беспроводных сетей Wi-Fi в зоне доступности данного компьютера. Для каждого узла отображается имя, MAC-адрес, уровень сигнала, алгоритм аутентификации, количество каналов и т.п.
IPNetInfo IPNetInfo - программа, позволяющая быстро получить подробную информацию о конкретном IP-адресе. Отображаются данные о владельце, стране, диапазоне адресов подсети, контактной информации.
WhoisThisDomain WhoisThisDomain позволяет быстро получить информацию о зарегистрированном домене. Выполняет автоматическое подключение к WHOIS серверу, соответствующего домена и отображение записи WHOIS.
DNSDataView DNSDataView - альтернатива стандартной консольной утилите nslookup.exe. Позволяет получить записи DNS для заданного доменного имени. Результаты можно сохранить в text/xml/html/csv файл
NetRouteView NetRouteView - GUI-аналог стандартной консольной программы route.exe семейства ОС Windows. Отображает текущую таблицу маршрутизации и позволяет легко добавлять новые маршруты а также изменять и удалять существующие.

Бесплатные сетевые программы Virtual Network Computing (VNC).

    Virtual Network Computing (VNC) - система удалённого доступа к рабочему столу компьютера, использующая протокол прикладного уровня RFB (Remote FrameBuffer) . Управление удаленным компьютером осуществляется путём передачи нажатий клавиш на клавиатуре и перемещений указателя мыши с одного компьютера на другой через сеть. На управляемом компьютере используется серверная часть VNC (VNC server), на управляющем - клиентская (VNC viewer) . VNC не зависит от систем, в которых она функционирует и, например, клиент для Linux может подключаться к серверу VNC работающему в среде Windows. Также существуют и реализации VNC для Java, в том числе и для мобильных телефонов.

Протокол RFB был разработан относительно давно и первоначально использовал для передачи буфера экрана метод простого кодирования Raw Encoding - когда сервер передавал клиенту точки экрана в порядке слева на право и сверху вниз. После передачи первого буфера в дальнейшем, для минимизации трафика, передавались только изменившиеся пиксели. При таком способе кодирования и небольшой степени изменения изображения трафик минимален, однако, например, при просмотре видео - нагрузка на канал передачи резко возрастает, поскольку в буфере экрана будут изменяться практически все пиксели. Для минимизации обменного трафика, системы VNC стали использоваться различные методы кодирования и сжатия передаваемых данных. Не все методы являются стандартом для каждой реализации VNC. Если метод RAW Encoding может использоваться в любой VNC-системе, то специфические методы (CopyRect, Zlib, CoRRE и др.) зависят от используемого программного обеспечения и могут отличаться для разных версий VNC. Возможности по кодированию передаваемых данных клиент и сервер согласовывают при установлении соединения.

По умолчанию для обмена данными по протоколу RFB используется диапазон TCP-портов с 5900 до 5906. Каждому порту соответствует свой экран графического сервера (в Linux - терминалы 0 - 6 X-сервера, в Windows - рабочий стол с номером дисплея 0 и TCP порт 5900). В некоторых реализациях VNC возможно обратное подключение от сервера к клиенту через TCP порт 5500.

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

Одним из наиболее простых и удобных представителей семейства VNC является RealVNC . Продукт выпускается в 3-х вариантах:

- Free Edition - бесплатная версия с поддержкой базовых возможностей серверной и клиентской части.
- Personal Edition - платная версия для использования в домашних условиях и в малом бизнесе. Добавлены возможности шифрования данных, чат, удаленная печать.
- Enterprise Edition - коммерческая версия с улучшенной аутентификацией, шифрованием данных, удаленной печатью, чатом, передачей файлов.

Инсталлятор включает в себя и серверную, и клиентскую части. Сервер может быть сконфигурирован для запуска в пользовательском режиме (User-Mode) или в качестве системной службы (Service-Mode). В режиме системной службы запуск сервера выполняется автоматически в процессе загрузки Windows. В таком режиме VNC-сервер готов к приему входящих подключений без входа пользователя в систему и каких-либо его действий. В пользовательском режиме, сервер запускается вручную или через автозапуск, как обычная прикладная программа.

Конфигурирование VNC-сервера выполняется либо с помощью вызова контекстного меню щелчком правой кнопки мышки на иконке в панели задач Windows (пункт меню "Options"), либо запуском с использованием ярлыков в меню "Программы" -"RealVNC" - "VNC-Server: "- "Configure VNC Server" . В процессе конфигурирования сервера выполняются минимальные настройки - способ аутентификации и пароль для подключения (вкладка Authentication ):

No Authentication - запрос пароля при подключении клиента к серверу не выполняется.
VNC Password Authentication - подключение к серверу с проверкой пароля, заданного настройками сервера. Пароль задается при нажатии кнопки Configure . Во многих бесплатных версиях VNC используется пароль длиной в 8 символов. Если задать пароль большей длины, то для проверки все равно будут использоваться первые 8 символов, что делает такой сервер весьма уязвимым для взлома с использованием подбора пароля. Тем более, что количество попыток ввода пароля не проверяется. В платных версиях безопасность значительно улучшена, поскольку можно использовать длинные пароли, шифрование данных и проверку доступа с использованием средств Windows (режим NT Logon Authentication )

Настройки соединения выполняются на вкладке Connections :

Accept connection on port - принимать соединения на порт TCP 5900. Номер порта, при необходимости, можно изменить.
Disconnect idle client after (seconds) - время неактивности клиента в секундах, по истечении которого, соединение будет сброшено.
Serve Java viewer via HTTP on port - обслуживать подключения Java-клиента, подключающегося по протоколу HTTP на порт 5800. При использовании этого пункта конфигурации, подключение к VNC - серверу возможно в окне браузера с поддержкой Java.
В поле Access Control можно задать правила обработки подключений для отдельных IP-адресов или подсетей. Для каждой записи возможно 3 варианта предопределенного действия:

Allow - Разрешить подключение. В окне со списком адресов, отображается со знаком + перед адресом.
Deny - Запретить подключение. В окне со списком адресов, отображается со знаком - перед адресом.
Query - Выдать запрос на разрешение подключения.. В окне со списком адресов, отображается со знаком ? перед адресом.

Режимы обслуживания подключений клиентов настраиваются на вкладке Sharing :

Always treat new connection as shared - всегда трактовать новое соединение как разделяемое.
Never treat new connection as shared - никогда не трактовать новое соединение как разделяемое.
Use client"s preferred sharing settings - использовать установки клиента для определения разделяемого соединения.
Non shared connection replace existing ones - не разделяемое соединение заменяет существующее. При установке данного режима, подключение нового клиента с признаком неразделяемого соединения, сервер выполнит сброс всех остальных подключений. Для подключения множества клиентов к одному серверу флажок нужно снять.

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

While connected - действия при подключении клиента к серверу VNC
Установка флажков для каждого из полей уменьшает трафик при обмене буфером рабочего стола, но немного упрощает его внешний вид. Желательно включать при низком быстродействии канала передачи данных.

When last client disconnects - когда последний клиент отключится.
- Do nothing - ничего не делать.
- Lock Workstation - запереть рабочий стол. Сеанс пользователя не завершается, но для продолжения работы с рабочим столом нужно ввести имя пользователя и пароль.
- Logoff user - выполнить выход пользователя из системы.

Режимы вкладки Inputs определяют взаимодействие между клиентом и сервером при обработке событий клавиатуры и мышки. Режим "Disable local inputs while server in use" отключает клавиатуру и мышь на удаленном компьютере при подключении к серверу VNC.

Вкладка Capture method задает режим обработки изображения рабочего стола при передаче данных от сервера к клиенту и обработку прозрачных окон (Alpha - blended windows). Изменение режимов влияет на объем трафика между клиентом и сервером, а также степень использования ресурсов центрального процессора при обработке буфера рабочего стола.

Настройки сервера RealVNC хранятся в разделе реестра HKLM\SOFTWARE\RealVNC\WinVNC4

Клиент Real VNC Viewer после запуска выдает на экран окно подключения к серверу. В поле ввода используется имя или IP-адрес удаленного компьютера, и при необходимости - номер порта, например 5909:

Кнопка Options позволяет настроить режимы для клиентской части RealVNC. В окне настрое имеется вкладка Load / Save с помощью которой можно сохранить текущие настройки в файл с расширением .vnc или загрузить ранее сохраненные настройки из файла. Это позволяет иметь несколько профилей настроек для подключения к разным серверам VNC. Настройки по умолчанию рассчитаны на среднюю производительность и среднее качество отображения рабочего стола.

Вкладка Color & Encoding позволяет выбрать режим кодирования данных при передаче буфера рабочего стола и глубину его цвета. Имеется возможность выбора одного из 3-х предпочитаемых типов кодирования или установить режим Auto Select - когда выбор выполняется автоматически при установлении соединения с сервером VNC.

Глубина цвета Color Level определяет качество отображения удаленного рабочего стола и объем передаваемых данных от сервера к клиенту. Минимальный трафик и наихудшее изображение соответствует режиму Very Low (8 colours

Настройки вкладки Inputs во многом сходны с настройками сервера и относятся к параметрам устройств ввода - клавиатуры и мыши

Поле Menu Key - определяет специальную клавишу для вызова меню взаимодействия клиента с удаленным рабочим столом. Используется для передачи специальных кодов клавиш (CTRL, ALT, CTRL-ALT-DEL:) По умолчанию в качестве клавиши меню используется F8 . Кроме передачи специальных кодов клавиш, нажатие F8 позволяет вызвать меню настроек клиента, перейти в полноэкранный режим, создать новое подключение и посмотреть информацию о текущем (Connection Info:) . Информация о текущем соединении включает IP-адрес и имя удаленного сервера, разрешение экрана, формат пикселей, метод кодирования, используемый протокол, приблизительную скорость обмена данными.

    Для установки серверной части на удаленном компьютере можно воспользоваться бесплатной утилитой pushVNC . Программа позволяет системным администраторам выполнять установку VNC сервера на удаленном компьютере по локальной сети без какого-либо вмешательства конечного пользователя.

Для подключения к удаленному компьютеру требуется учетная запись с правами администратора. Кроме того, на удаленном компьютере должны быть доступны скрытые сетевые ресурсы ADMIN$ и IPC$ и должна работать служба удаленного управления реестром. Программа копирует несколько своих файлов для создания VNC - сервера на удаленный компьютер, регистрирует в реестре новый сервис PushVNC и выполняет его запуск. Затем выполняется обычное клиентское подключение к удаленно созданному серверу. Если не установлен режим Leave Service , то после завершения сеанса созданный сервер и скопированные по сети файлы удаляются.

RealVNC - одна из простых и удобных бесплатных реализаций VNC. Кроме нее имеется еще несколько десятков, отличающихся в незначительной степени. Например, популярный пакет UltraVNC имеет практически такие же настройки, как и RealVNC, но позволяет использовать большее количество методов кодирования данных, шифрование даже в бесплатной версии, можно использовать специальный собственный драйвер для обработки буфера рабочего стола. И так же как RealVNC, сервер UltraVNC в бесплатной редакции выполняет усечение пароля до 8 символов. Ниже приведены ссылки и краткое описание бесплатных реализаций VNC на проекте SourceForge.

Программы семейства VNC проекта SourceForge.net

    SourceForge.net - один из самых больших в мире веб-сайтов для разработчиков открытого программного обеспечения, который обслуживается SourceForge, Inc. и использует собственническую систему SourceForge. На этом сайте разработчики могут размещать и совместно разрабатывать свои программные проекты. На SourceForge.net размещены более 230 тыс. проектов, а количество зарегистрированных пользователей составляет около 2 млн. человек.
Многие проекты, опубликованные на sourceforge.net имеют свой собственный сайт, ссылка на который размещена на странице с кратким описанием программного продукта.

TightVNC - наиболее популярный продукт семейства VNC, улучшенная реализация с кодировкой "Tight" обеспечивающей снижение трафика между клиентом и сервером, и возможностью передачи файлов.
TigerVNC - реализация VNC, основанная на доработке проектов TightVNC и TurboVNC . Отличается улучшенной компрессией JPEG .
EchoVNC - реализация клиента VNC с улучшенной защищенностью. Имеется поддержка подключений к серверам VNC, Remote Desktop, и RAdmin. Расширенная панель инструментов позволяет оптимизировать работу с выбранным сервером.
Flashlight-VNC - клиент (VNC Viewer), написанный на Flash.
Flashlight VNC Recorder - дополнение к проекту Flashlight VNC с возможностью записи сессии.
Delphi VNC Server VNC сервер, написанный на Delphi.
MultiVNC VNC клиент с поддержкой большого количества методов кодирования данных
LightVNC реализация сервера VNC только с поддержкой подключений по протоколам HTTP и HTTP(S). В качестве клиентского программного обеспечения используется веб-браузер. Позволяет подключаться к удаленному рабочему столу устройствам, не имеющим клиентской части VNC - смартфонам, игровым консолям, планшетным компьютерам.
ThinVNC - реализация VNC с использованием HTML5 и технологии AJAX. В качестве клиента должен использоваться браузер с поддержкой HTML5 - Mozilla FireFox, Chrome, Opera.
pushVNC7 - удаленная установка по локальной сети и запуск сервера VNC на рабочих станциях Windows 7. Реализация проекта pushVNC для Windows 7.
Простой набор инструментов для установки UltraVNC на удаленном компьютере без каких-либо действий пользователя и незаметно для него.

Для работы с виртуальным сервером по VNC на компьютере пользователя нужно запустить программу-клиент (VNC viewer, VNC client). Эта программа передает на виртуальный сервер данные о нажатиях на клавиши и о движениях мыши, сделанных пользователем, и показывает информацию, предназначенную к выводу на экран виртуального сервера.

Установка VNC-клиента

Для ОС Windows можно бесплатно скачать и инсталлировать VNC-клиент UltraVNC и TightVNC .

Mac OS X начиная с версии 10.5 имеет поддержку VNC-клиента в RemoteDesktop . Для предыдущих версий можно использовать VNC-клиенты JollysFastVNC и .

Для Linux ветви Debian (Ubuntu) VNC-клиент устанавливается из репозитория командой:

Apt-get install vncviewer

Для ветви RedHat (CentOS, Fedora) - командой:

Yum install vnc

Для FreeBSD VNC-клиент (TightVNC) устанавливается из пакетов командой:

Pkg_add -r tightvnc

Подключение VNC-клиента к виртуальному серверу

Для подключения VNC-клиента к VDS/VPS требуется указать его IP-адрес или DNS-имя, и номер дисплея (по умолчанию, :0) или номер TCP-порта (по умолчанию, 5900). Если VNC-сервер требует авторизации, то при подключении к нему VNC-клиент запросит пароль. Обратите внимание, что пароль доступа к VNC-серверу не связан с каким-либо аккаунтом (учетной записью пользователя) на виртуальном сервере, а служит только для ограничения доступа к дисплею VNC-сервера.

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

Так как на компьютере одновременно могут работать несколько VNC-серверов, для их разделения используют параметр номер дисплея. Например, один VNC-сервер может быть запущен на дисплее:0, другой - на дисплее:1. Каждому номеру дисплея соответствует номер TCP-порта, на котором VNC-сервер принимает соединения. Номер порта для дисплея получается прибавлением номера дисплея к базовому номеру порта - 5900. Дисплею:0 соответствует TCP-порт 5900, дисплею:1 - порт 5901.

Отключение VNC-клиента от виртуального сервера

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

Тюнинг VNC-клиента

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

Главный параметр, который влияет на объем передаваемых данных - алгоритм кодирования передаваемой графики. Для уменьшения объема и, соответственно, ускорения работы, рекомендуется использовать алгоритмы Tight, ZLib, ZRLE - по сравнению с несжатыми данными (Raw), они обеспечивают сжатие в десятки раз, заметно нагружая процессор. Эти алгоритмы кодирования обеспечивают комфортную работу даже на каналах со скоростью 256-512 Кбит/сек.

Также, для сокращения объема передаваемой по сети информации можно устанавливать высокий уровень сжатия (Compression Level, Compression Value), низкий уровень качества JPEG (JPEG Quality) и включать режим уменьшения количества цветов (-bgr233, Restricted colors). Самый большой эффект из них при заметном снижении качества изображения дает режим уменьшения количества цветов - объем передаваемой информации уменьшается в 1.5-3 раза, соответственно, в 1.5-3 раза ускоряется отображение на экране.

JPEG применяется алгоритмом кодирования Tight для сжатия участков экрана, содержащих фотографии и другие сложные изображения с большим числом цветов. Использование Tight+JPEG сокращает в 2-5 раз объем передаваемых при этом данных. Другие алгоритмы кодирования JPEG не поддерживают.

1. Выпадающего меню "Система -> Параметры"

Объем передаваемых данных и скорость отображения на канале 1 Мбит/сек при открытии выпадающего меню "Система -> Параметры" (на рисунке меню выделено зеленым пунктиром):

Частые проблемы
Не удается подключиться к VNC-серверу

Нужно проверить:

  1. есть ли доступ к интернету;
  2. отвечает ли виртуальный сервер на пинги;
  3. запущен ли на виртуальном сервере VNC-сервер;
  4. нет ли по пути файервола, закрывающего доступ к TCP-порту VNC-сервера;
  5. правльно ли указан номер дисплея или TCP-порт VNC-сервера (номер порта = 5900 + номер дисплея).
Медленная работа через достаточно быстрый канал

Если VNC-клиент не может согласовать с VNC-сервером использование алгоритм кодирования графики с компрессией данных, выбирается алгоритм по умолчанию - Raw, который передает данные без сжатия. Также кодирование без сжатия или с низким уровнем сжатия может автоматически выбираться VNC-клиентом при работе через быструю локальную сеть. Данную проблему можно исправить, принудительно указав в настройках VNC-клиента алгоритм кодирования с высоким уровнем сжатия - ZLib, ZRLE, Tight.

Однако, для некоторых сочетаний клиента и сервера, такое решение может быть бесполезным из-за ошибок в согласовании алгоритма кодирования. Например, клиент TightVNC с сервером RealVNC часто могут работать только с кодировкой Raw. Решением в этом случае будет смена VNC-клиента или VNC-сервера.

Virtual Network Computing (VNC ) система удалённого доступа к рабочему столу компьютера, использующая протокол RFB (Remote FrameBuffer). Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой и ретрансляции содержимого экрана через компьютерную сеть .

Система VNC платформонезависима: VNC-клиент, называемый VNC viewer, запущенный на одной операционной системе , может подключаться к VNC-серверу, работающему на любой другой ОС. Существуют реализации клиентской и серверной части практически для всех операционных систем, в том числе и для J2ME). К одному VNC-серверу одновременно могут подключаться множественные клиенты. Наиболее популярные способы использования VNC - удалённая техническая поддержка и доступ к рабочему компьютеру из дома.

VNC была разработана компанией AT&T. Оригинальные исходные коды доступны на условиях лицензии GNU General Public License , как и многие варианты VNC, существующие на данный момент.

История

VNC была создана в Olivetti & Oracle Research Lab, которая в то время принадлежала Oracle Corporation. В 1999 году лаборатория была приобретена компанией AT&T, которая закрыла отдел разработок в 2002-м .

Название возникло из компьютерной сети тонких клиентов Videotile, которая представляла из себя LCD-панель с вводом пером и быстрым

Разработчики, работавшие над VNC в AT&T Research Lab:

  • Tristan Richardson
  • Quentin Stafford-Fraser
  • James Weatherall
  • Ken Wood
  • Andy Harter
  • Charlie McLachlan
  • Paul Webster

Устройство

VNC состоит из двух частей: клиента и сервера. Сервер - программа, предоставляющая доступ к экрану компьютера, на котором она запущена. Клиент (или viewer) - программа, получающая изображение экрана с сервера и взаимодействующая с ним.

VNC - очень простой протокол, основанный на графических примитивах: «Положить прямоугольник пиксельных данных на заданную координатами позицию». Сервер посылает небольшие прямоугольники клиенту. Такая схема в своей примитивной форме потребляет большую часть пропускной возможности канала. Для снижения нагрузки на канал используются различные методы. Существуют различные кодировки - методы определения наиболее эффективного способа передачи этих прямоугольников. Протокол VNC позволяет клиенту и серверу «договориться» о том, какая кодировка будет использована. Самый простой метод кодирования, поддерживаемый всеми клиентами и серверами - «raw encoding», при котором пиксели передаются в порядке слева-направо, сверху-вниз, и после передачи первоначального состояния экрана передаются только изменившиеся пиксели. Этот метод работает очень хорошо при незначительных изменениях изображения на экране (движения указателя мыши по рабочему столу, набор текста под курсором), но загрузка канала становится очень высокой при одновременном изменения большого количества пикселей, например, при просмотре видео в полноэкранном режиме.

По умолчанию VNC использует диапазон TCP-портов с 5900 до 5906. Каждый порт представляет собой соответствующий экран X-сервера (порты с 5900 по 5906 ассоциированы с экранами с:0 по:6). Java-клиенты, доступные во многих реализациях, использующих встроенный web-сервер для этой цели, например, в RealVNC, связаны с экранами таким же образом, но на диапазоне портов с 5800 до 5806. Многие компьютеры под управлением ОС Windows могут использовать лишь один порт из-за отсутствия многопользовательских свойств, присущих

Также существует возможность обратного подключения от сервера к клиенту. В этом случае клиент переводится в слушающий (Listening) режим и соединение инициируется сервером на 5500 TCP-порт клиента.

Порты могут быть изменены.

Безопасность

Изначально VNC не использует шифрование трафика, однако в процедуре аутентификации пароль не передается в открытом виде, а используется алгоритм "вызов-ответ" с и используется как при соединении через Интернет , так и в локальных сетях . SSH-клиенты позволяют создавать SSH-туннели как со всех основных платформ (Windows,

Также многие современные версии VNC поддерживают расширения стандартного протокола, которые реализуют шифрование и/или сжатие VNC-трафика, разграничения по спискам доступа (англ.) - официальная версия, поддерживаемая командой AT&T Laboratories

  • TightVNC (англ.) - альтернативная версия основанная на RealVNC
  • UltraVNC (англ.) - реализация VNC под Microsoft Windows
  • Vinagre (англ.) - VNC-клиент для рабочего окружения GNOME ОС Какое программное обеспечение VNC лучше?
  • Wikimedia Foundation . 2010 .

    Смотреть что такое "VNC" в других словарях:

      VNC - son las siglas en inglés de Virtual Network Computing (Computación Virtual en Red). VNC es un programa de software libre basado en una estructura cliente servidor el cual nos permite tomar el control del ordenador servidor remotamente a través de … Wikipedia Español

      VNC - son las siglas en inglés de Virtual Network Computing (Computación en Red Virtual). VNC es un programa de software libre basado en una estructura cliente servidor el cual nos permite tomar el control del ordenador servidor remotamente a través de … Enciclopedia Universal

      REDIRECT Virtual Network Computing … Википедия

      VNC - typische VNC Sitzung in einem Fenster Virtual Network Computing (VNC) ist eine Software, die den Bildschirminhalt eines entfernten Rechners (Server) auf einem lokalen Rechner (Client) anzeigt und im Gegenzug Tastatur und Mausbewegungen des… … Deutsch Wikipedia

    Оригинал: Introduction to VNC
    Автор: Paul Cobbaut
    Дата публикации: 12 марта 2015 г.
    Перевод: A. Панин
    Дата перевода: 2 апреля 2015 г.

    Приложение B. Краткая информация о протоколе VNC

    B.1. Информация о протоколе VNC

    Возможность доступа к рабочему столу по протоколу VNC может быть активирована в окружениях рабочего стола GNOME или KDE на странице настроек удаленного рабочего стола (Remote Desktop Preferences). Протокол VNC может использоваться для доступа к рабочему столу вашего компьютера с другого компьютера, причем вы также можете использовать данный протокол для доступа к рабочему столу другого пользователя. Последний вариант использования протокола может оказаться полезным для демонстрации пользователям методики выполнения тех или иных задач. Главным преимуществом протокола VNC является независимость от используемых операционных систем, причем имеется множество приложений, которые поддерживают данный протокол (realvnc, tightvnc, xvnc, ...) и предназначены для использования в операционных системах Solaris, Linux, BSD и других.

    B.2. Сервер VNC

    Методика первоначального запуска сервера VNC.

    # rpm -qa | grep -i vnc vnc-server-4.0-8.1 vnc-4.0-8.1 # vncserver:2 You will require a password to access your desktops. Password: Verify: xauth: creating new authority file /root/.Xauthority New "RHELv4u3.localdomain:2 (root)" desktop is RHELv4u3.localdomain:2 Creating default startup script /root/.vnc/xstartup Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/RHELv4u3.localdomain:2.log #

    B.3. Клиент VNC

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

    Paul@laika:~$ vncviewer 192.168.1.49:2 VNC viewer version 3.3.7 - built Nov 20 2006 13:05:04 Copyright (C) 2002-2003 RealVNC Ltd. Copyright (C) 1994-2000 AT&T Laboratories Cambridge. See http://www.realvnc.com for information on VNC. VNC server supports protocol version 3.8 (viewer 3.3) Password: VNC authentication succeeded Desktop name "RHELv4u3.localdomain:2 (root)" Connected to VNC server, using protocol version 3.3 ...

    Если вы не желаете использовать простой оконный менеджер twm, вы можете закомментировать две последних строки файла ~/.vnc/xstartup и добавить строку gnome-session & для использования окружения рабочего стола GNOME по умолчанию при соединении с системой посредством протокола VNC.

    # cat .vnc/xstartup #!/bin/sh # Uncomment the following two lines for normal desktop: # (Раскомментируйте две следующие строки для использования полноценного окружения рабочего стола:) # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & # xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & # twm & gnome-session & #

    Не забудьте перезапустить ваш сервер VNC после модификации данного файла.

    # vncserver -kill:2 Killing Xvnc process ID 5785 # vncserver:2 New "RHELv4u3.localdomain:2 (root)" desktop is RHELv4u3.localdomain:2 Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/RHELv4u3.localdomain:2.log

    B.4. Практическое задание: краткая информация о протоколе VNC

    1. Используйте протокол VNC для доступа к рабочему столу другой машины.

    ). Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой и ретрансляции содержимого экрана через компьютерную сеть .

    Система VNC платформонезависима: VNC-клиент, называемый VNC viewer, запущенный на одной операционной системе , может подключаться к VNC-серверу, работающему на любой другой ОС. Существуют реализации клиентской и серверной части практически для всех операционных систем, в том числе и для Java (включая мобильную платформу J2ME). К одному VNC-серверу одновременно могут подключаться множественные клиенты. Наиболее популярные способы использования VNC - удалённая техническая поддержка и доступ к рабочему компьютеру из дома.

    История

    В начале своего развития RFB был относительно простым протоколом, основанным на графических примитивах: «положить прямоугольник пиксельных данных на заданную координатами позицию ». Сервер посылает небольшие прямоугольники клиенту. Такая схема в своей примитивной форме потребляет значительный трафик. Для снижения нагрузки на канал используются различные методы. Существуют различные кодировки - методы определения наиболее эффективного способа передачи этих прямоугольников. Протокол RFB позволяет клиенту и серверу «договориться» о том, какая кодировка будет использована. Самый простой метод кодирования, поддерживаемый всеми клиентами и серверами - «raw encoding» (рус. сырое кодирование ), при котором пиксели передаются в порядке слева-направо, сверху-вниз, и после передачи первоначального состояния экрана передаются только изменившиеся пиксели. Этот метод работает очень хорошо при незначительных изменениях изображения на экране (движения указателя мыши по рабочему столу, набор текста под курсором), но загрузка канала становится очень высокой при одновременном изменении большого количества пикселей, например, при просмотре видео в полноэкранном режиме. За время своего развития протокол оброс различными дополнительными функциями и опциями, такими как передача файлов, сжатие, безопасность.

    По умолчанию RFB использует диапазон TCP-портов с 5900 до 5906. Каждый порт представляет собой соответствующий экран X-сервера (порты с 5900 по 5906 ассоциированы с экранами с:0 по:6). Java-клиенты, доступные во многих реализациях, использующих встроенный веб-сервер для этой цели, например, в RealVNC, связаны с экранами таким же образом, но на диапазоне портов с 5800 до 5806. Многие компьютеры под управлением ОС Windows могут использовать лишь один порт из-за отсутствия многопользовательских свойств, присущих UNIX -системам. Для Windows-систем экран по умолчанию - :0, что соответствует порту 5900.

    Также существует возможность обратного подключения от сервера к клиенту. В этом случае клиент переводится в слушающий (англ. listening ) режим и соединение инициируется сервером на 5500 TCP-порт клиента.

    Порты могут быть изменены.

    • 0x00000000 - Сырой (Raw)
    • 0x00000001 - Копирование прямоугольников (CopyRect)
    • 0x00000002 - Увеличение прямоугольника (Rising Rectangle)
    • 0x00000004 - CoRRE (Compact Rising Rectangle)
    • 0x00000005 - Hextile
    • 0x00000006 - Сжатие Zlib
    • 0x00000007 - Версия клиента Tight
    • 0x00000008 - ZlibHex
    • 0x00000009 - Версия клиента Ultra
    • 0x00000010 - Сжатие ZRLE
    • 0x00000011 - Сжатие ZYWRLE (ZLib YUV Wavelet Run Length Encoding)
    • 0xFFFF0001 - Флаг кэширования (CacheEnable)
    • 0xFFFF0006 - Флаг побитового XOR (XOREnable)
    • 0xFFFF8000 - ServerState (UltraVNC)
    • 0xFFFF8001 - EnableKeepAlive (UltraVNC)
    • 0xFFFF8002 - Передача файлов (FTProtocolVersion - UltraVNC)
    • 0xFFFFFF00 - 0xFFFFFF09 - CompressLevel (Tight)
    • 0xFFFFFF10 - XCursor
    • 0xFFFFFF11 - RichCursor
    • 0xFFFFFF18 - PointerPos
    • 0xFFFFFF20 - LastRect
    • 0xFFFFFF21 - NewFBSize
    • 0xFFFFFFE0 - 0xFFFFFFE9 - QualityLevel (Tight)

    Безопасность

    Изначально VNC не использует шифрование трафика, однако в процедуре аутентификации пароль не передается в открытом виде, а используется алгоритм «вызов-ответ» с DES -шифрованием (эффективная длина ключа составляет 56 бит). Во многих реализациях существует ограничение в 8 символов на длину пароля и если его длина превосходит 8 символов, то пароль урезается, а лишние символы игнорируются.

    При необходимости надежного шифрования всей VNC-сессии, она может быть установлена через SSL , SSH или VPN -туннель, а также поверх IPsec . Технология IPsec поддерживается подавляющим большинством современных ОС и используется как при соединении через