Открыть ftp сервер. Как создать FTP-сервер и открыть к нему доступ из Интернета

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

FTP (File Transfer Protocol) - это протокол передачи информации в интернете и локальных компьютерных сетях. Это программа, осуществляющая удалённое подключение к выделенной папке для просмотра и обмена файлами, в том числе больших размеров. Обмен данными возможен от компьютера к удалённому серверу и между другими ФТП-серверами.

Данные передаются без шифрования трафика, поэтому доступ к логинам и паролям легко могут получить злоумышленники. Для безопасной передачи файлов рекомендуется использовать протокол с TLS-защитой - FTPS, шифрующий данные.

Собственный FTP-сервер имеет определённые преимущества:

  • позволяет управлять сервером и его ресурсами;
  • предоставлять пользователям разные права доступа;
  • для него не нужен статический IP-адрес.
  • нет ограничений скорости;
  • отсутствие оплаты хостеру за его размещение;

В соответствии с тем, какой сложности будет доступ, выбирается программное обеспечение. Чтобы создать FTP-сервер для частного пользования с минимальными настройками,вполне подойдут бесплатные программные пакеты.

Компанией Майкрософт в Windows 7 добавлена функция Internet Information Services (IIS), осуществляющая общий доступ из сети к выделенной для этой цели папке. Поэтому, чтобы создать FTP-сервер для Windows 7, не требуется дополнительно устанавливать ПО.

Установка FTP-сервера

Некоторые стандартные возможности, которыми пользуются не так часто, в Windows 7 отключены по умолчанию. Поэтому, чтобы их активировать, необходимо выполнить ряд шагов.

Для создания ФТП-сервера на Windows 7 необходимо:

  • Нажать «Пуск» и открыть раздел «Панель управления». Для удобства просмотра можно выбрать режим «Мелкие значки».

  • Перейти в раздел «Программы и компоненты», где выбрать «Включение или отключение компонентов Windows».

  • В списке открывшегося меню нужно отметить компоненты, которые следует активировать, поставив рядом галочку. Это папка «FTP-сервер», в ней два пункта: «Расширяемость FTP» и «Служба FTP», а также папка «Средства управления веб-сайтом», а в ней- «Консоль управления IIS». Для запуска нажать OK.

Настройка ФТП-сервера

  1. Теперь нужно снова зайти через «Пуск» в «Панель управления».
  2. Найти раздел «Администрирование» и открыть в этом разделе «Диспетчер служб IIS».
  3. Перейти во вкладку «Сайты», щёлкнув на название правой кнопкой, выбрать из списка «Добавить FTP сайты».
  4. В новом окне требуется указать имя будущего ФТП-сервера, и путь к каталогу с его данными. К следующему этапу настройки можно перейти, нажав кнопку «Далее».
  5. Теперь устанавливаются параметры сервера. В поле IP-адреса выбрать нужный из списка. Можно привязать его к определённому адресу или сделать расширенный доступ, выбрав пункт «Все свободные». При этом должен быть отмечен стандартный порт- 21. Если планируется постоянно использовать FTP-сервер, то следует поставить отметку галочкой «Запускать FTP-сайт автоматически». Выбрать опцию «Без SSL», её можно включить в случае необходимости позже. Снова нажать «Далее».
  6. В новом окне задаётся тип авторизации. В пункте «Проверка подлинности» можно разрешить вход для обычных или анонимных пользователей. Здесь же можно настроить для них права. Нажать«Готово».

После завершения установки в разделе «Сайты» появится новый ФТП-сервер.

Настройка брандмауэра Windows

Теперь обязательно необходимо настроить брандмауэр Windows для открытия портов и функционирования служб.

Снова войти в «Панель управления», затем «Брандмауэр Windows». Найти раздел «Дополнительные параметры».

В нём выбрать «Правила для входящих соединений». Для них рекомендуется установить пассивный режим. Для этого правой кнопкой мыши нажать и включить правила «FTP Server Passive» и «FTP-сервер (входящий трафик)». Таким же образом для исходящих подключений включить в соответствующем разделе правило «FTP-Server».

Подключение пользователей

Чтобы на сервер могли заходить пользователи, их необходимо подключить.

  • Во вкладке «Панель управления» открыть папку «Администрирование».

