Служба ftp в интернете предназначена для приема и передачи файлов любого формата

Обновлено: 04.07.2024

Информационное наполнение сети Интернет. Разнообразие и особенности работы сервисов и служб по передаче и приему информации в сети. Служба передачи файлов FTP, понятие, принцип работы, требования к файлам и безопасности. Серверы FTP в мировой сети.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид реферат
Язык русский
Дата добавления 17.01.2009
Размер файла 48,8 K

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

  • Введение3
  • 1. Информационное наполнение сети Интернет4
  • 2. Служба передачи файлов FTP5
  • Заключение9
  • Список литературы10

Слово "Internet" несколько лет назад было известно лишь узкому кругу специалистов по компьютерным сетям, а сегодня оно не сходит с полос компьютерных газет и журналов, часто встречается в неспециализированных изданиях и звучит в передачах телевидения и радио. Чем же привлекает столь пристальное внимание эта глобальная сеть, с развитием которой связывают новый этап в информационной революции конца двадцатого столетия? Прежде всего, практически неограниченными возможностями распространения информации, доступа к накопленным информационным ресурсам и общения между пользователями компьютерных сетей в различных странах мира.

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

Службы (сервисы) - это виды услуг, которые оказываются серверами сети Internet.

1. Информационное наполнение сети Интернет

В истории Интернет существовали разные виды сервисов, одни из которых в настоящее время уже не используются, другие постепенно теряют свою популярность, в то время как третьи переживают свой расцвет. Перечислим те из сервисов, которые не потеряли своей актуальности на данный момент:

1. World Wide Web - всемирная паутина - служба поиска и просмотра гипертекстовых документов, включающих в себя графику, звук и видео.

3. Usenet, News - телеконференции, группы новостей - разновидность сетевой газеты или доски объявлений.

4. FTP - служба передачи файлов.

5. ICQ - служба для общения в реальном времени с помощью клавиатуры.

6. Telnet - служба удаленного доступа к компьютерам.

7. Gopher - служба доступа к информации с помощью иерархических каталогов.

Среди этих служб можно выделить службы, предназначенные для коммуникации, то есть для общения, передачи информации (E-mail, ICQ), а также службы, назначение которых - это хранение информации и обеспечение доступа к этой информации пользователей. Среди последних служб лидирующее место по объему хранимой информации занимает служба WWW, поскольку данная служба наиболее удобна для работы пользователей и наиболее прогрессивна в техническом плане. На втором месте находится служба FTP, поскольку какие бы интерфейсы и удобства не разрабатывали для пользователя, информация все равно хранится в файлах, доступ к которым и обеспечивает эта служба. Службы Gopher и Telnet в настоящее время можно считать «отмирающими», так как новая информация уже почти не поступает на серверы этих служб и количество таких серверов и их аудитория практически не увеличивается.

Рис. 1. Структура информационного наполнения сети Internet .

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

Любой пользователь может воспользоваться услугами этой службы и с помощью анонимного доступа скопировать интересующие его файлы. Объем программного обеспечения в архивах FTP составляет терабайты информации (1 терабайт = 10 12 байт). Кроме программ в FTP-архивах можно найти стандарты Internet, пресс-релизы, книги по различным отраслям знаний (и особенно по компьютерной проблематике) и многое другое.

Практически любой архив строится как иерархия папок, а для доступа к информации используется протокол FTP (File Transfer Protocol) - протокол передачи файлов. Для работы пользователя с этой службой существует множество программ FTP-клиентов, например, CuteFTP, Far, Windows Commander. Как правило, эти программы являются также файловыми менеджерами, то есть позволяют просматривать как информацию на локальных дисках, так и точно также на удаленных и выполняют функции копирования информации с удаленного диска на локальный диск.

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

Для решения этой задачи в Интернете имеется специальная служба, имя которой образовано от названия протокола, который она использует: FTP (File Transfer Protocol - протокол передачи файлов).

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

