FTP – що це таке і як з ним працювати?

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

Навіщо потрібний FTP

З його допомогою можна копіювати файли з комп’ютера на сервер і з сервера на комп’ютер. Одна з переваг використання FTP – це одночасне завантаження багатьох документів. Деякі програми дають можливість редагувати файли прямо на хостингу. Стандартне вікно клієнта поділено на дві частини:

  • у першому відображається все, що завантажується на сервер;
  • у другому – все, що знаходиться на комп’ютері.

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

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

Уразливості

FTP – це дуже старий протокол. Він з’явився набагато раніше HTTP і не розроблявся як захищений. Тому у нього багато проблем з захистом. Ось самі основні:

  • спуф-атаки;
  • перехоплення даних;
  • сниффинг;
  • захоплення портів.

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

Безпечна передача даних

Існують наступні методи відсилання даних, захищені від хакерських атак: FTPS, SFTP, а також передача FTP через SSH. З FTPS можна захистити сесію. FTP-server отримує команду AUTH TLS, після чого відхиляє сполуки, які не зашифровані.

У SFTP схожий список команд, як в FTP. Тут використовується протокол SSH, який шифрує весь трафік. Цим способом кодуються команди і дані. Відповідно, всі паролі та інша інформація, не призначена третім особам, не передається у відкритому вигляді.

Інший спосіб передачі через протокол SSH тунеллирует сесію через SSH-з’єднання.

Підключення та обмін даних

Передбачено два можливих види роботи:

  • активний;
  • пасивний.

Вони відрізняються способом установки з’єднання. Активний спосіб передбачає, що в програмі створюється tcp-з’єднання з сервером і надсилається потрібний IP, порт. Пасивний ж потрібен, коли подібні з’єднання блокуються міжмережевим екраном. Тоді сервер повертає адресу і порт, потім юзер використовує отримані дані для підключення.

У налаштуваннях FTP можна вибрати такі режими передачі:

  • потоковий;
  • блочний;
  • стислий.

При виборі першого режиму дані надсилаються у вигляді безперервного потоку. Обробка виконується по TCP. У звичайному режимі дані сегментуються і, як правило, відправляються в такому вигляді: блок заголовка, кількість байт, поле даних. У стислому методі всі дані стискаються одним алгоритмом і передаються значно швидше із-за того, що об’єкт менше важить.

Авторизація

Для ідентифікації користувача та подальшого призначення прав для управління файлами використовується схема – ім’я користувача/пароль. Відправка імені здійснюється командою USER, а пароля – PASS.

Сервер приймає ці дані, якщо вони збігаються з тими, що вказані в базі даних. Далі клієнт отримує запрошення, після чого починається сесія. Іноді сервер підтримує можливість входу без облікових даних. Як правило, надається обмежений доступ для таких зв’язків, використовується якесь стандартне ім’я, наприклад anonymous. Але найчастіше для авторизації потрібно ввести адресу діючої електронної пошти, і надалі вона використовується, щоб увійти.

Відміну від протоколу http

Властивість FTP HTTP
Можливість аутентифікації так немає
Прийом великі двійкові файли невеликі текстові документи
Спосіб з’єднання подвійний одиночний
Передача так немає
Здійснення операцій над файловою системою так немає

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

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

Зв’язок комп’ютер-клієнт за замовчуванням здійснюється на 21 порту і використовується для управління. Друге з’єднання для передачі даних відкривається на двадцятому порту або будь-якому іншому, який правильно налаштований.

Як працювати з файлами

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

  • Після появи головного вікна у відповідних полях потрібно ввести ім’я хоста, ім’я користувача, пароль, порт.
  • Після успішної авторизації з’являється список всього, що завантажується на сервер.
  • Вам слід вибирати об’єкт, який потрібно завантажити на сервер з комп’ютера або з сервера на комп’ютер.
  • Зазначивши відповідний файл, викликайте контекстне меню за допомогою ПКМ, вибирайте потрібну дію: скачать, додати завдання, редагувати, видалити, перейменувати, скопіювати адресу, налаштувати права доступу. Ці функції можуть мінятися залежно від використовуваної програми.

Існує спосіб обміну між двома серверами безпосередньо без завантаження на комп’ютер. Запрошуються два з’єднання до різних серверів. На одному з них вибирається файл для передачі і вказується IP-адресу другого сервера. Для цього використовується FXP – протокол прямого обміну.

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

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

З’єднання з FTP через браузер

Для з’єднання, як і при використанні спеціалізованих програм, користувачеві необхідно володіти логіном, паролем IP-адресою. Підключення відбувається при використанні командного рядка. Для цього потрібно ввести адресу такого формату: ftp://логин для входу : пароль сервера@ip адресу. Наприклад, ftp://myname:[email protected]. Якщо з’єднання пройшло успішно, з’являється список всіх документів. Як правило, файли сайту зберігаються в папці public_html або www, залежно від типу хостингу.

Щоб скопіювати документ, його досить просто перетягнути. Цей спосіб не дозволяє переносити документи з одного сервера на інший. У браузері легко змінювати права для читання/запису. Для цього потрібно правою кнопкою миші виділити файл, який вже є на сервері. З’явиться вікно з настройками. У ньому слід зазначити необхідне дозвіл.

FileZilla

Це один з найпопулярніших FTP у Windows-клієнтів. Працювати з цією програмою достатньо легко. Головне вікно поділено на п’ять частин. Три з них відображають файлову структуру комп’ютера, а чотири – сервера. У потрібних полях вказується логін, пароль, порт.

Якщо планується часте використання якого-небудь з’єднання, інформація для входу вказується в “Менеджері сайтів”. У налаштуваннях можна вибрати ідентифікацію, розподілити дані для входу по папках, додати коментар. Для перенесення файл потрібно виділити і перетягнути в робоче вікно, де відображена файлова структура комп’ютера.

Total Commander

Для того щоб завантажити і завантажити файл з допомогою “Тотал командера”, необхідно виконати наступну послідовність дій:

  • Перейти у вкладку “Мережа”.
  • Вибрати пункт меню “З’єднатись з сервером”.
  • У вікні натиснути кнопку “Додати”.
  • Вказати ім’я з’єднання, сервер, обліковий запис пароль.
  • Встановити прапор “Пасивний режим обміну”, натиснути OK.
  • Після цього слід зазначити вибране з’єднання, натиснути кнопку “З’єднатися”.

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

Командний рядок

Якщо користувач не хоче користуватися графічним інтерфейсом, хоча це досить зручно і дозволяє швидше виконувати деякі функції, він може використовувати командний рядок:

  • Підключення здійснюється командою Open. Використання повинно виглядати так: open ftp.server.com port.
  • Параметр port можна не вказувати, якщо передбачається використання стандартного 21.
  • Замість server.com вказується адреса сервера, на якому розташований сайт.

Для перейменування використовується rename, для зміни поточного каталогу стандартно використовуються cd, для виходу необхідно ввести close, а для видалення – delete або disconnect.