Раздел Администрирование

  • Найти раздел «Управление компьютером», затем перейти к папке «Локальные пользователи». Нажав правой кнопкой на строку «Группы», выбрать функцию «Создать группу». В новом окне указать имя и короткое описание группы, нажать «Создать».
  • Теперь можно подключить пользователей к созданной группе. В папке «Локальные пользователи» нажать правой кнопкой на строку «Пользователи» и выбрать из списка меню «Новый». Заполнить поля, введя имя и пароль, здесь же следует установить галочкой запрет на смену пароля.
  • Для подключения пользователя нажать правой кнопкой на его учётную запись и выбрать из списка меню пункт «Свойства», далее - вкладка «Членство в группах» и кнопка «Добавить». Найти созданную группу, добавить и нажать OK. Эту процедуру нужно выполнить для всех пользователей сервера.
  • На следующем этапе определяются права доступа пользователей группы к рабочему каталогу. Для этого нужно перейти к каталогу «Сайт», щёлкнуть по названию правой кнопкой и открыть «Свойства». Далее - вкладка «Безопасность», в пункте «Изменить» указать название группы и нажать ОК. Затем нужно настроить права для пользователей.
  • Войти в «Диспетчер служб IIS», нажав правой кнопкой на строку «Правила авторизации FTP», добавить разрешающее правило. Можно позволить пользователям запись и удаление данных, а можно только чтение.

Установка и настройка сервера завершена. Однако, теперь нужно знать, как зайти на FTP-сервер.

Стандартные функции Windows позволяют сделать это просто. Достаточно открыть папку «Мой компьютер», затем в адресной строке указать путь к серверу.

Другой способ - создать ярлык подключения к ФТП на рабочем столе компьютера.

Для этого открыть«Панель управления», кликнуть правой кнопкой раздел «Сетевое окружение». В задачах выбрать «Добавить новый элемент в сетевое окружение», затем щёлкнуть на пункт «Выберите другое сетевое размещение» и «Далее». Теперь в разделе «Сетевое размещение» появится ярлык, который нужно просто перетащить мышью на рабочий стол.

Здравствуйте админ, объясните мне пожалуйста, что такое FTP сервер и могу ли я сам создать его на своём компьютере?

Короче, у меня дома есть обычный системный блок и три ноутбука, все эти машины подключены к интернету через роутер, могу ли я из стационарного компьютера сделать настоящий FTP сервер, и прямо со всех ноутбуков скачивать и закачивать на него файлы? Просто на обычном компьютере установлен жёсткий диск на 3 ТБ и получается, что им никто не пользуется, все родичи предпочитают ноутбуки, на которых уже заканчивается дисковое пространство.

Привет друзья! Наш Ro8 написал для Вас классную статью на эту тему, читаем.

Во-первых, FTP - это протокол передачи файлов по сети интернет по принципу «клиент-сервер» , а FTP сервер, это хранилище файлов в интернете, то есть - обычный компьютер с установленной Windows 7, 8.1 или Windows Server 2012 и несколькими жёсткими дисками большого объёма, на которых могут быть расположены любые ваши файлы. На этом компьютере установлена программа, например - FileZilla Server , подключиться к этому компьютеру может любой другой с помощью: командной строки , проводника Windows и различных программ, рассмотрим в нашей статье две: FileZilla Client , и Total Commander . После подключения к FTP-серверу вы можете закачивать на него любые файлы (фильмы, музыку и т.д) и также скачивать.

Управление FTP-сервером будет осуществлять администратор, установивший программу - FileZilla Server. Именно в ней можно каждому пользователю присвоить различные права доступа (возможность изменения файлов на сервере) : Append (возможность изменения файлов), Read (только чтение), Write (запись), Delete (удаление). Естественно, большей части пользователей можно не давать права Delete (удаление).

  • Примечание : Практически из любого компьютера или ноутбука (пусть даже с одним жёстким диском) можно сделать FTP сервер и подключать к нему другие компьютеры для получения файлов и вовсе необязательно то, чтобы все компьютеры были подсоединены к одному роутеру, FTP-сервер можно создать на просторах интернета и открыть к нему доступ сотням и тысячам пользователей.

Как происходит работа

