Кілька запитань. FTP, внутрішня мережа тощо. Особливості роботи протоколу FTP

    Абревіатура FTPпоходить від англійської F ile T ransfer P rotocol (протокол передачі файлів) - протокол прикладного рівня обміну файлами по транспортного протоколу TCP/IP між двома комп'ютерами, FTP-клієнтом та FTP-сервером. Це один із найстаріших, проте, як і раніше активно використовуваний протокол.

Протокол FTP призначений для вирішення наступних завдань:

  • доступ до файлів та каталогів на віддалених хостах
  • забезпечення незалежності клієнта від типу файлової системи віддаленого комп'ютера
  • надійна передача даних
  • Використання ресурсів віддаленої системи.
  • Протокол FTP підтримує відразу два канали з'єднання - один передачі командта результатів їх виконання, інший - для обміну даними. При стандартних налаштуваннях FTP - сервер використовує TCP порт 21 для організації каналу передачі та прийому команд та TCP порт 20 для організації каналу прийому/передачі даних.

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

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

    FTP-клієнт є програмою, яка виконує підключення до FTP-сервера та виконує необхідні операції для перегляду вмісту каталогів сервера, прийому, передачі та видалення файлів або папок. Як таку програму може використовуватися звичайний браузер, компоненти операційної системиабо спеціально розроблені програмні продукти, як, наприклад, популярний менеджер завантажень Download Master або багатофункціональний безкоштовний FileZilla FTP Client .

    Протокол FTP розроблявся ще тоді, коли клієнт і сервер взаємодіяли безпосередньо, без будь-яких проміжних перетворень TCP- пакетів, й у стандартному режимі передбачає можливість створення TCP - з'єднання як з ініціативи клієнта, а й з ініціативи сервера від TCP порта 20 на TCP - порт клієнта, номер якого передається у процесі створення сеансу передачі.

    Реалії ж сьогоднішнього дня такі, що подібне TCP - з'єднання від сервера до клієнта в переважній більшості випадків неможливо, або дуже непросто реалізувати через те, що в більшості випадків для підключення до Інтернету використовується технологія з трансляцією. мережевих адрес NAT(Network Address Translation) , коли клієнт не має мережного інтерфейсу, доступного для створення прямого TCP-з'єднання з Інтернету. Типова схема стандартного підключення до Інтернету виглядає так:

    Підключення до Інтернету здійснюється через спеціальний пристрій - Router(маршрутизатор з функцією NAT), що має, як мінімум два мережеві порти - один підключений до мережі провайдера, що має мережний інтерфейс з IP-адресою, що маршрутизується (так званий, "білий IP"), наприклад 212.248.22.144, і порт з мережевим інтерфейсом для підключення пристроїв локальної мережі з приватною, немаршрутизованою IP-адресою, наприклад 192.168.1.1 ("сірий IP"). При створенні з'єднань від мережевих пристроївлокальної мережі до зовнішніх мережних вузлів, IP-пакети направляються на маршрутизатор, який виконує трансляцію адрес і портів таким чином, щоб адресою відправника став його біла IP-адреса. Результати трансляції зберігаються і при отриманні пакету у відповідь, виконується зворотне перетворенняадреси. Таким чином, маршрутизатор забезпечує пересилання TCP/IP - пакетів від будь-яких пристроїв локальної мережі зовнішні мережіі зворотне пересилання отриманих пакетів у відповідь. Але в тих випадках, коли на вхід мережного інтерфейсу, підключеного до мережі провайдера, приймається пакет, який не має відношення до TCP-пакетів у відповідь, можливі наступні варіанти реакції програмного забезпеченнямаршрутизатора:

    Пакет ігнорується, оскільки немає мережевої служби, яка б його обробити.

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

    Пакет пересилається серверу в локальній мережі, що очікує на цей вид вхідних з'єднань відповідно до правил перенаправлення портів (port mapping) заданими налаштуваннями маршрутизатора.

    Тому, нині, основним режимом роботи з протоколу FTP став так званий " пасивний режим " , у якому TCP - з'єднання виконуються від клієнта на TCP-порт сервера. Активний режим, використовується в тих випадках, коли існує можливість TCP - підключення від сервера на порти клієнтів, наприклад, коли вони знаходяться в одній локальній мережі. Вибір режиму FTP-з'єднання виконується спеціальними командами:

    PASV- клієнт передає команду, щоб здійснити обмін даними пасивному режимі. Сервер поверне адресу та порт до якого потрібно підключитися, щоб приймати або передавати дані. Приклад фрагмента FTP-сесії із встановленням пасивного режиму:

    PASSV- команда на перемикання в пасивний режим, що передається FTP – клієнтом FTP-серверу

    227 Entering Passive Mode (212,248,22,144,195,89)- відповідь FTP-сервера, де 227 - код відповіді, текстове повідомленняпро перехід у пасивний режим та у дужках IP-адресу та номер порту, які будуть використані для створення каналу передачі даних. Адреса та номер порту відображаються у вигляді десяткових чисел, що поділяються комою. Перші 4 числа - це IP-адреса (212.248.22.144), 2 числа, що залишилися, задають номер порту, який обчислюється за формулою - перше число множиться на 256 і до результату додається друге число, в даному прикладіномер порту 195 * 256 +89 = 50017

    PORT IP адреса клієнта номер порту- Клієнт передає команду, щоб організувати сеанс в активному режимі. IP-адреса і номер порту задаються у тому форматі, як і попередньому прикладі, наприклад PORT 212.248.22.144,195,89 Для організації передачі даних сервер сам підключається до клієнта на вказаний порт.

    Встановлення та налаштування FileZilla FTP Server.

    Завантажити інсталяційний пакет FileZilla Serverдля вашої версії операційної системи можна на

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

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

    Після завершення інсталяції відкриється вікно запрошення для підключення до сервера:

    Після введення IP-адреси, номера порту та пароля (якщо ви задавали їх у процесі установки) відкривається панель керування FileZilla Server:

    У верхній частині вікна знаходиться основне меню та кнопки панелі керування. Нижче розташовуються дві області – інформаційних повідомлень сервера та статистичної інформації. Загалом панель управління FTP File Zilla Servver досить проста та зручна у використанні. Пункти основного меню:

    File- Режими роботи панелі управління FTP-сервером. Містить підпункти

    - Connect to Server- підключитися до сервера
    - Disconnect- відключитися від сервера
    - Quit- Завершення роботи панелі управління.

    Server- Управління FTP-сервером. Містить підпункти:

    - Active- запустити/зупинити FTP-сервер. При встановленій галочці FTP-сервер запущено, при знятій зупинено.
    - Lock- заборонити/дозволити підключення до сервера. У разі встановлення галочки нові підключення до сервера заборонені.

    Edit- Редагування налаштувань. Підпункти:

    - Settings- Основні налаштування сервера.
    - Users- налаштування користувачів FTP-сервера
    - Groups- Налаштування груп користувачів.

    Як приклад, виконаємо налаштування сервера для наступних умов:

  • сервер знаходиться за NAT, має приватну IP-адресу, але має бути доступний з Інтернету, підтримує пасивний режим і використовує нестандартні TCP порти. Використання нестандартних портів дозволяє зменшити ймовірність хакерських атак, і крім того, деякі провайдери використовують фільтрацію трафіку та блокують стандартні 20 та 21 порти.
  • користувачі мають можливість завантажувати з сервера, закачувати на сервер, видаляти та перейменовувати файли та папки.
  • у разі використання динамічної IP-адреси, потрібно забезпечити доступність сервера за іменем DNS.
  • сервер буде функціонувати на робочій станції серед ОС Windows 7 / Windows 8.
  • Іншими словами, потрібно створити доступний з Інтернету FTP-сервер для обміну файлами між користувачами, зрозуміло безкоштовно. Цілком зрозуміло, що окрім створення необхідної конфігурації самого FTP - сервера, знадобиться зміна деяких налаштувань маршрутизатора, параметрів брандмауера Windows, вирішення проблеми динамічної IP-адреси, щоб сервер був доступний на ім'я, незалежно від зміни IP-адреси.

    Вирішення проблеми динамічної IP-адреси.

        Ця проблема не вимагає вирішення в тих випадках, коли при підключенні до інтернету використовується статична IP-адреса, або ж динамічна, але відповідно до настройок провайдера, практично завжди одна і та ж. В іншому випадку, можна скористатися технологією, що отримала назву Динамічний DNS (DDNS). Дана технологія дозволяє майже в реальному масштабі часу оновлювати інформацію про IP-адресу на DNS-сервері та отримувати доступ до маршрутизатора (і служб за ним) за зареєстрованим ім'ям, не звертаючи уваги на зміну динамічного IP.

    Для безкоштовної реалізації даної технології знадобиться реєстрація на якомусь сервісі динамічного DNS та встановлення клієнтського програмного забезпечення для оновлення запису DNS у разі зміни відповідної IP-адреси. Підтримку динамічного DNS, як правило, здійснюють виробники мережевого обладнання(D-Link, Zyxel та ін.), деякі хостингові та спеціалізовані компаніїнаприклад, широко відома DynDNS . Однак, після того, як у другій половині 2014 року всі послуги, які надавалися зареєстрованим користувачам безкоштовно для некомерційного використання, стали платними, найбільш популярним рішенням, мабуть, стало використання динамічного DNS на базі сервісу No-IP.org, який у безкоштовному режимінадає послуги з підтримки 2-х вузлів із динамічним IP. Для безкоштовного використання сервісу знадобиться реєстрація, і періодичне (приблизно 1 раз на місяць) відвідування сайту для оновлення інформації про вузли з динамічним IP. Якщо пропустити оновлення даних про сайт, то послуга припиняється, і, відповідно, підключитися до сайту на ім'я стане неможливо. Під час платного використання сервісу оновлення не потрібне.

        Практично всі сучасні маршрутизатори (модеми) мають вбудовану підтримку динамічного DNS-клієнта. Його налаштування зазвичай дуже проста - заповнюються поля з ім'ям користувача і паролем, а також з ім'ям вузла, отримані при реєстрації на сервісі DDNS. Приклад для Zyxel P660RU2

        Використання клієнта DDNS, вбудованого в маршрутизатор/модем краще в порівнянні з утилітою оновлення даних DNS, що працює в середовищі ОС, оскільки дозволяє реалізувати додаткові можливості, як, наприклад, управління маршрутизатором через Інтернет при вимкненому комп'ютері та віддалене включенняелектроживлення комп'ютерів за NAT за технологією Wake On Lan.

    У тих випадках, коли немає можливості використання вбудованого клієнта DDNS, доведеться обходитися прикладним програмним забезпеченням - програмою-клієнтом підтримки динамічного DNS. Така програма періодично підключається до сервера, який підтримує зареєстроване доменне ім'я, пов'язане з маршрутизатором, через який здійснюється підключення до Інтернету, і викликає процедуру оновлення IP, при його зміні. Налаштування сервера виконані таким чином, що зіставлення DNS-ім'я та IP-адреси інтернет-підключення виконується за дуже короткий час, і динамічний характер адреси практично не позначається на працездатності сервісів, пов'язаних з DNS-іменем.

    Порядок дій наступний:

  • Ідемо на сайт No-IP.org. Для роботи з вже наявним або новим обліковим записом використовується кнопка "Sign In"(У верхній правій частині сторінки).

  • Створюємо, якщо вона ще не створена, свою обліковий запис- тиснемо "Create Account". Форма реєстрації періодично змінюється, але обов'язковими є введення бажаного імені користувача, пароля та вашого E-mail. На вказаний при реєстрації e-mail надходить лист із посиланням на підтвердження реєстрації. При реєстрації вибираємо безкоштовний доступ - тиснемо кнопку Free Sign Upпісля заповнення всіх потрібних полів форми.
  • Після успішної реєстрації входимо на сайт і додаємо запис для свого вузла – тиснемо кнопку "Add Hosts"

    Фактично необхідно ввести тільки обране ім'я вузла, в даному випадку - myhost8.ddns.net. Інші параметри змінювати не потрібно. Потім необхідно завантажити та встановити спеціальне програмне забезпечення - Dynamic Update Client(DUC), посилання на який розміщено на головній сторінці сайту. Після завершення встановлення DUC виконається його запуск та відкриється вікно авторизації, де потрібно ввести ім'я користувача або E-mail та пароль, отримані при реєстрації на сайті no-ip.org. Потім натиснути кнопку Edit Hostaі поставити галочку навпроти створеного раніше імені сайту (myhost8.ddns.net). Тепер вибраному імені вузла буде постійно відповідати "біла IP-адреса" вашого підключення до Інтернету. У разі виникнення проблем із оновленням IP-адреси, перевірте, чи не блокується мережна активність клієнта DUC брандмауером.

    Налаштування FTP-сервера

        Використання нестандартних номерів портів для FTP-сервера зовсім не обов'язково, якщо провайдер не використовує фільтрацію трафіку, або вам байдуже сканування портів на вразливості та спроби підбору паролів. У цій статті використання FTP-сервера з нестандартними TCP-портами представлено в якості одного з можливих варіантів.

    Налаштування FileZilla Server виконуються через меню "Edit" - "Settings"

    Вікно General Settingsпризначено для загальних налаштувань сервера FTP.

    У полі "Listen on this port" можна вказати номер порту для вхідних TCP-з'єднань. За промовчанням у цьому полі встановлено значення 21 , і для використання нестандартного номера потрібно вказати обране значення, наприклад - 12321 . Використання нестандартного TCP-порту має деяку незручність, оскільки вимагає обов'язкової вказівки його значення під час створення сеансу:

    Якщо сервер планується використовувати як з доступом з Інтернету, так і в локальній мережі, є сенс залишити стандартне значення 21, а не стандартний номерпорту використовувати для підключень з Інтернету, налаштувавши перенаправлення пакетів, що прийшли на порт 12321 маршрутизатора, на порт 21 FTP-сервера в локальній мережі. При такому налаштуванні для FTP-сесій усередині локальної мережі вказувати номер порту не потрібно.

    Інші параметри призначені для налаштування продуктивності та таймутів сесій. Їх можна залишити без змін. Інші розділи загальних налаштувань також можна залишити за замовчуванням:

    Welcome Message- Текст, який передається клієнту при підключенні.

    IP Binding- на якому мережевому інтерфейсі очікуватимуться клієнтські підключення. За замовчуванням – на будь-якому, але можна вказати конкретний, наприклад – 192.168.1.3.

    IP Filter- Налаштування правил фільтрації IP-адрес клієнтів. За замовчуванням – дозволено підключення для будь-яких IP.

    Розділ Passive mode settingsслужить для налаштувань пасивного режиму FTP і вимагатиме зміни практично всіх параметрів, прийнятих за умовчанням.

    Номери портів, які будуть використовуватися для передачі даних у пасивному режимі, потрібно задавати вручну, оскільки потрібно налаштування маршрутизатора для перенаправлення їх на мережевий інтерфейс, що слухається сервером. Тому потрібно встановити галочку на роздільну здатність режиму "Use custom port range" і задати діапазон - наприклад від 50000 до 50020 . Кількість портів, які слухає сервер, визначає граничну кількість одночасних сеансів передачі даних.

    Підрозділ IPv4 specificвизначає IP-адресу, яка буде відправлятися сервером у відповідь на команду PASV. В даному випадку, це має бути не власний IP сервер 192.168.1.3, а "білий IP" нашого підключення до Інтернету. Тому потрібно встановити режим "Use the following IP" і замість IP-адреси ввести ім'я, отримане під час реєстрації на сервісі динамічного DNS - myhost8.ddns.net. В якості альтернативи можна використовувати режим визначення зовнішньої IP-адреси засобами проекту FileZilla, включивши. "Retrieve external IP Address from:". Даний варіант можна вибрати у випадках, коли немає можливості використовувати засіб динамічного DNS. Якщо передбачається використання FTP-сервера у своїй локальній мережі, потрібно встановити режим "Don"t use external IP for local connections" (не використовувати зовнішню IP-адресу для з'єднань усередині локальної мережі)

    Інші налаштування сервера можна залишити без змін або, при необхідності, виконати пізніше: Security settings- налаштування безпеки. За замовчуванням - заборонені з'єднання, які можуть бути використані для реалізації DDoS-атак

    Miscellaneous- Налаштування розмірів буферів та інших параметрів журналів та деяких команд FTP.

    Admin Interface settings- Налаштування панелі керування сервером. Можна вказати мережний інтерфейс, номер порту, що слухається, IP-адреси, з яких дозволено підключення до панелі керування і пароль.

    Logging- Налаштування журналу подій сервера. За промовчанням запис у файл не виконується.

    Speed ​​Limit- Налаштування обмеження швидкості передачі даних. За замовчуванням – без обмежень.

    Filetransfer compression- Налаштування стиснення файлів під час передачі. За замовчуванням – без стиску.

    SSL/TLS settingsувімкнення режиму шифрування переданих даних. За замовчуванням – без шифрування.

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

    Налаштування перенаправлення портів та брандмауера

    Для того, щоб FTP-сервер був доступний з Інтернету, необхідно виконати налаштування маршрутизатора таким чином, щоб вхідні з'єднання, що прийшли на певні TCP-порти зовнішнього інтерфейсу, перенаправлялися на TCP-порти, що слухаються FTP-сервером внутрішньої мережі. Для різних моделейНалаштування маршрутизаторів можуть відрізнятися термінологією, але зміст їх один і той же - прийнятий на зовнішньому (WAN) інтерфейсі TCP-пакет з певним номеромпорту переслати в локальну мережу на потрібну IP-адресу та порт. Приклад налаштувань маршрутизатора D-Link DIR-320NRU для перенаправлення портів, що використовуються для пасивного режиму FTP:

    Пакети, прийняті на інтерфейсі з "білим IP" і мають номери портів в діапазоні 50000-50020, будуть перенаправлятися на IP-адресу, що задається полем "Внутрішній IP" (у нашому випадку - 192.168.1.3). Аналогічно створюється перенаправлення для порту 50021, якщо ви змінили номер стандартного порту, або порт 21 FTP-сервера, якщо ви залишили його без зміни.

    Після застосування цих налаштувань, FTP-сервер буде доступний за URL ftp://myhost8.ddns.net:50021або, для з'єднання всередині локальної мережі:

    ftp://192.168.1.3- якщо ви не змінювали стантартний номер порту (21) у налаштуваннях FTP-сервера.

    ftp://192.168.1.3:50021- якщо використовується нестандартний номер порту.

    Замість IP-адреси можна використовувати ім'я комп'ютера, якщо вона може бути дозволена в IP-адресу

    ftp://comp1

    ftp://comp1.mydomain.ru

    Діагностика проблем

    Якщо підключення до FTP-сервера не відбувається, можливо, виникли проблеми з блокуванням брандмауером з'єднань, необхідних для роботи створеного FTP-сервера. Якщо використовується вбудований брандмауер Windows, необхідно додати правило, що дозволяє мережну активність для служби "FileZilla FTP server". Якщо використовується сторонній брандмауерабо антивірус з фільтрацією трафіку, то необхідно створити відповідне правило наявними засобами налаштувань для дозволу мережевих з'єднань. Можливі варіанти, коли налаштування робляться для вирішення будь-якої мережної активності конкретної програми, або для дозволу вибраних адрес та портів, що застосовуються до всіх програм.

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

    telnet localhost 21- якщо стандартний номер порту використовується.

    telnet localhost 50021- якщо змінено стандартний номер порту.

    Під час виконання цієї команди відбувається підключення до FTP-сервера за петльовим інтерфейсом і у вікні telnet має відобразитися запрошення сервера (Welcome Message). Якщо цього не відбувається, можливо, сервер зупинено, чи має місце конфлікт портів, або слухається не порт 21 (50021) . Для діагностики можна використовувати команду netstat:

    netstat -nab

    Параметри командного рядка означають:

    n- використовувати числові номери портів та адреси IP

    a- відображати всі з'єднання та слухаються порти

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

    Приклад відображених результатів виконання команди:

    Активні підключення

    Ім'я     Локальна адреса    Зовнішня адреса     Стан
    TCP         0.0.0.0:21                 0.0.0.0:0            
    TCP         0.0.0.0:135               0.0.0.0:0                
    RpcSs

    У колонці Локальна адресає значення 0.0.0.0:21 , Що говорить про те, що програма з ім'ям FileZilla Server.exeслухає (стан LISTENING) TCP порт з номером 21 на всіх мережевих інтерфейсах. Якщо в налаштуваннях FTP-сервера було вказано конкретний інтерфейс та інший номер порту, це значення міститиме IP:порт, наприклад - 192.168.1.3:50021

    Для виведення результатів у посторінковому режимі, можна скористатися командою:

    netstat-nab | more

    Або використовувати пошук результатів за номером порту: netstat-nab | find ":21"

    Якщо сервер недоступний на непетлевому інтерфейсі, і доступний на петльовому - потрібно розбиратися з параметрами брандмауера.

    Налаштування користувачів та груп.

    Налаштування користувачів та груп виконується через меню "Edit" - "Users" ("Groups"). Групи створювати необов'язково, але іноді зручно, для випадків, коли є велика кількістьКористувачів та їх права по відношенню до FTP-сервера різняться. Налаштування та груп та користувачів практично ідентичні:

    У цьому прикладі відображено результат додавання користувача FTP-сервера з ім'ям user1має повні правана запис, читання, видалення та злиття файлів, а також на перегляд вмісту, видалення та створення підкаталогів у каталозі C:\ftp\public

    На сторінці Generalвиконується додавання, видалення та зміна властивостей користувачів.
    На сторінці Shared Foldersвиконуються налаштування, що визначають перелік каталогів файлової системи, які використовуватимуться FTP-сервером для надання доступу до них за протоколом FTP. Кожному користувачеві або групі користувачів може надаватись свій каталог з певними правами по відношенню до його вмісту.
    На сторінці Speed ​​limitsможна задавати обмеження швидкості обміну даними.
    На сторінці IP Filterможна встановити правила фільтрації для IP-адреси користувача, вказавши адреси з яких заборонено або дозволено підключення до сервера.

    Список основних команд FTP

    ABOR - Перервати передачу файлу
    CDUP - Змінити директорію на вищу.
    CWD – Змінити поточну директорію.
    DELE - Видалити файл (DELE filename).
    HELP - Виводить список команд, що приймаються сервером.
    LIST – Повертає список файлів директорії. Список передається через з'єднання даних (20 порт).
    MDTM – Повертає час модифікації файлу.
    MKD - Створити директорію.
    NLST - Повертає список файлів директорії у більш короткому форматі, ніж LIST. Список передається через з'єднання даних (20 порт).
    NOOP - Порожня операція
    PASV - Увійти до пасивного режиму. Сервер поверне адресу та порт до якого потрібно підключитися, щоб забрати дані. Передача розпочнеться під час введення команд RETR, LIST тощо.
    PORT – Увійти в активний режим. Наприклад PORT 12,34,45,56,78,89. На відміну від пасивного режиму передачі даних сервер сам підключається до клієнта.
    PWD – Повертає поточну директорію сервера.
    QUIT - Вимкнутись
    REIN - Реініціалізувати підключення
    RETR - Завантажити файл. Перед RETR має бути команда PASV чи PORT.
    RMD - Видалити директорію
    RNFR та RNTO - Перейменувати файл. RNFR - що перейменовувати, RNTO - у що.
    SIZE - Повертає розмір файлу
    STOR - Завантажити файл на сервер. Перед STOR має бути команда PASV чи PORT.
    SYST - Повертає тип системи (UNIX, WIN,)
    TYPE - Встановити тип передачі файлу(A- текстовий ASCII, I - двійковий)
    USER - Ім'я користувача для входу на сервер

    Приклад FTP-сесії

    FTP-клієнт підключається до сервера з ім'ям користувача user1порожнім паролем і завантажує файл з ім'ям cpu-v. Червоним кольором виділено повідомлення FTP-сервера, синім – FTP-клієнта. Обмін директивами та параметрами може незначно відрізнятися для різних версій програмного забезпечення FTP-клієнта та FTP-сервера.

    Після підключення сервер передає клієнту відомості про себе:
    220-FileZilla Server version 0.9.45 beta
    220-written by Tim Kosse ( [email protected])
    220 Please visit http://sourceforge.net/projects/filezilla/
    Клієнт передає ім'я користувача:
    USER user1
    Сервер запитує введення пароля:
    331 Password required for user1
    Клієнт передає порожній пароль:
    PASS
    Сервер перевіряє обліковий запис користувача та повідомляє про початок сеансу:
    230 Logged on
    Клієнт запитує тип операційної системи на сервері:
    SYST
    Сервер повідомляє, що тип Unix, емульований Filezilla-сервером:
    215 UNIX emulated by FileZilla
    Клієнт запитує перелік параметрів, які підтримує сервер:
    FEAT
    Сервер відповідає переліку підтримуваних параметрів:
    211-Features:
    MDTM
    REST STREAM
    SIZE
    MLST type*;size*;modify*;
    MLSD
    UTF8
    CLNT
    MFMT
    211 End

    Клієнт запитує поточний каталог сервера:
    PWD
    Сервер повідомляє, що поточний каталог – кореневий ("/"):
    257"/" is current directory.
    Клієнт повідомляє, що передаватиме двійкові дані:
    TYPE I

    Сервер підтверджує тип даних, що передаються:
    200 Type set to I
    Клієнт повідомляє, що використовуватиме пасивний FTP-режим:
    PASV
    Сервер повідомляє про перехід у пасивний режим і передає IP та порт для пасивного FTP-режиму.
    227 Entering Passive Mode (212,248,22,114,195,97)
    Клієнт просить прийом файлу з ім'ям cpu-vз поточного каталогу сервера
    RETR cpu-v
    Сервер повідомляє про початок передачі:
    150 Opening data channel for file download від "/cpu-v"
    Після завершення сервер повідомляє про успішну передачу:
    226 Successfully transferred "/cpu-v"

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

    Стаття з коротким описомбезкоштовний FTP клієнт для Linux, Mac OS і Windows. Даний FTP клієнт підтримує безліч прикладних протоколів передачі - FTP, FTP поверх SSL/TLS (FTPS), SSH File Transfer Protocol (SFTP), HTTP, SOCKS і FTP-Proxy. Іншими словами, Filezilla FTP Client - це універсальне програмне забезпечення для прийому та передачі файлів за всіма сучасними прикладними протоколами між вузлами на різних платформах.

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

    Хоча передача файлів від однієї системи до іншої здається простим і прямолінійним завданням, спочатку мають вирішити деякі проблеми. Наприклад, дві системи можуть використовувати різні угоди про імена файлів. Дві системи можуть мати різні шляхи для представлення текстів та даних. Дві системи можуть мати різні структури директорій. Всі ці проблеми вирішує FTP дуже простим та елегантним методом.

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

    FTP використовує два задані порти: порт 21 для керування та порт 20 для передачі даних.


    Мал. 13.5.

    Тип файлу

    FTP може передавати через з'єднання передачі даних такі типи файлів:

    • ASCII-файл. Це формат, який використовується за умовчанням для трансляції текстових файлів. Кожен символ закодовано за допомогою NVT ASCII-символів. Передавач перетворює файл із власного уявлення в NVT ASCII, і приймач перетворює символи NVT ASCII у власне уявлення.
    • EBCDIC-файл. Якщо обидва кінці з'єднання використовують кодування EBCDIC, файл може бути переданий з використанням кодування EBCDIC.
    • Image-файл. Цей файл за промовчанням – формат для передачі двійкових файлів. Файл посилається як безперервний потік біт без будь-якої інтерпретації та кодування. Він у більшості випадків використовується для передачі двійкових файлів, таких як програма компілювання.

    Якщо файл закодовано в ASCII або EBCDIC, інші атрибути повинні доповнюватися, щоб визначити можливість друку файлу:

    1. Заборонено для друку. Це стандартний формат для передачі текстових файлів. Файл не містить вертикальних специфікацій для друку. Це означає, що файл не може бути надрукований без попередньої обробки, тому що він не містить символів, що інтерпретуються для вертикального пересування друкувальної головки. Цей формат використовується для файлів, які будуть накопичені та оброблені пізніше.
    2. TELNET. У цьому форматі файл містить NVT ASCII вертикальні символи, такі як CR (переклад каретки), LN (переклад рядка), NL (новий рядок) і VT (вертикальне табулювання). Ці файли можуть бути надруковані після передачі

    Структура даних

    FTP може передавати файл з'єднання для передачі даних, використовуючи одну з наступних інтерпретацій структури даних:

    • Файлова структура (за замовчуванням). Цей файл не має структури. Це безперервний потік даних.
    • Структура запису. Цей файл, розділений усередині запису, може бути використаний лише з текстовим файлом.
    • Сторінка структура. Це файл, поділений на сторінки, кожна сторінка має номер і заголовок сторінки. Сторінки можуть бути накопичені або досягнуті за допомогою довільного чи послідовного доступу.

    Режими передачі

    FTP може передавати файл з'єднання передачі даних, використовуючи один з трьох наступних режимів передачі:

    • Поточний режим. Це стандартний режим. Дані надходять від FTP до TCP як безперервний потік даних. TCP відповідає за розбиття даних на сегменти відповідного розміру. Якщо дані - просто потік байтів ( файлова структура), то не потрібно ніякої ознаки закінчення файлу. Закінчення файлу у разі - це роз'єднання з'єднання даних відправником. Якщо дані розділені на записи (структура запису), кожен запис матиме однобайтний символ закінчення запису ( EOR - end of record).
    • Блоковий режим. Дані можуть бути доставлені від FTP та TCP у блоках. І тут блоку передує трибайтний заголовок. Перший байт називається дескриптор блоку, наступні два байти визначають розмір блоку в байтах.
    • Стиснутий режим. Якщо файл великий, дані можуть бути стиснуті. Метод стиснення використовує нормальне кодування довжини. У цьому методі послідовна повторна поява блоку даних замінюється одним входженням та числом повторень. У тексті файлу це зазвичай пропуск (порожнечі). У двійковому файлі нульові символи зазвичай стискаються.

    FTP використовує з'єднання управління для встановлення зв'язку між процесом управління клієнта. Протягом цього зв'язку команди надсилаються від клієнта до сервера, і відгуки надсилаються від сервера до клієнта (рисунок 13.6).


    Мал. 13.6.

    FTP – File Transfer Protocol. Головне призначення FTP – це пересилати (копіювати, передавати) файли. FTP можна використовувати самостійно, а також через інші системи, наприклад WWW має FTP як частину свого протоколу.

    FTP сервери розкидані по всьому світу, але для з'єднання з ними не потрібно знання їхнього фізичного розташування. У Internet до комп'ютера звертаються за адресою. Наприклад, FTP сервер фірми Borland має адресу ftp.borland.com

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

    Сервіс FTP (File Transfer Protocol) дозволяє користувачам однієї машини отримувати доступ до файлової системи іншої та отримувати (передавати) файл із машини на машину. FTP є внутрішнім протоколомпередачі файлів ОС UNIX.

    FTP є інтерфейсом користувача, що реалізує ARPANET стандартний (IP) протокол передачі файлів. Ця програма дозволяє користувачеві передавати файли між двома комп'ютерами, пов'язаними між собою локальною чи глобальною мережею. У цьому комп'ютерні платформи може бути різних типів, що становить головну особливість сервісу FTP в Internet.

    Існує два способи організації доступу до файлової системи віддаленого комп'ютера (системи) за протоколом FTP: авторизований та анонімний.

    Авторизований доступ. На конкретній віддаленій системі використовувати авторизований доступ мають право лише користувачі цієї віддаленої системи, після підтвердження свого імені користувача (login або user name) і пароля (password), тобто після входу в систему. Після входу в систему користувач, як правило, отримує доступ до свого домашнього каталогу та всіх інших файлових ресурсіввіддаленої системи, до яких він має право на доступ.

    Анонімний доступ FTP є новою службою Інтернет, що виникла в кінці 80-х років. Такий доступ забезпечується під виглядом спеціально виділеного користувача (якого найчастіше називають «anonymous» і який має пароль, що збігається з адресою електронної пошти). При вході в систему з правами anonymous отримуєте доступ до спеціально виділеного для цих користувачів каталогом (як правило, тільки на читання), який називається FTP-сервером. Повідомляти серверу як пароль адресу своєї електронної пошти не є обов'язковим, вважається правилом «хорошого тону» в поведінці користувача.

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

    На FTP серверах знаходяться гігантські архіви файлів, в яких можна знайти базове програмне забезпечення, утиліти та нові версії драйверів, програми виправлення помічених у комерційних програмах помилок (patches), документацію, адреси, збірники та багато іншого. Практично все, що може бути надане світовій спільноті у вигляді файлів, доступне з серверів anonymous FTP. Це і програми, що вільно розповсюджуються і демонстраційні версії, це мультимедіа, це, нарешті, просто тексти — закони, книги, статті, звіти.

    Доступ до FTP сервера, у більшості операційних систем, як правило, організований через виклик спеціальної утиліти FTP. Хоча існують різні програмні оболонки як під UNIX (наприклад, ncftp2), так і під MS Windows (наприклад, Norton Navigator), що реалізують протокол FTP і полегшують роботу з цією службою Інтернет.

    Таким чином, якщо ви маєте IP-з'єднання та вихід у глобальний Інтернет, то викликавши утиліту ftp, набравши відповідну адресу (або ім'я FTP-сервера), назвавшись «anonymous» і надіславши як пароль свою E-mail адресу ви отримаєте доступ до обраного вами файлового архіву.

    Наприклад:

    >ftp ftp.ict.nsc.ru

    ftp>login: anonymous

    ftp>passwd: ваш@email.адреса

    Анонімний доступ до FTP серверу можна отримати також, використовуючи програму просмоторника WWW сторінок (MS Internet Explorerабо Netscape Navigator). До того ж більшість FTP серверів дозволяють отримувати файли електронній пошті.

    за FTP доступу anonymous вам доступні файли, що зберігаються на файлових архівах по всьому світу. Багато інформації, що зберігається на різних серверах у тій чи іншій мірі задубльована, до того ж багато серверів мають mirror-сервер, розташований у різних частинах світової мережі і самі можете вибирати з якого сервера краще перекачувати ту чи іншу інформацію.

    Найпростіша модель роботи протоколу FTP представлена ​​малюнку 1. У FTP з'єднання ініціюється інтерпретатором протоколу користувача. Управління обміном здійснюється каналом управління у стандарті протоколу TELNET. Команди FTP генеруються інтерпретатором протоколу користувача та передаються на сервер. Відповіді сервера надсилаються користувачеві також каналом управління. У випадку користувач має можливість встановити контакт з інтерпретатором протоколу сервера і відмінними від інтерпретатора протоколу користувача засобами.


    Рис.1.Модель роботи протоколу FTP

    FTP (File Transfer Protocol - протокол передачі файлів) -

    протокол сімейства TCP/IP, що забезпечує можливість знайти, отримати та переслати потрібні файличерез Internet з одного комп'ютера в інший.

    Команди FTP визначають параметри каналу передачі і самого процесу передачі. Вони також визначають характер роботи з віддаленої і локальної файловими системами.

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

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

    Алгоритм роботи протоколу FTP полягає в наступному:

    FTP-сервер використовує як керуюче з'єднання на TCP порт 21, який завжди знаходиться в стані очікування з'єднання з боку користувача FTP.

    Після встановлення керуючого з'єднання модуля «Інтерпретатор протоколу користувача» з модулем сервера - «Інтерпретатор протоколу сервера», користувач (клієнт) може відправляти на сервер команди. FTP-команди визначають параметри з'єднання передачі даних: роль учасників з'єднання (активний або пасивний), порт з'єднання (як для модуля «Програма передачі даних користувача», так і для модуля «Програма передачі даних сервера»), тип передачі, тип даних, що передаються, структуру даних та керуючі директиви, що позначають дії, які користувач хоче здійснити (наприклад, зберегти, рахувати, додати або видалити дані або файл та інші).

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

    Після закінчення передачі даних з'єднання між «Програмою передачі даних сервера» та «Програмою передачі даних користувача» закривається, але керуюче з'єднання «Інтерпретатора протоколу сервера» та «Інтерпретатора протоколу користувача» залишається відкритим. Користувач, не закриваючи сесії FTP, може знову відкрити канал передачі.

    Можлива ситуація, коли дані можуть передаватись на третю машину. У цьому випадку користувач організує канал управління з двома серверами та прямий канал даних між ними. Команди управління йдуть через користувача, а дані безпосередньо між серверами. Канал керування повинен бути відкритий під час передачі даних між машинами. Інакше у разі його закриття передача даних припиняється.

    Основу передачі даних FTP становить механізм встановлення з'єднання між відповідними портами та вибору параметрів передачі. Кожен учасник FTP-з'єднання повинен підтримувати стандартний порт передачі даних. За замовчуванням «Програма передачі даних користувача» використовує той самий порт, що й передачі команд (позначимо його «U»), а «Програма передачі сервера» використовує порт L-1, де «L»- управляючий порт. Однак учасниками з'єднання використовуються порти передачі даних, вибрані для них «Інтерпретатором протоколу користувача», оскільки з керуючих процесів, що беруть участь у з'єднанні, тільки «Інтерпретатор протоколу користувача» може змінити порти передачі даних як у «Програми передачі даних користувача», так і у «Програми передачі сервера».

    Пасивна сторона з'єднання повинна до того, як буде подано команду "почати передачу", "слухати" свій порт передачі даних. Активна сторона, яка подає команду на початок передачі даних, визначає напрямок переміщення даних.

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

    Як правило, сервер FTP відповідає за відкриття та закриття каналу передачі даних. Сервер FTP повинен самостійно закрити канал передачі даних у таких випадках:

    Сервер закінчив передачу даних у форматі, який потребує закриття з'єднання.

    Сервер отримав від користувача команду "перервати з'єднання".

    Користувач змінив параметри порту даних.

    Було закрито керуюче з'єднання.

    Виникли помилки, за яких неможливо відновити передачу даних.

    Загальні недоліки:

    - Невисока надійність з'єднання на поганих лініях;

    – проблеми, що зустрічаються при обриві з'єднання з включеним proxy;

    - невисока швидкість роботи через закриття з'єднання після пересилання;

    - Недоступність файлів через ftp, адресованих через протокол http(хоча це і не брак самого http, це його особливість.)

    – потрібне встановлення FTP-клієнта;

    – після завантаження необхідно перевірити ключові слова та надіслати знімки на перевірку через Web-інтерфейс

    Недоліки FTP-серверів:

    FTP-сервери є потенційною діркою в системі безпеки мережі. Тож якщо планується організація архівів, бібліотек, тобто. сховищ даних, доступних для широкого доступу, краще не запускати FTP сервер взагалі. Однак даний сервісшироко поширений, тому його безпеки необхідно приділити найпильнішу увагу. Слід відразу помітити, що всі FTP-сервери вразливі тією чи іншою мірою. Але розбіжності у реалізації та зміни призводять у одних випадках відмови від обслуговування, а інших — до повного контролю над хостом. Причому через особливості протоколу FTP можуть бути уражені як сервери, і клієнти.

    FTP сервери досить нестійкі до атак DoS.

    Однією із проблем FTP-серверів є відсутність автентифікації джерела пакетів. Суть у наступному: під час встановлення з'єднання сервер прослуховує один із TCP портів, повідомляє його номер клієнту, після чого клієнт відкриває вказаний порт і починає передачу даних. Це так званий пасивний режим. При активному режимі TCP порт призначає клієнт, сервер відкриває з'єднання з порту 20 на порт, призначений клієнтом. Оскільки в процесі сеансу справжність абонента не перевіряється, то можлива атака наступного виду: відкритий портперіодично надсилаються запити на TCP з'єднання. Як тільки з'єднання встановлено, відбувається заміна клієнта. Вразливість до цієї атаки демонструють усі ftpd – сервери.

    Недоліки FTP-клієнтів:

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

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

    Інформація у FTP-архівах розділена в основному на три категорії:

    Захищена інформація, режим доступу до якої визначається її власниками та дозволяється за спеціальною угодою зі споживачем. До цього виду ресурсів належать комерційні архіви (наприклад, комерційні версії програм в архівах ftp.microsoft.com), закриті національні та міжнародні некомерційні ресурси (наприклад, роботи з міжнародних проектів CES або IAEA), приватна некомерційна інформація зі спеціальними режимами доступу (наприклад , Приватні благодійні фонди).

    Інформаційні ресурси обмеженого використання, до яких належать, наприклад, програми класу shareware. Цей клас може включати ресурси обмеженого часу використання або обмеженого часу дії.

    Вільно розповсюджуються інформаційні ресурси або freeware, якщо йдеться про програмне забезпечення. До цих ресурсів відноситься все, що можна вільно отримати через мережу без спеціальної реєстрації. Це може бути документація, програми або щось інше. Слід зазначити, що програмне забезпечення, яке вільно розповсюджується, не має сертифікату якості, але його розробники відкриті для обміну досвідом. З перерахованих вище ресурсів найцікавішими є дві останні категорії, які, як правило, оформлені у вигляді FTP-архівів.

    Технологія FTP була розроблена в рамках проекту ARPA і призначена для обміну великими обсягами інформації між машинами різною архітектурою. Головним у проекті було забезпечення надійної передачі, тому з сучасної точки зору FTP здається перевантаженим зайвими можливостями, що рідко використовуються. Стрижень технології складає FTP-протокол.

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

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

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

    На цій схемі показано два важливі технологічні моменти: по-перше, доступ до архіву можна здійснювати не тільки зі спеціалізованої програми-клієнта, але і з універсального броузера, наприклад Netscape Communicator або Microsoft Internet Explorer, а по-друге, для пошуку інформації у FTP -архіви можна скористатися програмою Archie.

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


    Рис.2. Схема взаємодії компонентів FTP-обміну

    FTP site (ftp-сторінка)

    комп'ютер у мережі Internet, у якому ведеться файловий архів, доступний віддалених користувачів.

    FTP-сервер

    програма, що працює на такому комп'ютері та забезпечує обробку запитів до архіву.

    anonymous FTP server

    FTP-сервер, який дозволяє використовувати свій файловий архів без паролів доступу.

    FTP-клієнти

    програми, які використовуються для доступу до архівів on-line.

    ля з'єднання з віддаленим FTP-site у відповідь на системне запрошення (>) введіть:

    > FTP |

    або

    > ftp

    ftp>open |

    де - адреса, доменне ім'я віддаленої FTP-site, наприклад:

    > ftp

    ftp>open ftp.ict.ncs.ru

    Якщо віддалена FTP-site не відкинула надісланий запит на з'єднання, наприклад, через перевантаженість, вона запросить вхідне ім'я (login). Як правило, можна ввести ftp або anonymous. Якщо додатково запитується пароль (Passwd), зазвичай потрібно ввести свою адресу в Мережі (отже термін anonymous не розуміється в буквальному сенсі, так як для підключення до сервера може бути проведена перевірка вказаної і реальної зворотної адреси, а ті, у кого anonymous помилково асоціюється з анонімністю, можуть завжди користуватися замість anonymous ім'ям ftp). Якщо на FTP-site немає заборони доступу для сторонніх абонентів, можна звернутися до його архіву.

    Основні команди FTP є наступними.

    Деякі FTP команди можуть відрізнятися залежно від типу комп'ютерної платформи та операційної системи, але в цілому це звичайні UNIX команди. Ви завжди можете перевірити їх список, набравши 'help' або '?'. Крім того, якщо ви працюєте в UNIX системі, то зазвичай довідкова інформація про FTP доступна за командою man — наберіть 'man ftp' ​​або 'man ftpd'. У manual pages OS UNIX містяться вичерпні дані про команди і їх синтаксис.

    open -

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

    Приклад:

    ftp>open ftp.ict.nsc.ru

    user -

    дозволяє повторно ввести вхідне ім'я та пароль. Корисна, скажімо, якщо віддалена машина не допускає користувачів з ім'ям ftp, але може допустити з ім'ям anonymous.

    Приклад:

    ftp> user anonymous

    close -

    закриває зв'язок із даною FTP-site

    bye чи quit.

    Закриває всі зв'язки та припиняє виконання програми ftp.

    help чи? -

    запитує допомогу по командах ftp, які підтримуються на вашій локальній машині. Може мати параметр — ім'я команди, що цікавить. Якщо параметр не заданий, виводить список команд ftp, аналогічний даному опису, англійською мовою.

    remotehelp -

    запитує довідку, які команди FTP підтримує віддалений FTP сервер.

    ! [команда[аргументи]]

    Вихід у shell – інтерпретатор на вашій локальній системі.

    Як правило, віддалений FTP-сервер розміщують на комп'ютері, що працює під будь-який різновид ОС Unix. Файлова система Unix проти MS DOS має деякі особливості. Хоча вона організована ієрархічно, подібно до MS-DOS, імена каталогів у ній поділяються символом "/", а не "\". Кореневий каталог позначається просто як "/" (у тому числі і кореневий каталог сервера FTP).

    Ім'я файлу може мати довільну (Unix цих обмежень на формат імені файлу і, більше того, файл може мати кілька префіксів (розширень), що починаються з точки, наприклад, file.my.love. І найголовніше, на відміну від MS DOS і MS Windows, малі та прописні літерив іменах файлів вважаються різними.

    Встановивши з'єднання з файловою системою віддаленого комп'ютера, орієнтуватися і переміщатися в ній можна за допомогою стандартних команд з параметрами (ключами) або без параметрів операційної системи Unix:

    pwd -

    Визначити поточний каталог на віддаленому комп'ютері.

    ls -

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

    dir -

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

    mls -

    Помістити короткий список файлів і каталогів каталогу на віддаленій машині у файл на локальному пристрої.

    mdir -

    Розмістити детальний список файлів та підкаталогів каталогу на віддаленій машині у файл на локальному комп'ютері.

    mkdir -

    ftp>mkdir [ім'я_каталогу]

    Створити каталог на віддаленій машині.

    cd -

    Перейти до іншого каталогу на віддаленому комп'ютері.

    lcd -

    Перейти до іншого каталогу на локальному комп'ютері.

    Приклади:

    ftp> lcd /pub/doc

    ftp> dir internet/example

    ftp>mdir /doc/ftp/news_ftp.txt

    Встановлення режимів передачі файлів (усі команди без параметрів)

    ascii -

    Встановлює текстовий режим передачі файлів.

    binary або bin

    Встановлює бінарний режим, необхідний, наприклад, для передачі виконуваних файлів.

    verbose

    Вмикає/вимикає виведення протокольних та статусних повідомлень віддаленої машини.

    prompt -

    Включає/вимикає запити на перехід до передачі чергового файлу макрокомандах типу mget *.

    Команди передачі файлів

    При роботі з файлами ви можете або вказати його повне ім'я в поточному каталозі (або разом з шляхом від кореня або від поточного каталогу) або використовувати групову операцію UNIX'а (маску). При завданні маски використовуються правила, прийняті в OS UNIX: символ * позначає будь-яку кількість символів, що стоять на його місці; символ "?" означає один символ, що стоїть на його місці.

    get або recv -

    ftp>get [віддалений_файл] [локальний_файл]

    Отримати файл віддаленого комп'ютера. Як обов'язковий параметр потрібно вказати ім'я цього файлу на віддаленій машині. Дозволяє другий параметр – нове ім'я файлу на локальному комп'ютері.

    Приклад:

    ftp> get /pub/winsite/news/win.zip

    mget -

    ftp>mget [список віддалених_файлів]

    Отримати кілька файлів за списком або відповідно до маски. приклад. Отримати файл news.txt та всі файли з розширенням tex:

    ftp> mget news.txt *.tex

    put або s -

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

    Приклад:

    ftp> put myfile newmyfile.

    mput -

    Переслати кілька файлів за списком чи маскою. приклад. Переслати файл myfile.txt та всі файли з розширенням doc:

    ftp> mput myfile.txt *.doc

    delete [ім'я_файлу]

    Стерти файл на віддаленій машині (вимагає авторизованого доступу).

    Пошук у архівах FTP

    Archie. Перші сайти почали з'являтися в 1993 році, в більшості це були сайти університетів, але задовго до того, як з'явилися вони, з'явився «Арчі», так називалася перша створена пошукова система. Він з'явився в 1990 році завдяки Алану Емтагу, студенту університету МакГіла в Монреалі. Спочатку проект хотіли назвати "Архіви", але потім скоротили до Арчі.

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

    В даний час доступ по FTP-протоколу здійснюється з безлічі мультипротокольних інтерфейсів (наприклад, Mosaic або Netscape) або графічних ftp-оболонок типу ftptool для X-Window. Всі вони набагато зручніші та простіші у використанні, але й споживають набагато більше ресурсів.

    Цікаво, що FTP-сервер є навіть для MS-DOS (пакет NCSA Telbin), не кажучи про багатозадачних середовищах. Однак пошук потрібного FTP-сервера в Internet - завдання складне та трудомістке. Для її полегшення існує спеціальний засіб Archie. Archie був розроблений в Університеті McGill у Канаді. Завдання Archie — сканувати FTP-архіви щодо наявності в них необхідних файлів. Працювати з Archie можна через telnet-сесію, через локального клієнтаабо електронною поштою.

    WAIS(Wide Area Information Server) розподілена система пошуку інформації (В даний час утиліта застаріла і не використовується. Стаття збережена для розуміння еволюції Інтернет). Пошук здійснюється за базами даних, що містять текстові документи(але допустимі також графічні, звукові чи відео документи). Тематика баз даних та пошуку довільні. Бази даних можуть мати будь-яку структуру, але користувач не повинен знати мови управління цими базами. WAIS використовує природну керуючу мову. WAIS доступний в Інтернеті. Для користувачів, які мають доступ лише до електронної пошти, призначено інтерфейс, розміщений за адресою [email protected]. У мережі Інтернет існує багато серверів WAIS. Список депозитаріїв серверів досить широкий, можна почати з анонімного FTP за адресою Think.com секція /wais, файл wais-sources.tar.Z (файл архівований і пересилання має здійснюватися в режимі BINARY). В даний час багато WAIS-серверів інтегровані в мережі WEB.

    Існують клієнт-сервери WAIS для систем MS-DOS, VMS, MVS, OS/2, UNIX та Macintosh, а також GNU Emacs, NeXT, X-Windows, MS-Windows, Sunview і т.д. Ці продукти дещо відрізняються один від одного, але зазвичай процедура містить такі кроки:

    Користувач вибирає набір баз даних, де буде проводитися пошук, з наявних.

    Формулюється завдання на пошук, вибираються ключові слова.

    У процесі пошуку WAIS запитує інформацію із усіх зазначених баз даних.

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

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

    За потреби користувач може переформулювати критерії відбору та повторити пошук.

    Знову знайдені документи, якщо вони не збігаються з вже відомими, будуть додані до списку.

    Veronica. Для пошуку у віртуальній файловій системі GopherSpace розроблено систему Veronica. Звертання до неї міститься у кореневому меню більшості серверів Gopher. Це повноцінна інформаційно-пошукова система (ІПС), яка дозволяє здійснювати пошук з використанням ключових слів у масивах, які підтримує зареєстровані в університеті Міннесоти сервери GopherSpace.

    Jughead.Арчі став настільки популярним, що група System Computing Services при університеті Невади створила Veronica, яка служила тим же цілям, що й Арчі, але шукала тексти документів у простому текстовому форматі. Всорі з'явився ще один інтерфейс для пошуку інформації - Jughead, який служив тим же цілям, що і Veronica. Вони обидва працювали з документами, що пересилаються через Gopher, який був створений як альтернатива «Арчі» Марком МакКахілом в університеті Міннесоти у 1991 році.

    2. Пошукові сервери. Спеціалізовані програмидля завантаження файлів. http клієнти

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

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

    Перші версії, такі як HTTP/0.9, були простими протоколами передачі даних через Інтернет. Версія HTTP/1.0, описана в RFC-1945, покращила протокол, дозволивши використання повідомлень у форматі MIME, що містять метаінформацію про передані дані, і модифікатори для запитів/відгуків. Подальший розвиток мереж WWW-серверів вимагає нових удосконалень, які навряд чи є останніми.

    Реальні інформаційні системи потребують великих можливостей, ніж простий пошук та доставка даних. Для опису характеру, найменування та місця розташування інформаційних ресурсів запроваджено: універсальний ідентифікатор ресурсу URI (Uniform Resource Identifier), універсальний покажчик ресурсу URL та універсальне ім'я ресурсу URN. Формат повідомлень подібний до використовуваних в електронній пошті та описаний у стандарті MIME (Multipurpose Internet Mail Extensions).

    HTTP використовується також як базового протоколудля комунікації користувальницьких агентів з проксі-серверами та іншими системами Інтернету, у тому числі й протоколи SMTP, NNTP, FTP, Gopher і Wais. Остання обставина сприяє інтегруванню різних служб Інтернету.

    Усі транзакції HTTP мають один загальний формат. Кожен запит клієнта та відповідь сервера складається з трьох частин: рядка запиту (відповіді), розділу заголовка та тіла. Клієнт ініціює транзакцію таким чином:

    1. Клієнт встановлює зв'язок із сервером за призначеним номером порту (за замовчуванням - 80). Потім клієнт надсилає запит документа, вказавши команду HTTP, звану методом, адресу документа і номер версії HTTP. Наприклад, у запиті

    GET /index.html HTTP/1.0

    використовується метод GET, Яким за допомогою версії 1.0 HTTP запитується документ index.html. Методи HTTP докладніше розглядаються нижче.

    2. Клієнт надсилає інформацію заголовка (необов'язкову), щоб повідомити серверу інформацію про конфігурацію та дані про формати документів, які він може приймати. Вся інформація заголовка вказується рядково, при цьому в кожному рядку наводиться ім'я та значення. Наприклад, наведений нижче заголовок, надісланий клієнтом, містить його ім'я та номер версії, а також інформацію про деякі кращі для клієнта типи документів:

    User-Agent: Mozilla/4.05 (WinNT; 1)

    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*

    Завершується заголовок порожнім рядком.

    3. Надіславши запит і заголовки, клієнт може надіслати і додаткові дані. Ці дані використовуються переважно тими CGI-програмами, які застосовують метод POST. Клієнти (наприклад, Netscape Navigator-Gold) також можуть використовувати їх для розміщення відредагованої сторінки назад на Web-сервер.

    Сервер відповідає на запит клієнта так:

    1. Перша частина відповіді сервера - рядок стану, що містить три поля: версію HTTP, код стану та опис. Поле версії містить номер версії HTTP, який сервер використовує для передачі відповіді.

    Код стану – це трирозрядне число, що означає результат обробки сервером запиту клієнта. Опис, що йде за кодом стану, є просто зрозумілий для людини текст, що пояснює код стану. Наприклад, рядок стану

    НТТР/1.0 200 ОК

    говорить про те, що для відповіді сервер використовує версію HTTP 1.0. Код стану 200 означає, що запит клієнта був успішним і затребувані дані будуть надіслані після заголовків.

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

    Server: Apache/1.2.6

    Content-type: text/html

    Content-length: 2482

    Завершує заголовок порожній рядок.

    3. Якщо запит клієнта успішний, то надсилаються потрібні дані. Це може бути копія файлу або результат виконання програми CGI. Якщо запит клієнта задовольнити не можна, надсилаються додаткові дані у вигляді зрозумілого для користувача роз'яснення причин, з яких сервер не зміг виконати цей запит.

    У HTTP 1.0 за передачею сервером затребуваних даних слід роз'єднання з клієнтом, і транзакція вважається завершеною, якщо не передано заголовок Connection: Keep Alive. У HTTP 1.1 сервер за замовчуванням не розриває з'єднання і клієнт може надсилати інші запити. Оскільки в багато документів вбудовані інші документи - зображення, кадри, аплети і т.д., це дозволяє заощадити час і витрати клієнта, якому в іншому випадку довелося б для отримання лише однієї сторінки багаторазово з'єднуватися з одним сервером. Таким чином, HTTP 1.1 транзакція може циклічно повторюватися, поки клієнт або сервер не закриє з'єднання явно.

    HTTP не зберігає інформацію про транзакції, тому в наступній транзакції доводиться починати все знову. Перевага полягає в тому, що сервер HTTP може обслуговувати в заданий проміжок часу набагато більше клієнтів, тому що усуваються додаткові витрати на відстеження сеансів від одного з'єднання до іншого. Є й недолік: для збереження інформації про транзакції складніші CGI-програми повинні користуватися прихованими полями введення або зовнішніми засобами, наприклад «ключиками» (cookies) Netscape.

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

    Деякі пошукові сервери містять у собі Yellow і White pages WWW-адрес серверів.

    Пошук WWW-адрес цікавий як сам собою (пошук WWW-документи на задану тему), і як завдання пошуку організацій мережі. У свою чергу, знайдений WWW-сервер конкретної організації може бути цікавим як сам по собі, так і як джерело адресної інформації (телефони та e-mail адреси самої організації та її підрозділів).

    Типові пошукові завдання:

    пошук WWW-адреси сервера конкретної організації чи конкретної людини;

    пошук WWW-адреси сервера якоїсь організації за певними умовами;

    пошук нових WWW-адрес серверів;

    пошук нових WWW-адрес документів.

    Основні засоби пошуку (reference sites):

    великі універсальні пошукові системи WWW (search engines);

    пошукові WWW-системи з кількох search engines;

    інші універсальні та спеціалізовані search engines та index sites;

    довідкові системи Yellow Pages за WWW-адресами серверів;

    MetaReference sites (каталоги search engines, index sites, Yellow Pages WWW).

    Додаткові способи пошуку:

    персональні та тематичні добірки посилань на WWW-сервері;

    newsletters та guides на WWW-серверах, оголошення в телеконференціях, списки розсилки

    запит до абонентів будь-якої масової служби;

    Пошукові WWW-сервера дозволяють знайти окремі WWW-документи (WWW-сторінки), що стосуються заданих тематик або мають задані ключові слова або їх комбінації. На великих пошукових серверах є обидва ці способи пошуку (за ієрархією понять та за ключовими словами).

    Наповнення пошукових серверіввідбувається або автоматично (вони безперервно оглядають усі WWW-сервери у світі), або вручну (з відбором матеріалу).

    Найбільш відомі пошукові WWW-сервери:

    http://www.yahoo.com

    Один із перших і найвідоміших search engine, що відрізняється розвиненою ієрархічною класифікацією. Наповнюється вручну, має найменшу кількість посилань у порівнянні з іншими search engines (за деякими темами приблизно в 10 разів менше Webcrawler-а, але за іншими - більше за нього).

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

    На першому рівні ієрархії є розділ «References», що містить багато посилань на різноманітні reference sites.

    Має розвинений сервіс новин.

    http://www.lycos.com

    Один із найвідоміших і найбільших за кількістю посилань search engine.

    Є ієрархічний класифікатор та пошук за ключовими словами, що підтримує операції «і», «або», але лише одного типу в одному запиті. Операція «і» взагалі не працює, операція «або» працює неправильно — повертає кількість посилань, рівну максимальній кількості посилань за окремими аргументами).

    http://www.webcrawler.com

    Відносно невеликий search engine, мабуть, наповнюється вручну - приблизно в 10 разів менше за Lycos-а.

    Є ієрархічний класифікатор і пошук за ключовими словами, що підтримує операції «і», «або», «ні» та їх комбінації, які, однак, відпрацьовуються не завжди правильно (перебувають документи, які зовсім не підходять під умови пошуку).

    http://www.inktomi.com

    Новий і, ймовірно, найбільший за кількістю посилань search engine - наповнюється автоматично і зберігає всі знайдені посилання (приблизно в 5 разів більше за Lycos-а).

    Є ієрархічний класифікатор та пошук за ключовими словами, що підтримує операції «і», «або», але лише одного типу в одному запиті.

    Крім пошуку документів має Yellow Pages за різними категоріями.

    http://www.infoseek.com

    Середній за кількістю посилань search engine (за деякими темами трохи більше за Webcrawler-а, але за деякими — більше за Lycos-а).

    Має ієрархічну класифікацію та пошук за ключовими словами, що не підтримує операцій «і», «або».

    Пошук може здійснюватися: по всьому WWW-простору лише серед серверів, відібраних експертами даного сервера(у цьому випадку кожне знайдене посилання забезпечене короткою анотацією), лише серед серверів компаній (yellow-пошук, кожне знайдене посилання забезпечене коротким описом профілю компанії), серед статей USENET, серед e-mail адрессеред свіжих новин (сервер має додатковий дуже розвинений сервіс новин). Результат пошуку додатково забезпечується і списком відповідних тем з ієрархічної класифікації (загальний список тем для даного запиту, а чи не конкретні ієрархічні шляхи кожної знайденої посилання, як в Yahoo).

    http://www.altavista.com

    Великий search engine (трохи менше Lycos-а за кількістю посилань). Має лише пошук за ключовими словами, який підтримує лише операцію «і». Пошук може проводитись по всьому WWW-просторі або серед статей USENET.

    http://www.dejanews.com

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

    http://www.hotbot.com

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

    http://www.mckinley.com/

    Пошукова система Magellan - дуже непогана система типу Yahoo. Можливий пошук як за ключовим словом, і за темами. Можна шукати ключове слово в рамках обраної теми.

    Має сервіс новин.

    http://www.excite.com

    http://www.opentext.com

    http://www.nlightn.com

    Пошук за ключовим словом.

    Yandex.ru. Пошук ведеться більш як по 47 тис. серверів, проіндексовано близько 3,5 млн. документів. Основна перевага Яndex'а – це здатність знаходити задані слова незалежно від форми, в якій вони вживаються в документах. Система може утворювати словоформи навіть тих слів, яких немає у словнику. Є можливість обмежити пошук вказаним діапазономдат створення документа. А якщо потрібні документи не будуть знайдені, можна продовжити пошук через AltaVista, куди автоматично передається вже оброблений системою запит. Облік російської морфології. Підсвічування знайдених документів, показ контекстів. Паралельний пошук в «Енциклопедіях», «Новинах», «Маркеті». Структурування пошуку за розділами каталогу та серверами. Цитованість: 42000

    Rambler. Система охоплює понад 2 млн сторінок. Можливий пошук в іменах URL, назвах документів, заголовках, адресах (якщо вони знаходяться у спеціальних тегах) і лише серед слів на початку документа. Є можливість пошуку документів «схожих» на тих, хто сподобався серед знайдених, а також пошуку серед уже знайдених документів. www.rambler.ru - Цитованість: 17000

    AltaVista. Відомий пошуковик з пошуком багатьма мовами

    Апорт. Пошук ведеться майже по 2 мільйонах документів та більш ніж по 13000 серверів. Система вміє шукати з різних словоформ введених слів і навіть виправляє у введених словах помилки. Система може перекладати з російської на англійську і з англійської на російську як запит, а й отриману результаті пошуку інформацію. Облік російської морфології. Виділення контекстів знайдених слів. Уточнення пошуку за розділами каталогу та серверами. www.aport.ru - Цитованість: 20000.

    FlashGet


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

    FlashGet пропонує користувачеві безліч варіантів занесення посилання до списку завантаження. Можна зробити це, вибравши відповідну команду в контекстному меню, скористатися плаваючим «кошиком» або ж налаштувати програму на автоматичне перехоплення посилань. При цьому, якщо це необхідно, FlashGet може робити завантаження одразу, без підтвердження.

    ReGet


    Як відомо, створити програму, яка б підходила всім користувачам, неможливо. Якщо перевантажити її можливостями, комусь вони можуть заважати, якщо їх не додати, знайдеться ті, кому додаткових опцій не вистачатиме. Саме тому розробники менеджера завантаження ReGet випускають не одну, а три програми для завантаження файлів. Це ReGet Junior, ReGet Pro та ReGet Deluxe. Кожна орієнтована на свою категорію користувачів. Базові функції у всіх трьох програм однакові, відмінності у додаткових можливостях.

    Всі версії ReGet відрізняються зручним інтерфейсом, дозволяють відновлювати обірвані завантаження, робити завантаження в кілька потоків, інтегруються з популярними браузерами та дають можливість завантажувати всі посилання на веб-сторінці одним клацанням миші.

    ReGet Junior орієнтований на користувачів-початківців і має мінімальний набір функцій. До його особливостей можна віднести можливість зміни інтерфейсу за допомогою скінів, що немає в інших версіях програми. ReGet Pro може запропонувати такі опції, як керування швидкістю завантаження, завдяки чому можна одночасно робити завантаження файлу та відкривати веб-сторінки; з'єднання з Інтернетом у разі обриву зв'язку; керування налаштуваннями завантаження для декількох файлів одночасно. Крім цього, за його допомогою можна автоматично завантажувати галереї зображень та перевіряти завантажені файли на віруси. Однак для досвідченого користувача, що проводить в Інтернеті багато часу, найбільший інтерес, безперечно, є версія ReGet Deluxe. У цій версії менеджера завантаження користувачам пропонується вбудований FTP-клієнт, розширені можливості планувальника (наприклад, планування завантаження на вказану дату, повторення завантаження вказаний часта дні, початок завантаження при виконанні заданих умов), вимикання комп'ютера, можливість сортування завантажених файлів за папками та ведення історії завантажень.

    Якщо ж ви хочете отримати у своє розпорядження весь інструментарій програми, але при цьому не впевнені, чи потрібні вам ці кошти щодня, можна працювати з ReGet Deluxe в спрощеному режимі. Всього в програмі передбачено три режими: з відображенням усіх можливостей, більшості опцій або лише базових. Перемикання між ними здійснюється за допомогою команд головного меню.

    GetRight

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


    Так, поряд з можливістю розбивати файл на частини, самостійно дзвонити в Інтернет через dial-up модем, розривати з'єднання, вести історію завантажень та планувати завантаження GetRight Pro може похвалитися багатьма унікальними опціями. До них можна віднести перевірку файлу на цілісність після закінчення завантаження, автоматичний пошук подкастів за вказаними адресами, їх завантаження та розміщення у списку відтворення програвача, можливість завантаження файлів через протокол BitTorrent, управління менеджером завантаження віддалено, через Інтернет. Крім цього, GetRight Pro має свій браузер для перегляду вмісту ФТП та веб-серверів. Веб-майстри оцінять засоби для синхронізації вмісту папок на ФТП-сервері з директоріями на жорсткому диску, можливість завантаження файлів на сервер.

    Download Master

    Безперечна перевага Download Master перед конкурентами – його повна безкоштовність. Єдине, чим він може набридати користувачеві у зв'язку, банер, розташований у верхній частині вікна завантаження. Втім, на цьому недоліки менеджера завантаження закінчуються.




    На ринку існують десятки download-менеджерів, багато з них безкоштовні. Однак саме Download Master за досить короткий час (програмі лише трохи більше семи років) зміг завоювати розташування користувачів. Секрет такої популярності не тільки в безкоштовному статусі, а й у тому, що розробники програми постаралися зібрати в ній всілякі опції. доступні користувачамінших менеджерів завантаження. У Download Master є кошик, що дозволяє додавати посилання на файл, не перемикаючись у вікно програми, інтеграція з усіма популярними браузерами, сортування завантажених файлів за категоріями, завантаження за розкладом, додзвон в Інтернет і т.д. Знайти в конкурентних додатках можливість, яка була б відсутня в Download Master, досить важко, а якщо така і є, тобто великий шанс, що вона з'явиться в наступній версії програми.

    Серед найбільш затребуваних опцій Download Master можна відзначити: вбудований ФТП-клієнт, можливість перегляду Zip-архівів перед завантаженням, отримання розміру файлів до початку завантаження, перевірка та відновлення архівів, встановлення пріоритетів для завантажень, робота з командним рядком, завантаження HTML-сторінок із зображеннями. Крім цього, нещодавно розробники програми повідомили про можливість розширення її можливостей за допомогою модулів, що підключаються, — плагінів. Передбачається, що вони допоможуть реалізувати ті функції, які нині відсутні в Download Master, наприклад, завантаження файлів із файлообмінних систем на кшталт Rapidshare.

    Специфіка додатку вимагає від розробників менеджера завантаження постійного розвитку та вдосконалення, оскільки світ Інтернету постійно змінюється, а разом з ним змінюються і переваги користувачів. Якщо ще зовсім недавно для download-менеджера достатньо було забезпечувати підтримку Internet Explorer, сьогодні відсутність інтеграції з альтернативними браузерами Mozilla, Opera тощо розцінюється як великий недолік. Конкуруючи між собою, розробники менеджерів завантаження постійно вбудовують у програми нові опції, тому тими можливостями, які сьогодні є для програми унікальними, завтра вже напевно обзаведуться й інші програми.

    Якщо ж говорити про лідера, це Download Master. Ця програма обходить конкурентів як за функціональністю, так і зручністю. До того ж вона постійно оновлюється.

    Протокол FTP є різновидом протоколу передачі даних, який використовується з метою копіювання та переміщення файлів в інтернеті та всередині TCP-мереж. FTP досить часто застосовується для завантаження сторінок і документів різного типу на хостингові комп'ютери. Протокол FTP використовує архітектуру «клієнт-сервер» та різні з'єднання всередині мережі для того, щоб передавати команди та інформацію від клієнта до сервера та навпаки. Користувачам FTPдозволяється проходити процедуру аутентифікації за допомогою логіна та пароля, або якщо така форма дозволена на сервері, користувачі можуть отримувати доступ в анонімному режимі.
    Крім звичайного протоколу, також застосовується FTPS, що є особливим розширенням стандартного FTP, яке дає можливість клієнтам отримувати доступ до сервера і використовувати зашифровані сесії передачі інформації. Такий підхід реалізується за допомогою відправки команди аутентифікації "auth tls", при цьому серверу дозволяється приймати або відхиляти з'єднання, які не вимагають TLS-з'єднань.

    SFTP

    SFTP є стандартом передачі інформації в інтернеті, який призначається для переміщення та копіювання файлів за допомогою з'єднання підвищеної надійності та безпеки SSH (Secure Shell). Даний тип з'єднання може забезпечувати доступ і безпечну передачу, яка здійснюється з шифруванням як логіна і пароля, так і самого вмісту передачі, завдяки чому здійснюється захист паролів і конфіденційної інформаціївід відкритої передачі у мережі.
    На відміну від FTP, протокол SFTP, незважаючи на схожі функції, користується іншим протоколом передачі даних, тому стандартні клієнти не можуть зв'язуватися з SFTP-серверами.

    Особливості стандарту FTP

    Цей стандарт є одним із найстаріших мережевих протоколів, який був створений 45 років тому і досить широко застосовується в інтернеті і сьогодні. Однією з найважливіших особливостей протоколу виступає використання кількох з'єднань: однієї з передачі керуючих команд, інших - для безпосереднього трансферу файлів. При цьому можна відкривати кілька паралельних з'єднань, кожне з яких може здійснювати передачу даних в обидва напрямки.
    Існують два режими роботи FTP, які відрізняються способом встановлення з'єднань: пасивний та активний. Під час активного режимусервер здійснює встановлення з'єднання передачі до користувача, а під час пасивного - навпаки.
    Даний стандарт використовується вже досить давно і на перший погляд є дуже простим. Але така простота буває досить оманливою, оскільки велика кількість користувачів можуть мати проблеми під час отримання доступу за цим стандартом, особливо якщо сервер, або користувач використовує брандмауер або NAT.

    Особливості активного режиму

    Під час активного режиму клієнт ініціює з'єднання з серверним портом 21, передаючи команду «port», за допомогою якої вказується адреса і порт трансферу інформації. Після отримання команди сервер запускає з'єднання власного 20-го порту з вказаним портом користувача.
    Основним недоліком даного методує обов'язкова наявність у користувача для роботи виділеної IP-адреси в Інтернеті. Крім того, деякі проблеми можуть виникнути, якщо клієнт знаходиться за брандмауером або NAT.

    Особливості пасивного режиму

    Для того, щоб встановити пасивне з'єднання, користувач повинен передати серверу спеціальну команду pasv. Як відповідь на цю команду сервер передає інформацію про адресу та порт, з яким клієнт повинен встановити з'єднання. Після отримання цих даних, користувач здійснює підключення до серверного комп'ютера та здійснює передачу інформації.
    При використанні пасивного режиму всі з'єднання ініціюються клієнтом, у зв'язку з чим будь-які вимоги до нього відсутні. Користувачеві дозволяється користуватися NAT і брандмауером, а також не використовувати виділену IP-адресу. Тому сьогодні як основний різновид доступу та передачі файлів за протоколом FTP в інтернеті використовується саме пасивний режим.

    Налаштування у разі використання брандмауера

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

    Налаштування у разі використання NAT

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

    Протокол FTP застосовується давно і на перший погляд дуже простий. Однак ця простота здається і багато хто починає відчувати проблеми зі встановленням FTP-з'єднання, особливо коли сервер або клієнт знаходяться за брандмауером або NAT". Тому сьогодні ми поговоримо про особливості роботи протоколу FTP в різних режимах.

    Протокол FTP є найстарішим мережевим протоколом (створений 1971 року), проте широко використовується до сьогодні. Важливою особливістю протоколу і те, що він використовує кілька з'єднань: одне управляючих команд, інші даних. Причому з'єднань передачі даних може відкриватися кілька, у кожному з яких файли можуть передаватися обох напрямах. Саме з цією особливістю пов'язана низка проблем.

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

    Активний режим

    У більшості випадків для нормальної роботи FTP-сервера за NAT достатньо буде прокинути 21 порт для сесії, 20 - для активного режиму (якщо використовується), а також вказати і прокинути діапазон динамічних портів для передачі даних.

    Ще один важливий момент, якщо ви прокидаєте порти для кількох FTP-півнiрів, то на кожному з них слід вказати свій діапазон динамічних портів і прокинути на ці ж номери портів зовнішнього інтерфейсу. Чому? Тому що номер порту передається сервером у команді, що управляє, і нічого не знає про форвардингу, якщо номер порту, переданий сервером, не збігається з номером порту на зовнішньому інтерфейсі, то клієнт не зможе встановити з'єднання. У той час як керуючий порт і активний режим можна форвардити на будь-які зовнішні порти.

    Сподіваємося, що ця стаття допоможе вам краще зрозуміти механізм роботи протоколу FTP та усвідомлено підійти до процесу налаштування та діагностики.