Понятно, что при таких возможностях, к протоколу FTP предъявляются особые требования с точки зрения безопасности. В нем предусмотрены специальные средства для того, чтобы сервер мог однозначно проверить, кто к нему обратился (у прочих протоколов сервер такой возможностью не обладает). Поэтому для подключения к FTP-серверу надо сообщить регистрационное имя (login) и пароль (password). Идя навстречу своим клиентам, администрация FTP-cервера может не настаивать на процедуре проверки пользователя - для этого существует такое понятие, как анонимный доступ к FTP. В этом случае достаточно ввести в качестве имени пользователя слово anonymous (аноним), а в качестве пароля - свой адрес электронной почты. Большинство программ клиентов FTP идут еще дальше и освобождают потребителя даже от этой нехитрой операции - при обращении к серверам FTP они сами автоматически подставляют регистрационное имя anonymous, а в качестве адреса электронной почты - какой-нибудь реальный адрес, например адрес производителя программы. В этом случае при обращении к FTP-серверам анонимного доступа пользователь вообще ни о чем не задумывается, а просто получает тот файл, который он сам выбрал.

Тем, кто работает в операционной системе Windows, заботиться об установке клиента FTP не надо - он уже есть в составе операционной системы и подключен к браузеру Microsoft Internet I Explorer. Если в ходе просмотра Web-страниц нам попадается ссылка с предложением получить некий файл, достаточно щелкнуть на ней, и автоматически произойдет запуск клиента FTP, который выполнит загрузку файла в ту папку, которую мы назначим.

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

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

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

Служба FTP имеет свои серверы в мировой сети, на которых хранятся архивы данных. Со стороны клиента для работы с серверами FTP может быть установлено специальное программное обеспечение, хотя в большинстве случаев браузеры WWW обладают встроенными возможностями для работы и по протоколу FTP.

Список литературы

1. Джеймс Ф. Куроуз, Кит В. Росс. Компьютерные сети. Многоуровневая архитектура интернета. Изд-во: Addison Wesley. - Питер, 2004.

2. Информатика. Базовый курс. Учебник для ВУЗов. - СПб, 2001.

Служба FTP (от протокола - File Transfer Protocol) - предназначена для обмена файлами.

FTP служба построена по хорошо известной схеме "клиент-сервер".

Клиент (браузер,Windows Commander, NetVampir . ) посылает запросы серверу и принимает файлы.

Сервер FTP (vsftpd, IIS . ) обрабатывает запросы клиента на получение файла.

Взаимодействие клиент и сервера по протоколу FTP.

Служба FTP базируется на двух стандартах:

URL (Universal Resource Locator) - универсальный способ адресации ресурсов в сети ;

FTP (File Transfer Protocol) - протокол передачи файлов.

5.2 Протокол FTP

File Transfer Protocol - протокол передачи файлов, протокол высокого уровня (а именно, уровня приложений).
. Используется службой FTP для передачи файлов.

Первый стандарт - RFC114 (File Transfer Protocol A.K. Bhushan Apr-10-1971).

Последняя версия - RFC959 (File Transfer Protocol J. Postel, J.K. Reynolds Oct-01-1985).

FTP отличается от других приложений тем, что он использует два TCP соединения для передачи файла.

Соединение данных - соединение для передачи файлов.

Схема двух каналов соединения по протоколу FTP

В старых версиях для передачи данных использовался только 20-й порт (активный режим), в современных версиях FTP-серверов порт для канала данных может назначаться сервером из нестандартных (N > 1024) портов (пассивный режим).

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

Работа FTP на пользовательском уровне содержит несколько этапов:

Идентификация (ввод имени и пароля).

Определение режима обмена (поблочный, поточный, ascii или двоичный).

Выполнение команд обмена (get, mget, dir, mdel, mput или put).

Завершение процедуры (quit или close).

5.2.1 Различие работы пассивного режима и активного.

5.2.1.1 Активный режим

Действия сервера и клиента:

Клиент устанавливает связь и посылает запрос на 21 порт сервера с порта N (N>1024)

Сервер посылает ответ на порт N (N>1024) клиента

Сервер устанавливает связь для передачи данных по порту 20 на порт клиента N+1

5.2.1.2 Пассивный режим:

Действия сервера и клиента:

