Донецкий техникум промышленной автоматики

Передача файлів по FTP

  1. Що таке FTP і з чим його їдять?
  2. Доступ до FTP-сервера або як підключитися
  3. безпечний FTP
  4. недоліки FTP

Написати унікальний текст про FTP, коли за запитом "ftp що це" Гугл повертає понад 7 мільйонів матеріалів - завдання непросте. Але ми спробуємо.

Що таке FTP і з чим його їдять?

FTP - найдавніший протокол обміну файлами (власне, абревіатура FTP так і розшифровується - File Transfer Protocol). З'явився він у 1971 році, задовго до появи HTTP і навіть TCP / IP. За віком він ровесник системи електронної пошти.

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

Для особистого обміну файлами між користувачами можна використовувати найрізноманітніші засоби - можна передати файл через месенджер (Skype, Viber, Telegram і т.д.), можна надіслати електронною поштою, завантажити в хмару (Яндекс.Діск, Google Drive) і поділити посиланням . Але у всіх цих способів є, як правило, обмеження за розміром переданого файлу / розміром сховища хмарного диска. У випадку з протоколом FTP немає ніяких обмежень на розмір файлу (хіба що обмеження файлової системи), а розмір сховища обмежений тільки розміром диска сервера.

Список команд можна отримати шляхом введення команди help, а опис кожної команди - за допомогою команди

help> ім'я команди

Якщо ви зацікавилися командами FTP, з повним списком можна ознайомитися за.

Якщо ви зацікавилися командами FTP, з повним списком можна ознайомитися за

Рис. 1. Набір команд File Transfer Protocol

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

Що таке FTP-сервер? Це просто комп'ютер, на який встановлено відповідне програмне забезпечення. По суті, в FTP-сервер можна перетворити будь-який комп'ютер - зовсім не обов'язково, щоб на ньому була встановлена ​​серверна операційна система. Але, як правило, таке ПЗ встановлюється на повноцінні серверні ОС - так безпечніше. Раніше ми писали, як можна організувати файловий сервер в Windows Server 2016 .

У Linux для установки файлового сервера досить встановити пакет proftpd. В Ubuntu команда установки буде виглядати так:

sudo apt-get install proftpd

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

Раніше був показаний стандартний клієнт - команда ftp. Аналогічні команди є і в Linux, і в macOS. Але інтерфейс командного рядка в 2018-му році виглядає дуже архаїчно, тому стандартною програмою-клієнтом користуються хіба що адміністратори на Linux-серверах, коли нічого іншого під рукою, як правило, немає. А звичайні користувачі встановлюють більш зручні програми з графічним інтерфейсом. Одним з найбільш зручних клієнтів є. До речі, на сайті проекту FileZilla можна скачати не тільки клієнт, але і сервер. Додаток FileZilla Server можна встановити на настільну «операційну» ( «сімку» або «десятку») і перетворити звичайний десктоп в FTP-сервер.

Додаток FileZilla Server можна встановити на настільну «операційну» ( «сімку» або «десятку») і перетворити звичайний десктоп в FTP-сервер

Рис. 2. Додаток FileZilla

Доступ до FTP-сервера або як підключитися

Щоб підключитися до FTP-сервера потрібно знати три основних параметри:

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

Деякі FTP-сервери підтримують анонімний режим: до них можна підключитися, вказавши в якості імені користувача anonymous (або guest), а в якості пароля - свій email. В анонімному режимі користувачі зазвичай не мають права завантажувати файли на сервер, а тільки завантажувати файли з нього. Такий режим зазвичай використовується для доступу до публічної інформації, коли файли дозволено скачати всім бажаючим.

Для підключення до FTP-сервера в додатку FileZilla потрібно вказати параметри доступу і натиснути кнопку Швидке підключення. На рис. 3 показано, що ми підключилися до публічного FTP-сервера ftp.redhat.com. Зліва зображено список каталогів локального комп'ютера, а праворуч - список каталогів FTP-сервера.

Зліва зображено список каталогів локального комп'ютера, а праворуч - список каталогів FTP-сервера

Рис. 3. Підключення до сервера

Якщо хмари для вас
не просто теорія

Широкий спектр послуг
по виділеним півночі
і мультіклауд-рішень

Конфігурація VPS і безкоштовний тест вже через 2 хвилини

Організація вашої IT-інфраструктури на основі мультіклауд-рішення

безпечний FTP

Не потрібно думати, що з 1971 року в протоколі FTP нічого не змінилося. З'являлися нові режими роботи, нові команди, удосконалювалося програмне забезпечення (одних тільки серверів налічується зо два десятки). З'являлися і різні розширення самого протоколу. Одне з таких розширень - FTPS, тобто FTP Secure. Дане розширення дозволяє зашифрувати FTP-сеанс. Якщо звичайний FTP-сеанс зашифрований, що дуже небезпечно хоча б тому, що навіть пароль користувача передається по Мережі у відкритому вигляді і доступний для перехоплення, то розширення FTPS усуває цей недолік. Недоліків у цього розширення два - використовується інший порт, відмінний від 21, і далеко не всі сервери підтримують його.

Якщо вам потрібен клієнт з підтримкою FTPS, подивіться в сторону Bitvise SSH Client - це додаток, що дозволяє не тільки підключатися до сервера по протоколу SSH (Secure Shell), але і обмінюватися файлами по FTPS.

недоліки FTP

У всього є недоліки. Оскільки наш протокол досить древній, то і недоліків у його теж багато. Але основних недоліків всього два:

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

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

Що таке FTP і з чим його їдять?
Що таке FTP і з чим його їдять?
Що таке FTP-сервер?