В качестве программной реализации FTP сервера в статье будет рассмотрена программа FileZilla Server, которая будет установлена на машину с Windows Server 2012

Также в качестве машины с которой будет производится подключение к созданному FTP серверу выступает компьютер с предустановленной Windows 8.1 Enterprise (x64)

Для того, чтобы машина с Windows 8.1 могла подключиться к FTP серверу, на нее будет произведена установка программы FileZilla Client (один из способов подключения с помощью данной программы)

Переходим по адресу https://filezilla-project.org и скачиваем FileZilla Server и FileZilla Client

Скачанный файл FileZilla Server запускаем на машине с Windows Server 2012 , а файл FileZilla Client на машине с Windows 8.1 . Обе программы устанавливаются одинаково. В первую очередь установим программу FileZilla Server.

Установка FileZilla Server

После запуска скачанного файла FileZilla Server на Windows Server 2012 нажимаем далее

Нажимаем Установить

Установить

Процесс установки FileZilla Server

Установка завершена

После установки откроется вот такое окно, в котором вводим локальный адрес FTP сервера и нажимаем OK

После ввода локального адреса FTP сервера появится основное окно программы FileZilla Server

Произведем некоторые настройки выбрав Edit-Users

На вкладке General для добавления нового пользователя нажимаем на кнопку Add

Вводим имя пользователя. ОК

Напротив Password ставим галочку и вводим пароль добавленного пользователя

Переходим на вкладку Shared Folders. На данной вкладке добавим папку FTP01 которая будет доступна созданному пользователю Ro8. Нажимаем Add

Указываем заранее созданную папку FTP01. ОК

Выделяем добавленную папку и указываем для нее права доступа: - Read (только чтение), Write (запись), Delete (удаление), Append (возможность изменения файлов в данной папке)

Определяем ip адрес машины с Windows Server 2012 (192.168.1.4)

Установка FileZilla Client

Переходим на машину с Windows 8.1 и производим установку программы FileZilla Client

Принимаем лицензионное соглашение

Установка

Установка завершена

У нас есть сеть, представленная на схеме

Выполним подключение к FTP серверу различными способами.

Подключимся к FTP серверу используя командную строку

На машине с Windows 8.1 запустим командную строку.

Указываем имя пользователя (Ro8 ) и вводим пароль. Пароль при вводе не отображается

Logged on означает что мы произвели вход на FTP сервер

Создадим папку My_Backup_win8.1 на FTP сервере - введя команду mkdir My_Backup_win8.1

Посмотрим список папок на FTP сервере - введя команду ls

Как видим, на FTP сервере присутствует папка My_Backup_win8.1

Закрываем соединение с FTP сервером введя команду bye

Подключение к FTP-серверу с помощью программы T otal Commander

Запустим на машине с Windows 8.1 файловый менеджер Total Commander. Для настройки подключения к FTP серверу нажимаем на кнопку указанную на скриншоте

Нажимаем Добавить

Указываем имя соединения (произвольно), сервер и порт (сервер это ip адрес FTP сервера, порт прописываем 21). Также указываем имя пользователя и пароль. ОК

Выделяем созданное FTP соединение и нажимаем Соединится

Соединение с FTP сервером установлено

Для отключения от FTP сервера нажимаем Отключение

Отключение от FTP сервера выполнено

Подключение к FTP-серверу с помощью программы FileZilla Client

Запустим программу FileZilla Client

Откроется главное окно программы

Передача информации в интернете осуществляется несколькими способами. По правилам протокола НТТР данные представляются средствами языка гипертекстовой разметки. Любой браузер получает контент сайта от сервера в виде гипертекстового описания и преобразует его в образ страниц.

Протокол FTP предназначен для простого обмена файлами между узлами сети, когда файлы передаются без каких-либо изменений и преобразований. При подключении удаленного компьютера к FTP-серверу копирование файлов между ними происходит подобно операциям в проводнике локального ПК. В свое время FTP разрабатывался именно для пересылки файлов и поэтому данный протокол является оптимальным инструментом файлообмена.

Используя всемирную паутину (www), мы ежедневно скачиваем и отправляем данные на серверы по http-протоколу. Также можно загружать на свой ПК файлы хранящиеся на многочисленных ftp-серверах. Тысячи FTP-серверов предоставляют анонимный бесплатный доступ к гигабайтам самых разнообразных данных: дистрибутивам ПО, изображениям, текстовым, аудио- и видеофайлам.