Клиент устанавливает связь и посылает запрос (сообщает, что надо работать в пассивном режиме) на 21 порт сервера с порта N (N>1024)

Сервер посылает ответ и сообщает номер порта для канала данных P (P>1024) на порт N (N>1024) клиента

Клиент устанавливает связь для передачи данных по порту N+1 на порт сервера P (P>1024)

Активный FTP выгоден для FTP-сервера, но вреден для стороны клиента. FTP сервер пытается соединиться со случайными высокими (по номеру) портами на клиенте, такое соединение наверняка будет блокировано брандмауэром на стороне клиента.

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

Ниже приведены примеры запроса клиента и ответа сервера:

5.2.1.3.1 Пример запроса на чтение каталога


сервер: 220 megillah.demos.su FTP server (Version wu-2.4) ready. - // код ошибки, имя хоста, протокол, версия сервера, только для чтения
клиент: USER anonymous - // имя пользователя
сервер: 331 Guest login ok, send your complete e-mail address as password.- //код ошибки, имя пользователя корректно, нужен пароль
клиент: PASS ****** - // пароль клиента
сервер: 230 Guest login ok, access restrictions apply. - //код ошибки, пользователь идентифицирован, продолжайте
клиент: CWD / - // переход к корневой директории
сервер: 250 CWD command successful. - // команда выполнена успешно
клиент: TYPE A - // передавать информацию в текстовом виде
сервер: 200 Type set to A. - // текстовый тип установлен
клиент: PASV - // сервер должен определить нестандартный порт данных, начать его слушать
сервер: 227 Entering Passive Mode (194,87,5,52,9,75) - // сервер возвращает ip-адрес (194.87.5.52) и номер порта (2383)
клиент: LIST - // передать по соединению данных список имен файлов в директории
сервер: Data connection established - // установлено соединение данных
клиент: 150 Opening ASCII mode data connection for /bin/ls. - // татус файла правилен, подготавливается открытие канала

5.2.1.3.2 Пример запроса файла

5.2.1.4 Некоторые команды

управления доступом
USER - имя пользователя
PASS - пароль
CWD - имя новой рабочей директории
CDUP - перейти на один уровень директории вверх
QUIT - выход

действия
RETR - имя файла (взять файл)
STOR - имя файла (передать файл)
REST - маркер (для докачки уже частично скаченного файла - обычно указывается смещение в байтах)
DELE - имя удаляемого файла
RMD - имя удаляемой директории
MKD - имя создаваемой директории
PWD - в ответе указать имя текущей директории
LIST [имя директории или файла] - передать по соединению данных список имен файлов в директории или информацию о файле
SYST - ответ должен содержать тип ОС сервера и др. полезную информацию
STAT - ответ содержать информацию о текущем состоянии сервера; если команда выдана в процессе передачи файла и предварена посылкой сигналов telnet-а IP и Synch, то ответ д. содержать информацию о состоянии пересылки
STAT имя файла - ответ должен содержать информацию о файле

прочее
HELP [имя команды] - описание работы данной команды
NOOP - пустая команда

5.2.1.5 Некоторые типы данных:

ASCII (TYPE A ) - передача текстовой информации

IMAGE (TYPE I ) - передача бинарных файлов

5.2.1.6 Коды возврата

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

Первая цифра:
1yz - предварительный положительный ответ: команда принята, но не завершена
2yz - действие успешно завершено
3yz - команда принята, сервер ждет дополнительную информацию
4yz - временная неудача, повторить через некоторое время
5yz - фатальная ошибка

Вторая цифра:
x0z - синтаксис
x1z - ответ на запрос информации
x2z - ответ относится к состоянию управляющего соединения или соединения данных
x3z - аутентификация и учет
x4z - смысл не определен
x5z - состояние файловой системы сервера

5.2.1.6 Некоторые коды возврата

120 Функция будет реализована через nnn минут

125 Канал открыт, обмен данными начат

150 Статус файла правилен, подготавливается открытие канала

200 Команда корректна

211 Системный статус или отклик на справочный запрос

212 Состояние каталога

213 Состояние файла

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

221 Благополучное завершение по команде quit

225 Канал сформирован, но информационный обмен отсутствует

226 Закрытие канала, обмен завершен успешно

230 Пользователь идентифицирован, продолжайте

250 Запрос прошел успешно

331 Имя пользователя корректно, нужен пароль

332 Для входа в систему необходима аутентификация

421 Процедура не возможна, канал закрывается

425 Открытие информационного канала не возможно

426 Канал закрыт, обмен прерван

450 Запрошенная функция не реализована, файл не доступен, например, занят

451 Локальная ошибка, операция прервана

452 Ошибка при записи файла (не достаточно места)

500 Синтаксическая ошибка, команда не может быть интерпретирована (возможно, она слишком длинна)

501 Синтаксическая ошибка (неверный параметр или аргумент)

502 Команда не используется (нелегальный тип MODE)

503 Неудачная последовательность команд

504 Команда не применима для такого параметра

530 Система не загружена (not logged in)

532 Необходима аутентификация для запоминания файла

550 Запрошенная функция не реализована, файл не доступен, например, не найден

552 Запрошенная операция прервана, недостаточно выделено памяти

5.2.1.7 Соединение к FTP с помощью Telnet

Подсоединимся к командному порту FTP (21):

5.3 Протокол TFTP

TFTP - тоже протокол FTP, но поверх протокола UDP (т.е. протокол без гарантированной доставки). Может использоваться в локальной сети, где скорость передачи важнее. На практике используется редко.

5.4 Программы клиенты

FTP - программа запускается с командной строки.

Windows Comander - может работать как FTP-клиент. Позволяет работать с удаленными каталогами также как с локальными.

NetVampire - Специализированный FTP-клиент, который позволяет качать большие файлы и качать по плохим каналам.

Что такое FTP

FTP (File Transfer Protocol) – это протокол, который используется для передачи файлов. Чаще всего вы можете услышать эту аббревиатуру в отношении глобальной сети – утилиты, работающие по протоколу FTP, помогают загружать файлы на серверы, что особенно полезно, если вы администрируете сайты. Если выражаться более простым языком, то данный протокол позволит вам подключиться к какой-либо удаленной папке и работать с ней, в том числе загружая на нее (или из нее) нужные вам файлы. FTP-сервер – это любой сервер, который поддерживает данный протокол.

Для того чтобы воспользоваться FTP, вам только нужно убедиться, что сеть поддерживает TCP/IP (по этому протоколу, например, работает Интернет).

Особенности подключения по FTP

Почему? Причин много. Например, при обрыве соединения – а бывает, как мы знаем, всякое – FTP позволит вам потом докачать файл, а не начинать его скачивание заново. Да и само скачивание происходит не по одному, а сразу по нескольким потокам параллельно. Для маленьких файлов это не очень важно, а вот если вы собираетесь загружать массивные файлы, то передача по FTP будет очень кстати.

Что такое FTP-клиент

FTP-клиент – это файловый менеджер, который осуществляет подключение к удаленному серверу для передачи данных. Существует много разных FTP-клиентов, но я советую использовать именно Filezilla.

Для подключения клиента к удаленному серверу нужны следующие данные:

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

Выше мы уже обговорили, что протокол FTP удобен для передачи файлов, однако он имеет много уязвимостей в защите и является небезопасным. Иными словами, незашифрованные данные, которые вы передаете по этому протоколу, могут быть перехвачены кем угодно. Если речь идет о личных данных (логинах, паролях), то вы можете представить, чем это может вам обернуться. Поэтому для того, чтобы обезопасить свои данные от кражи, необходимо использовать безопасные протоколы FTPS или SFTP. Filezilla отличается тем, что поддерживает эти протоколы (для того чтобы использовать безопасный протокол, в программе необходимо выбрать «Файл» -> «Менеджер сайтов» -> во вкладке «Общие» изменить протокол с FTP на SFTP).

Другими преимуществами Filezilla являются бесплатное использование, поддержка русского языка и кроссплатформенность (можете установить это ПО на машины с Linux, Windows или даже Mac OS X). Чуть подробнее почитать можно на русскоязычном сайте. Там же вы найдете и документацию клиента, а также полезные статьи.

Как работать с FTP на примере Filezilla

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

Установить Filezilla вы можете прямо с официального сайта.

Настройка Filezilla

Для того чтобы настроить Filezilla, вам необходимо знать свой логин и пароль от панели управления, а также название хоста. Timeweb присылает эту информацию после регистрации в приветственном письме (там отдельно будут указаны данные для использования FTP), а также на главной странице панели управления (смотрим блок «Доступ по FTP»):

Панель управления Timeweb

Теперь открывайте Filezilla и вводите все эти данные в соответствующие строки:

Доступы FTP

В поле «Порт» напишите 21 (этот порт использует FTP). Затем нажимайте «Быстрое соединение».

Внимание! Иногда на этом этапе у вас может возникнуть ошибка ENETUNREACH (Сеть недоступна), из-за которой соединение не будет установлено. Решается данная проблема легко – выключением (или временным приостановлением) антивирусной программы.

Если соединение установлено правильно, то в блоке справа внизу вы увидите список файлов, которые доступны на вашем аккаунте (по сути, то же самое вы увидите, если зайдете в раздел «Файловый менеджер» панели управления хостингом).

Но каждый раз при запуске Filezilla заново вводить эти данные, согласитесь, неудобно, поэтому мы сделаем следующее:

  1. Открываем «Менеджер сайтов».
  2. Нажимаем «Новый сайт» (по желанию переименовываем его).
  3. Тип входа: вместо «Анонимный» ставим «Нормальный».
  4. Вводим все данные.
  5. Нажимаем «ОК» или «Соединиться»

Тип входа FTP

Теперь после запуска программы вы можете просто нажать на стрелку вниз рядом со значком «Менеджер сайтов», выбрать аккаунт и подключиться к нему. Это особенно удобно, если у вас несколько сайтов на разных серверах.

Кстати, во вкладке «Дополнительно» вы можете указать путь к какой-то конкретной папке на сервере (строка «Удаленный каталог по умолчанию), и тогда при каждом подключении вы будете попадать не в корневой каталог, а в заданную папку.

Управление файлами

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

Вы можете заходить в них, смотреть и т.д. – в общем, как на обычном компьютере. Точно так же осуществляется и перенос файлов/папок между вашим компьютером и сервером – просто перетащите нужный вам элемент из одной области в другую (drag-and-drop). Типичный файловый менеджер.

Также вы можете кликом правой кнопки мыши по файлу закачать его на сервер – элемент будет загружен в открытую справа папку на сервере. При этом если файл не загрузился мгновенно (имеет большой вес), то внизу, во вкладке «Файлы в задании», вы увидите зеленую полосу загрузки:

Обмен данными в Filezilla

Чтобы создать папку на сервере, нажмите правую кнопку мыши в области справа, где отображены папки и файлы сервера, далее выберите «Создать каталог» и присвойте ему любое название (но обязательно латинскими символами!).

Хотите удалить или переименовать? Все точно так же, щелчком правой кнопки мыши.

Аналогично вы можете и перейти к редактированию файлов (пункт «Просмотр/Правка»), при этом можно использовать как программу по умолчанию, так и выбрать какой-нибудь редактор. Чтобы настроить автоматическое открытие файлов другим редактором, выберите пункт «Редактирование» в верхнем меню, затем «Формат файлов» – и сделайте активным пункт «Использовать следующий редактор» (с последующим выбором нужной вам программы):

Подключение внешнего редактора FTP

FTP-клиент позволяет настраивать и права доступа: для этого на элемент нужно нажать правой кнопкой мыши и выбрать «Права доступа к файлу».

Работать с файлами можно и в отложенном режиме: допустим, вы выбрали файлы, которые вам нужно перенести на сервер – выберите их, нажмите правую кнопку мыши и строчку «Добавить файлы в задание» (даже в том случае, если вы не подключены к серверу). Они отобразятся в блоке ниже. Затем подключитесь к серверу, снова кликните правой кнопкой по ним и выберите «Выполнить задание» - все файлы будут перенесены на сервер.

