Четверг, 23.11.2017, 11:50
ArsNet - мир НИТ
Приветствую Вас Гость | RSS
Главная FTP - Форум Регистрация Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Для админов и сисадминов » Сети » FTP
FTP
WilDДата: Вторник, 07.07.2009, 11:00 | Сообщение # 1
Папаня
Группа: Администраторы
Сообщений: 704
Репутация: 16
Статус: Вне ресурса
Пол: Мужчина
Зарегистрирован(а): 04.08.2008
Награды:
За создание сайта За перенос домена За развитие ресурса За хорошую репутации За 100 Сообщений За 250 Сообщений За 500 Сообщений За первое сообщение на форуме и вступление в наши ряды
FTP (англ. File Transfer Protocol — протокол передачи файлов) — протокол, предназначенный для передачи файлов в компьютерных сетях. FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер; кроме того, возможен режим передачи файлов между серверами (см. FXP).

FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, в 1971 году. До начала 90-х годов на долю FTP приходилось около половины трафика в сети Интернет[источник не указан 49 дней]. Он и сегодня широко используется для распространения ПО и доступа к удалённым хостам.

Протокол FTP относится к протоколам прикладного уровня и для передачи данных использует транспортный протокол TCP. Команды и данные, в отличие от большинства других протоколов передаются по разным портам. Порт 20 используется для передачи данных, порт 21 для передачи команд.

Протокол не шифруется, при аутентификации передаёт логин и пароль открытым текстом. Если злоумышленник находится в одном сегменте сети с пользователем FTP, то, используя сниффер, он может перехватить логин и пароль пользователя, или, при наличии специального ПО, получать передаваемые по FTP файлы без авторизации. Чтобы предотвратить перехват трафика, необходимо использовать протокол шифрования данных SSL, который поддерживается многими современными FTP-серверами и некоторыми FTP-клиентами.

Процесс нешифрованной авторизации проходит в несколько этапов (символы \r\n означают перевод строки):

Установка TCP-соединения с сервером (обычно на 21 порт)
Посылка команды USER логин\r\n
Посылка команды PASS пароль\r\n

Если к серверу разрешён анонимный доступ (как правило, лишь для загрузки данных с сервера), то в качестве логина используется ключевое слово "anonymous" или "ftp", а в качестве пароля — адрес электронной почты:

USER anonymous\r\n
PASS someone@email\r\n

После успешной авторизации можно посылать на сервер другие команды.

Основные команды

* 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 - Установить тип передачи файла(Бинарный, текстовый)

Пример

220 FTP server ready.
USER ftp //Анонимус
230 Login successful.
PASV
227 Entering Passive Mode (192,168,254,253,233,92)//Клиент должен открыть соединение на переданный IP
LIST
150 Here comes the directory listing. //Сервер передает список файлов в директории
226 Directory send OK.
CWD incoming
250 Directory successfully changed.
PASV
227 Entering Passive Mode (192,168,254,253,207,56)
STOR gyuyfotry.avi
150 Ok to send data. //Клиент передает содержимое файла
226 File receive OK.
QUIT
221 Goodbye.

На многих FTP-серверах существует каталог (под названием incoming, upload и т. п.), открытый на запись и предназначенный для закачки файлов на сервер. Это позволяет пользователям наполнять сервер свежими данными.

Изначально протокол предполагал встречное TCP-соединение от сервера к клиенту для передачи файла или содержимого каталога. Это делало невозможным общение с сервером, если клиент находится за IP NAT, кроме того, часто запрос соединения к клиенту блокируется файерволом. Чтобы этого избежать, было разработано расширение протокола FTP passive mode, когда соединение для передачи данных тоже происходит от клиента к серверу. Кроме того, этой проблемы можно избежать, если использовать прокси-сервер (именно FTP прокси-сервер).

Специально для работы FTP протокола через межсетевые экраны , было сделано расширение NAT, называемое NAT-PT (rfc2766), позволяющее транслировать входящие соединения от сервера к клиенту через NAT. В процессе такого соединения NAT подменяет передаваемые данные от клиента указывая серверу истинный адрес и порт с которым сможет соединиться сервер, а потом транслирует соединение от сервера от этого адреса, клиенту на его адрес. Несмотря на все меры и нововведения принятые для поддержки FTP протокола, на практике функция NAT-PT обычно отключается во всех роутерах и маршрутизаторах с целью обеспечения дополнительной безопасности от вирусных угроз.


Заработать много денег - храбрость, сохранить их - мудрость, граматно тратить - искуство.
 
Форум » Для админов и сисадминов » Сети » FTP
Страница 1 из 11
Поиск: