
4.2 Теоретичні вказівки для виконання роботи
4.2.1 Вивчення моделі ftp
Вивчення моделі FTP, наведеної на рисунку 1, при роботі з мережевими ОС(наприклад, ОС FreeBSD), можливо за допомогою засобів підтримки протоколу Telnet. Дана можливість реалізується з огляду на те, що протокол Telent здійснює передачу даних в ASCII кодах за допомогою з'єднання TCP на вказаний порт.Ставлячи в якості параметра порт для сервера FTP, можливо відображення трафіку обміну між клієнтом і сервером FTP на моніторі користувача.
Робота з FTP засобами Telnet передбачає знання механізмів взаємодії клієнта ісервера FTP, а також синтаксис команд FTP.
Першим етапом передачі файлів за допомогою FTP, є створення каналу передачі команд (CMD). Для цього клієнтові необхідно встановити з’єднання TCP з сервером FTP. Для цих цілей необхідно запустити клієнта Telnet, вказавши в якості параметра IP адресу сервера FTP (віддаленого компьютера) і TCP порт підключення C1 (за замовчуванням сервер FTP використовує длястворення керуючого каналу TCP порт 21). Формат команди для запуску Telnet з командного рядка наступний:
telnet [адреса_IP] [порт_TCP]
# telnet 10.40.0.150 21
TCP порт клієнта FTP (C2 на рисунку 1) призначається локальній ОС при встановленні з'єднання автоматично з числа вільних портів TCP.
Після успішного створення каналу зв'язку TCP з сервером FTP, з'явиться відповідне повідомлення. Далі можливе введення команд протоколу FTP для управління роботою сервера FTP.
У таблиці 1 наведено список основних команд протоколу FTP.
Таблиця 1 – Перелік основних команд протоколу FTP
Команди FTP |
Параметри |
Опис |
USER |
Ім’я користувача |
Ініціалізація користувача |
PASS |
Пароль |
Передача паролю |
CWD |
Директорія |
Вибір директорії на сервері |
STOR |
Ім’я файлу |
Передача локального файлу на сервер |
RETR |
Ім’я файлу |
Читання файлу з сервера |
DELE |
Ім’я файлу |
Видалення файлу на сервері |
PASV |
|
Запит на ініціалізацію каналу передачі даних |
LIST |
|
Виводить детальний список файлів в поточній директорії |
NLST |
|
Виводить скорочений список файлів в поточній директорії |
Для доступу до ресурсів сервера FTP, необхідно за допомогою команд USER і PASS вказати ім'я користувача і пароль для аутентифікації на сервері. Формат команд:
USER anonymous
PASS [пароль]
Ім'я користувача і пароль необхідно вводити з урахуванням регістра символів. Наприклад:
telnet> user anonymous
Перед введенням команд FTP, ініціюючих передачу даних між клієнтом і сервером (наприклад, команд запису або читання файлів STOR і RETR, отримання списку директорій і файлів у поточній директорії тощо), необ-хідно організувати канал передачі даних.
Запит на організацію каналу передачі даних здійснюється за допомогою команди PASV. У відповідь сервер повідомляє свою IP‑адресу і номер порту TCP, відкритого ним для організації каналу передачі даних.
telnet> PASV
...................192,168,0,1,4,41
Останні два числа в посилці‑ відповіді показують номер порту TCP, який надається. Порт TCP представляє собою 16-бітне значення. У відповіді сервера це значення розбивається на два 8-бітних числа, перше з яких відповідає старшим 8 бітам 16-бітного значення порту TCP, а друге – молодшим 8 бітам. Тому, щоб знайти номер порту TCP сервера для передачі даних, потрібно перше число помножити на 256 і до отриманого результату додати друге число. Тобто з наведеного вище:
номер порта TCP = 4*256+41 = 1065.
Для створення другого з'єднання TCP, необхідно відкрити ще одне вікно для введення команд, і в ньому здійснити підключення через Telnet по вказанному у відповіді на команду PASV адресу IP і порту TCP зі знайденим номером. Для прикладу, який розглядався:
# telnet 192.168.0.1 1065
Після введення цієї команди, встановиться друге з'єднання TCP за яким будуть передаватися дані протоколу FTP (канал DATA рисунок 1). Длі можна здійснювати різні операції з файлами віддаленого комп'ютера для передачі даних (таблиця 1).
Наприклад, передачу в поточний каталог сервера FTP текстового файлу myfile.txt.
Для цього в першому вікні вводиться команда CWD для переходу в інший каталог. Наприклад
telnet> CWD incoming
Потім вводиться команда STOR з параметром, який вказує ім’я файлу, що створюється. Наприклад
telnet> STOR myfile.txt
Після цього у вікні передачі даних вводиться довільний текст, який буде міститися у файлі. Після закінчення введення тексту вводиться команда Ctrl-], яка вказує на завершення передачі даних. Після чого сервер автоматично завершить це з'єднання і збереже передані дані у вказаному файлі (для розглянутого прикладу - myfile.txt).
Для перевірки, переконатися в наявності і переглянути вміст переданого файлу можна за допомогою протоколу Telnet. Для цього необхідно знову встановити канал передачі даних за допомогою команди PASV через порт TCP, номер якого буде іншим, і використати відповідні команди з таблиці 1.
Для передачі іншого файлу, необхідно знову вводити команду PASV і організовувати новий канал передачі даних, через порт TCP, номер якого буде іншим.
Ці недоліки відсутні при роботі з FTP-клієнтом, у якому автоматизовано створення необхідних з’єднань і є можливість працювати як з віддаленими, так і з локальними директоріями.