Отдельно стоит рассказать о синхронизированном просмотре. Для того чтобы его активировать, вам нужно нажать соответствующий значок чуть ниже верхнего меню (под надписью «Закладки»):

Синхронизированный просмотр Filezilla

Зачем это использовать? Допустим, у вас на компьютере есть папка с файлами вашего сайта – точно такими же, как и на хостинге. Файлов, как и папок, может быть очень много – и вот для удобства ориентирования в них и был добавлен такой режим: переходя из папки в папку в одном окне (допустим, серверном), вы будете точно так же, синхронно переходить в окне, где отображается содержимое вашего компьютера. Режим позволит вам не запутаться во множестве этих папок. Но, естественно, действует он лишь в том случае, если названия директорий полностью совпадают.

Заключение

FTP-соединение превращает ваш сервер в директорию, с которой удобно работать при помощи специального файлового менеджера, т.е. FTP-клиента. Освоить такую программу вы сможете за 10 минут!

Самый главный недостаток FTP – это уязвимость перед взломами и DDoS-атаками. Не советую хранить на таком сервере конфиденциальную информацию.

Надеюсь, моя статья оказалась вам полезной. Если остались вопросы по работе FTP-сервера или FTP-клиента, спрашивайте – обязательно отвечу!

p, blockquote 1,0,0,0,0 -->


p, blockquote 2,0,0,0,0 -->

Место протокола FTP в стеке TCP/IP

p, blockquote 3,0,0,0,0 -->

FTP в стеке TCP

p, blockquote 4,0,0,0,0 -->

Принцип работы протокола FTP

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

p, blockquote 5,0,0,0,0 -->

Принцип работы протокола FTP

p, blockquote 6,0,0,0,0 -->

p, blockquote 7,0,0,0,0 -->

URL состоит из 3-х частей:

В отличии от других протоколов прикладного уровня, протокол FTP использует два отдельных соединения. Первое соединение управляющее, второе соединение для передачи данных.

p, blockquote 9,0,1,0,0 -->

оединение управляющее, второе соединение для передачи данных в ftp

p, blockquote 10,0,0,0,0 -->

Взаимодействие с транспортным уровнем

FTP использует протокол транспортного уровня TCP, а для управляющего соединения на сервере используется порт 21. Соединение для данных может быть установлено в двух режимах: в активном и пассивном, при этом используются разные номера портов.

p, blockquote 11,0,0,0,0 -->

В активном режиме FTP инициатором установки соединения для передачи данных является сервер. В этом случае используется порт 20 на сервере, а со стороны клиента порт больше 1024.

p, blockquote 12,0,0,0,0 -->

В активном режиме FTP

p, blockquote 13,0,0,0,0 -->

Однако, если между сервером и клиентом находится межсетевой экран или устройство трансляции сетевых адресов NAT , то сервер установить соединение с клиентом не сможет. В этом случае используется пассивный режим, при котором соединение для передачи данных устанавливает клиент. В пассивном режиме и на клиенте и на сервере используются порты с номерами больше, чем 1024.

p, blockquote 14,0,0,0,0 -->

Аутентификация в FTP

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

p, blockquote 15,0,0,0,0 -->

p, blockquote 16,0,0,0,0 -->

Команды протокола FTP

Протокол FTP, как и многие протоколы прикладного уровня работает в текстовом режиме. Команды FTP похожи на команды протокола POP3 . Большинство из них состоит из 4-х символов, команды:

p, blockquote 17,0,0,0,0 -->

команды протокола FTP

  • Команды USER и PASS используются для аутентификации;
  • LIST позволяет посмотреть содержимое текущего каталога;
  • CWD поменять текущий каталог;
  • RETR позволяет загрузить файл с сервера на клиент;
  • STOR позволяет сохранить файл на сервере;
  • Протокол FTP может передавать данные в двух режимах, текстовом и бинарном. В текстовом режиме возможна отправка управляющих символов, которые будут обработаны специальным образом. В бинарном режиме, обработка специальных символов не производится. Для выбора режима, который будет использоваться для передачи файлов, служит команда TYPE;
  • DELE позволяет удалить файлы;
  • Команды MKD и RMD используются для создания и удаления каталога;
  • По умолчанию FTP сервер работает в активном режиме, т.е. соединение для передачи данных устанавливает сервер. Команда PASV служит для перехода в пассивный режим;
  • Команда QUIT используется для корректного закрытия соединения FTP после того, как все необходимые операции с файлами и каталогами были завершены.