Кроме этого, на многих серверах существуют каталоги открытые на запись для размещения в них файлов пользователей. Так обеспечивается пополнение библиотек свежей информацией. Эти разделы могут использоваться с целью резервного копирования или дальнейшего распространения файлов по сети. Таким образом, FTP-архивы - это рассредоточенный депозитарий информации хранящейся в виде файлов на различных серверах по всему миру. Популярные сегодня облачные хранилища данных - лишь современная альтернатива FTP-файлообменникам.

Хотя, FTP - один из старейших сетевых протоколов, для многих пользователей ftp-ресурсы интернета остаются неизведанной областью.

Для работы с ftp-хостами существует множество десктопных приложений. Один из популярных ftp-клиентов - бесплатная программа FileZilla.

Скачаем FileZilla Client с официального сайта http://filezilla.ru/get/

Чтобы с помощью такого клиентского приложения подключиться к ftp-серверу нужно иметь его адрес. И определенно знать, что искомый файл записан в одной из его директорий. И нужно знать имя файла или, хотя бы, часть его названия. Фактически, это уже не поиск файла, а точное и целенаправленное его извлечение.

Узнать имя файла можно на страницах с его описанием, предварительно погуглив, например, интересующую тему. Далее, имея название файла, можно обратиться уже к ftp-поисковикам. Создано немало таких специальных поисковиков. Найти их в сети можно по запросу: "ftp-поисковик". Существуют и каталоги открытых ftp-серверов, как например: https://goo.gl/U7e4us

Попробуем найти и скачать с ftp-сервера небольшую полезную программку для записи образа диска ImgBurn.

Для поиска в ftp-архивах используем сервис krasfs.ru . В поисковую строку вписываем название файла и ищем только в FTP:

По запросу открывается десяток файлов с дистрибутивом приложения. Правой кнопкой мышки из контекстного меню командой: "Сохранить ссылку как..." открываем проводник ПК и сохраняем файл в выбранную директорию:


Кажется, такой поиск файлов совсем не впечатляет. Ведь скачать последнюю версию подобной бесплатной программы проще с официального сайта разработчика.

К ftp-ресурсам стоит обратиться когда привычным способом на страницах сайтов нужный файл не находится. Или предстоит копирование из сети объемного файла - более 100 Мб. Потому что, при всех прочих равных условиях файл из ftp-архива скачается быстрее.

И теперь посмотрим как работает менеджер FileZilla. Скачали, установили и открыли программу. Копируем адрес ссылки из поисковика krasfs.ru:

и вставляем ее в поле программы: "Хост:". Остальные поля не заполняем, так как доступ к серверу анонимный, и нажимаем кнопку "Быстрое соединение". Через некоторое время приложение подключается к хостингу. В правой части окна программы разворачиваем структуру директорий ftp-сервера, проходим в конечную папку согласно ссылке из поисковика: ftp://82.209.233.14/media/soft/Beloff/BWPI/Portable/ ImgBurn.exe и в правой нижней четверти окна находим искомый файл:


Правой кнопкой мышки выделяем файл, в его контекстном меню кликаем команду "Скачать" и наблюдаем процесс копирования:


Очень удобно работать в FileZilla - дружественный интерфейс, все директории как на ладони. При этом, в случае разрыва соединения с сервером, файл в ftp-клиенте можно докачать. Если скачивать просто браузером, как было показано выше, после прерванного подключения придется начинать копирование заново.

Обратим внимание на сервис krasfs.ru. Кроме файлов из архивов FTP этот поисковик находит раздачи на площадках двух десятков популярных торрент-трекеров. Для поиска используем названия фильмов или книг, имена авторов произведений, исполнителей. Когда файл найден, копируем адрес ссылки и добавляем его в торрент-клиент:


Итак, вооружившись универсальным сервисом krasfs.ru, ftp-каталогами начинаем изучать доступные ftp-кладовые. Исследуя ftp-ресурсы в поисках нужного попутно в папках можно обнаружить другие интересные и эксклюзивные материалы - уникальные файлы из самых разных областей. Это напоминает рыбалку - вылавливая одно можно поймать неожиданную удачу. То есть, появляется интрига найти что-то редкое, малоизвестное.

Если вы достаточно давно читаете этот блог, то можете помнить о том, как я решил собрать в нем описание популярных (и не очень) сетевых протоколов. Зачем это мне нужно, можно прочитать в статье Достаточно полное описание протокола SMTP . Вот решил пополнить коллекцию протоколом FTP, повсеместно используемым для передачи файлов.

1. Заходим

По традиции, сразу начну с примера:

$ telnet example.ru 21
Trying 192.168.0.1...
Connected to example.ru.
Escape character is "^]".
220-Welcome to Pure-FTPd
You are user number 5 of 100 allowed.
Local time is now 17:41. Server port: 21.
220 You will be disconnected after 15 minutes of inactivity.
USER afiskon
331 User afiskon OK. Password required
PASS lamepassword
230-User afiskon has group access to: coders
230 OK. Current restricted directory is /

FTP-сервер обычно работает на 21 порту. В приведенном примере строки, начинающиеся с цифр, посылаются сервером, остальные — клиентом. Запросы клиента всегда состоят из одной строки формата КОМАНДА [аргументы] , в то время как ответы сервера могут содержать несколько строк.

Первая и последняя строки начинается с трех цифр, представляющих собой код ответа, за которыми идет текстовое описание ответа, отделенное от кода либо пробелом, либо тире. Если в качестве разделителя используется пробел, значит строка является последней в ответе (и, возможно, единственной), иначе — мы получили первую строку многострочного ответа. Где-то мы это уже видели , не так ли?

Существует пять групп ответов сервера:

Как видно из примера, все начинается с посылки сервером кода 220. Затем пользователь должен залогиниться с помощью команд USER и PASS. Если все сделано правильно, на первую сервер ответит кодом 331, а на вторую — 230. Для анонимного входа (если он разрешен настройками сервера), в качестве имени пользователя следует указать «anonymous», а в качестве пароля — свой e-mail. На практике обычно посылается либо пустой e-mail, либо что-то типа [email protected].

Как видно, пароль передается в открытом виде, потому крайне желательно шифровать FTP-соединение с помощью SSL (это называется FTPS — FTP плюс SSL), а еще лучше — передавать файлы по SSH с помощью утилит scp, sftp или WinSCP . Первые две есть в любой unix-системе и используют для передачи файлов одноименные протоколы, работающие поверх SSH. WinSCP написан для Windows и внешне напоминает Total Commander, умеет работать как с устаревшим SCP (Secure Copy), так и SFTP (SSH File Transfer Protocol), появившимся только в SSH-2.

2. Осматриваемся

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

Команда Ожидаемый код Описание
DELE 250 Удалить файл
RMD 250 Удалить директорию
CWD 250 Перейти в директорию
MKD 257 Создать директорию
PWD 257 Узнать текущую директорию
QUIT 221 Закончить работу
TYPE 200 Установить тип передачи
PORT 200 Перейти в активный режим
PASV 227 Перейти в пассивный режим
LIST 150, 226 Получить содержимое каталога
RETR 150, 226 Скачать файл
STOR 150, 226 Залить файл
ABOR 426,226 Отменить передачу
RNFR 350 Выбрать файл для переименования
RNTO 250 Переименовать файл

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

Самые простые команды — это QUIT, DELE, MKD, CWD и RMD . Просто командуем и проверяем код, возвращаемый сервером. Если он равен ожидаемому, значит все ОК, если нет — обрабатываем ошибку.

MKD ftp_test
257 "ftp_test" : The directory was successfully created
CWD ftp_test
250 OK. Current directory is /ftp_test
CWD ..
250 OK. Current directory is /
RMD ftp_test
250 The directory was successfully removed

Если бы я писал FTP-клиент, то код, отвечающий за выполнение названных команд, выглядел бы примерно так:

int code;
char * dir;
// ...
if (code = rawcmd(250 , "RMD %s\r \n " , dir) )
printf ("Error: %d\n " , code) ;
else
printf ("All done!\n " ) ;

Чуть сложнее с парсингом ответа сервера на команду PWD :

PWD
257 "/ftp_test" is your current location

Текущая директория передается в единственной (последней?) строке ответа сервера, заключенная в двойные кавычки. Если полное имя текущей директории содержит двойные кавычки, они заменяются на две кавычки:

PWD
257 "/ftp""test" is your current location

Для переименования файлов используется пара команд — RNFR и RNTO :

RNFR old_file.zip
350 Are you kidding?
RNTO new_file.zip
250 Done!

По всей видимости, это такая оптимизация, чтобы буфер, в который сервер читает команды клиента, был порядка максимально допустимой длины полного имени файла, а не в два раза больше. В 1971-м году, когда был создан протокол, это могло быть важно.

Команда TYPE позволяет установить режим передачи файлов. Пример:

TYPE E
200 TYPE is now EBCDIC
TYPE A
200 TYPE is now ASCII
TYPE I
200 TYPE is now 8-bit binary

Насколько я могу судить, сегодня эта команда уже устарела и все данные можно спокойно передавать в бинарном формате (TYPE I). Цитата из Википедии :

Первые компьютеры использовали формат, размером в байт, машинное слово, двойное машинное слово, не кратное 8. Обычно они были кратны шести. Восемь бит в байте было принято при разработке системы машинных команд для IBM System/360. Это стало международным стандартом и с начала 1970-х большинство компьютеров использует байты, состоящие из 8 бит, и машинные слова, кратные 8.

3. Действуем

Особенность протокола FTP — для выполнения команд и передачи файлов используются разные соединения. Это в общем-то нормальное проектное решение. Мы же не знаем, что там в этих файлах записано, а если передавать их вместе с командами, придется как-то кодировать содержимое файла, чтобы отличить его от команд. Зачем увеличивать объем трафика и усложнять протокол, когда можно просто открыть новое соединение и послать файл, как есть?

При установлении нового соединения кто-то должен собственно соединяться, а кто-то соединение принимать. Если клиент открывает порт, а сервер коннектится к нему, режим передачи файла называется активным. В обратном случае — пассивным. За счет того, что многие пользователи Интернета сегодня сидят за NAT, обычно используется пассивный режим. И это не очень хорошо, потому что число портов у сервера ограничено.

Что интересно — существует возможность передавать файлы с одного FTP-сервера на другой напрямую. Но поскольку такая возможность часто использовалась в DDoS-атаках, сейчас она практически везде отключена.

Для перехода в пассивный режим используется команда PASV , для перехода в активный — PORT :

PORT 192,168,10,1,21,133
200 PORT command successful
PASV
227 Entering Passive Mode (192,168,0,1,21,216)

Как несложно догадаться, с помощью цифр кодируется IP-адрес и порт для соединения. Допустим, мы находимся в пассивном режиме и хотим установить соединение для передачи данных:

$ telnet 192.168.0.1 `expr 21 \* 256 + 216`
Trying 192.168.0.1...
Connected to example.ru.
Escape character is "^]".

После чего можем, например, просмотреть содержимое текущего каталога, заюзав команду LIST :

LIST
150 Accepted data connection
226-Options: -a -l
226 5 matches total

Смотрим на вывод telnet:

drwx------ 5 afiskon coders 512 Jul 7 11:35 .
drwx------ 5 afiskon coders 512 Jul 7 11:35 ..
drwxr--r-- 3 afiskon coders 512 Jun 6 14:30 сайт
drwxr-xr-x 2 afiskon coders 1024 Jul 7 00:16 logs
drwxr--r-- 2 afiskon coders 512 Jun 6 14:30 tmp
Connection closed by foreign host.

Абсолютно аналогично происходит скачивание и аплоад файлов, только используются команды RETR {файл} и STOR {файл} соответственно. Команды RETR, STOR и LIST можно прервать в процессе выполнения с помощью команды ABOR , в ответ на которую сервер должен ответить 426 «передача прервана», а затем — 226 «отмена операции произошла успешно».

4. Заключение

На этом я, пожалуй, закончу свое повествование. Получилось 9 Кб текста против 130 Кб RFC959 . По этой статье вполне можно написать несложный FTP клиент или сервер, я проверял! Самое главное — это протестировать его на совместимость с максимально возможным количеством ПО, поскольку, как я уже отмечал, в мире FTP мало кто строго следует RFC. Ну и последнее — помните золотое правило «Be liberal with input, strict with output».