Пример сеанса FTP

Мы подключились к серверу на порт 21, создали управляющее соединение, сервер нам выдал ответ.

p, blockquote 19,0,0,0,0 -->

p, blockquote 20,0,0,0,0 -->

Сначала необходимо пройти аутентификацию. Для этого используется команда USER anonymous и мы хотим подключиться, как анонимный пользователь.

p, blockquote 21,0,0,0,0 -->

p, blockquote 22,0,0,0,0 -->

331 Guest login ok, send your complete e-mail address as password . В данном случае сервер говорит, что он принимает гостевой логин, т.е. идентификатор анонимного пользователя и просит прислать ваш e-mail в качестве пароля.

p, blockquote 23,0,0,0,0 -->

p, blockquote 24,0,0,0,0 -->

Сервер никак не анализирует e-mail, который ему передали, говорит, что аутентификация прошла успешно, но права доступа ограничены 230 Guest login ok, access restrictions apply .

p, blockquote 25,0,0,0,0 -->

Устанавливаем бинарный режим передачи файлов с помощью команды TYPE 1 . Сервер отвечает, что тип передачи данных успешно установлен в 1. 200 Type set to 1 .

p, blockquote 26,0,0,0,0 -->

Мы хотим загрузить сервера в файл, показан путь /pud/tex/latex/llncs2e.zip , но перед тем как загрузить, мы хотим узнать его размер, для этого выдаем команду SIZE /pud/tex/latex/llncs2e.zip . Сервер в ответ выдает размер файла в байтах 213 230229 .

p, blockquote 27,0,0,1,0 -->

Переходим в пассивный режим с помощью команды PASV .

p, blockquote 28,0,0,0,0 -->

пассивный режим FTP

p, blockquote 29,0,0,0,0 -->

В ответ сервер говорит, что он перешел в пассивный режим 227 Entering Passive Mod (213, 71, 6, 142, 35, 141) и передает нам 6 чисел, которые нужно использовать для установки соединения для передачи данных. Первые 4 числа это IP-адрес , вторые два числа используются, чтобы узнать порт на который нужно установить соединение. Первое число 35 нужно умножить на 256 и прибавить второе число 141, так мы узнаем порт.

p, blockquote 30,0,0,0,0 -->

Для того, чтобы загрузить нужный нам файл используем команду RETR /pud/tex/latex/llncs2e.zip . После того, как мы выдали эту команду сервер ждет, что мы установим соединение с IP-адресом и портом, которые он нам указал.

p, blockquote 31,0,0,0,0 -->

После того, как соединение для передачи данных установлено, сервер сообщает нам об этом в управляющем соединении. 150 Opening BINARY mode data connection for /pud/tex/latex/llncs2e.zip (230229 bytes). Также сервер говорит, что передача данных ведется в бинарном режиме.

p, blockquote 32,0,0,0,0 -->

После того, как передача файла закончена, сервер сообщает нам об этом 226 Transfer complete . Клиент выдает команду QUIT чтобы разорвать соединение. Сервер сообщает нам некоторую статистику, сколько было передано байт и файлов. 221 You have transferred 239229 bytes in 1 file . И говорит до свидания 221 Goodbye. На этом сеанс работы по протоколу FTP завершен.

p, blockquote 33,0,0,0,0 -->

Заключение

p, blockquote 34,0,0,0,0 -->

Протокол FTP использует два соединения управляющее соединение и соединение для передачи данных. Использование отдельного соединения для передачи данных, приводят к проблемам в работе FTP с межсетевыми экранами и устройствами NAT. Для решения этой проблемы был придуман пассивный режим FTP при котором соединение для передачи данных устанавливается со стороны клиента. Еще одна проблема низкая безопасность.

Читайте также: