Содержание

Что такое FTP и зачем оно нужно

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

Основ­ные тре­бо­ва­ния были такие: про­сто­та рабо­ты и надёж­ность при отправ­ке и полу­че­нии. Таким инстру­мен­том стал FTP-протокол.

Принцип работы

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

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

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

Про­грам­ми­сты ино­гда исполь­зу­ют такие сер­ве­ры для обме­на фай­ла­ми и для бэка­пов кода, хотя мно­гие для это­го пред­по­чи­та­ют GIT. Про него ещё пого­во­рим отдельно.

Клиент и сервер

Для рабо­ты по FTP нуж­ны двое: FTP-сервер и FTP-клиент. Что дела­ет сервер:

  • обес­пе­чи­ва­ет доступ по логи­ну и паро­лю к нуж­ным файлам;
  • пока­зы­ва­ет поль­зо­ва­те­лю толь­ко те фай­лы и пап­ки, кото­рые он может про­смат­ри­вать или загру­жать в них;
  • сле­дит за каче­ством пере­да­чи и смот­рит, что­бы не было ошибок;
  • управ­ля­ет пара­мет­ра­ми соеди­не­ния в пас­сив­ном режиме.

Так как FTP при­шёл к нам из вре­мён UNIX-систем, то любое соеди­не­ние тре­бу­ет логи­на и паро­ля. Если у поль­зо­ва­те­ля его нет, сер­вер его не про­пу­стит. Но что­бы сде­лать фай­лы доступ­ны­ми для всех, исполь­зу­ют ано­ним­ный режим. В нём логи­ном будет сло­во anonymous, а паро­лем — любой адрес элек­трон­ной почты. Совре­мен­ные бра­у­зе­ры уме­ют сами захо­дить на ано­ним­ные FTP-серверы и под­став­лять почту. Со сто­ро­ны это выгля­дит так, как буд­то ника­ко­го логи­на и паро­ля нет, но они есть.

Когда запус­ка­ет­ся FTP-сервер, ему гово­рят: «Ува­жа­е­мый сер­вер, вот спи­сок фай­лов и папок, кото­рые нуж­но пока­зы­вать на сер­ве­ре. Если к тебе посту­чит­ся поль­зо­ва­тель с таким-то логи­ном и паро­лем, то пока­жи ему всё, а если с вот таким логи­ном — то дай ему одну толь­ко эту пап­ку. Ано­ни­мов не пус­кать». Ещё один обя­за­тель­ный пара­метр — адрес сер­ве­ра и порт, по кото­ро­му будет идти пере­да­ча файлов.

Что­бы под­клю­чить­ся к сер­ве­ру, нуж­на спе­ци­аль­ная про­грам­ма, их ещё назы­ва­ют FTP-клиентами. Для каж­дой опе­ра­ци­он­ной систе­мы есть мно­го сво­их кли­ен­тов, напри­мер, FileZilla или CuteFTP. Те, кто рабо­та­ет в Linux-подобных систе­мах, часто исполь­зу­ют команд­ную строку.


Интер­фейс CuteFTP для MacOS. 
Рабо­та с FTP в команд­ной строке. 

Такая схе­ма рабо­ты часто исполь­зу­ет­ся в вир­ту­аль­ных хостин­гах, когда нуж­но полу­чить доступ к содер­жи­мо­му сай­та или изме­нить кон­фи­гу­ра­ци­он­ные файлы.

В чем смысл вообще

Ну и каза­лось бы — что меша­ет пере­да­вать фай­лы, как обыч­но, через сай­ты по про­то­ко­лу HTTP? Пол­но же сай­тов и фору­мов, на кото­рых лежат фай­лы, и их мож­но спо­кой­но скачать.

А раз­ни­ца вот в чем:

  • Для FTP не нужен сайт, то есть веб-интерфейс. Не нуж­но запус­кать веб-сервер, настра­и­вать шаб­ло­ны выво­да спис­ка фай­лов и под­ни­мать отдель­ную про­грам­му, кото­рая будет нам отда­вать эти фай­лы (типа Ворд­прес­са). FTP — это как доступ к уда­лен­ной пап­ке: ты сра­зу видишь фай­лы и можешь их качать, без посред­ни­ков. А в вебе нуж­на какая-то про­грам­ма, кото­рая «нари­су­ет» тебе фай­ло­вую систе­му и поста­вит ссыл­ки на файлы.
  • В FTP уже реа­ли­зо­ва­ны вопро­сы авто­ри­за­ции и прав. А в вебе их нуж­но созда­вать: напри­мер, ста­вить тот же Ворд­пресс и к нему при­кру­чи­вать пла­ги­ны с систе­мой досту­па. Или настра­и­вать Apache, гене­ри­ро­вать клю­чи досту­па, рас­кла­ды­вать кон­фи­гу­ра­ци­он­ные фай­лы по пап­кам — это гораз­до менее эле­гант­но, чем настрой­ка FTP.
  • В FTP мож­но раз­ре­шить или запре­тить отдель­ным поль­зо­ва­те­лям загру­жать фай­лы на FTP-сервер. В вебе загруз­ка фай­лов от поль­зо­ва­те­ля на сер­вер — это на поря­док более слож­ная задача.

Уязвимости и надёжность

Сам по себе FTP-протокол надё­жен и гаран­ти­ро­ван­но достав­ля­ет поль­зо­ва­те­лю нуж­ные фай­лы, если с соеди­не­ни­ем всё в порядке.

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

Сей­час по умол­ча­нию пред­по­ла­га­ет­ся, что каж­дый канал — нена­дёж­ный, и что дан­ные нуж­но допол­ни­тель­но шиф­ро­вать. FTP это­го не под­дер­жи­ва­ет. Если кто-то будет пере­хва­ты­вать ваш Wi-Fi-трафик или под­клю­чит­ся к вашей локаль­ной сети, то он смо­жет пере­хва­тить все эти дан­ные и ска­чать их себе, парал­лель­но с вами.

Ещё есть вопрос без­опас­но­сти вхо­да: по умол­ча­нию у FTP-протокола нет защи­ты от под­бо­ра паро­ля и попы­ток вхо­да, поэто­му кто-то может про­сто пере­брать доступ­ные паро­ли, что­бы полу­чить доступ к пап­кам. Если вы виде­ли в филь­мах про хаке­ров, как они там пере­би­ра­ют паро­ли при вхо­де — это вполне веро­ят­ная ситу­а­ция для FTP.

С точ­ки зре­ния совре­мен­ной без­опас­но­сти пра­виль­ным реше­ни­ем будет исполь­зо­вать одну из реа­ли­за­ций шиф­ро­ван­но­го FTP (FTPS, SFTP) или поль­зо­вать­ся FTP через VPN.

Что такое FTP? Все о протоколе передачи файлов

С возникновением интернета появилась возможность двустороннего обмена файлами между удаленными компьютерами. Подключение одного компьютера к другому совершается с помощью специальных протоколов. Помимо самого распространенного протокола HTTP, существует и другой способ передачи данных – протокол File Transfer Protocol или FTP.

Что такое File Transfer Protocol

File Transfer Protocol является одним из первых способов обмена данными между компьютерами по сети TCP / IP. Очень удобен для загрузки и скачивания файлов большого объема. Протокол работает в модели клиент-сервер, где FTP-сервер и FTP-клиент выполняют операции передачи данных.

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

FTP-клиент

Несколько десятилетий назад FTP-клиенты были всего лишь приложениями интерфейса командной строки (CLI).

Теперь они имеют свои простые в использовании, интуитивно понятные интерфейсы для облегчения и упрощения передачи файлов. Используются для настольных компьютеров, серверов и мобильных устройств. Доступны в качестве автономных приложений, web-клиентов и простых расширений web-браузеров. Например, самыми лучшими и бесплатными FTP-клиентами для ОС Windows являются FileZilla, FireFTP, Cyberduck, WinSCP, FreeFTP.

FTP-сервер

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

Пассивное соединение является более безопасным, а также более предпочтительным для IT-администраторов, поскольку подключение к данным осуществляется с клиента на сервер, а не наоборот. Это более надежный метод, который позволяет избежать входящих подключений из интернета к отдельным клиентам. В межсетевых развертываниях все подключения выполняются из интернета на сервер, а не с сервера обратно в интернет. Поэтому пассивный режим также известен как «брандмауэр-дружественный».

Вопросы безопасности

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

Еще одной причиной возникновения угрозы безопасности является существование множества анонимных FTP-серверов, предлагающих для бесплатного скачивания фильмы, музыку, графику. Установление сеанса связи с такими сайтами является максимально простым. Войти в систему можно, указав „ anonymous” в строке имени пользователя и адрес электронной почты в качестве пароля.

Для повышения безопасности передачи файлов при использовании FTP-соединения разработаны дополнительные протоколы шифрования: FTPS, SFTP, HTTPS с поддержкой криптографических протоколов Secure Sockets Layer (SSL), Secure Shell (SSH).

FTP — протокол передачи файлов.

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

FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, в 1971 году. Он и сегодня широко используется для распространения ПО и доступа к удалённым хостам.
Протокол FTP относится к протоколам прикладного уровня и для передачи данных использует транспортный протокол TCP. Команды и данные, в отличие от большинства других протоколов, передаются по разным портам. Исходящий порт 20, открываемый на стороне сервера, используется для передачи данных, порт 21 для передачи команд. Порт для приема данных клиентом определяется в диалоге согласования. В случае если передача файла была прервана по каким-либо причинам, протокол предусматривает средства для докачки файла, что бывает очень удобно при передаче больших файлов.

Обмен данными в FTP построен по технологии «клиент-сервер». На схеме изображена модель протокола.

 В FTP соединение инициируется интерпретатором протокола пользователя. Управление обменом осуществляется по каналу управления в стандарте протокола TELNET. Команды FTP генерируются интерпретатором протокола пользователя и передаются на сервер. Ответы сервера отправляются пользователю также по каналу управления. В общем случае пользователь имеет возможность установить контакт с интерпретатором протокола сервера и отличными от интерпретатора пользователя средствами.

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

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

Канал данных устанавливается для того же host’а, что и канал управления, через который ведется настройка канала данных. Канал данных может быть использован как для приема, так и для передачи данных.

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

Канал управления должен быть открыт при передаче данных между машинами. В случае его закрытия передача данных прекращается.

 

Проблема безопасности

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

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

 

Версии FTP.

Протокол FTP формировался многие годы. Первые реализации в МТИ относятся к 1971. (RFC 114 и 141). RFC 172 рассматривает протокол, ориентированный на пользователя, и предназначенный для передачи файлов между ЭВМ. Позднее в документах RFC 265 и RFC 281 протокол был усовершенствован. Заметной переделке протокол подвергся в 1973, и окончательный вид он обрел в 1985 году. Таким образом, данный протокол является одним из старейших. В настоящее время разработаны версии FTP для работы с IPv6 (RFC-2428).

 

Passive mode

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

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

NAT-PT

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

 

FXP— протокол обмена файлами.

FXP (англ. File eXchange Protocol — протокол обмена файлами) — способ передачи файлов между двумя FTP-серверами напрямую, не закачивая их на свой компьютер. При FXP-сессии клиент открывает два FTP-соединения к двум разным серверам, запрашивая файл на первом сервере, указывая в команде PORT IP-адрес второго сервера.

Несомненным преимуществом поддержки стандарта FXP является то, что на конечных пользователей, желающих скопировать файлы с одного FTP-сервера на другой, уже не действует ограничение пропускной способности их собственного интернет-соединения. Нет необходимости скачивать себе файл, чтобы потом загрузить его на другой FTP-сервер. Таким образом, время передачи файлов будет зависеть только от скорости соединения между двумя удаленными FTP-серверами, которая в большинстве случаев заведомо больше «пользовательской».

FXP стал использоваться злоумышленникам для атак на другие серверы: в команде PORT указывается IP-адрес и порт атакуемого сервиса на компьютере жертвы, и командами RETR/STOR производится обращение на этот порт от лица FTP-сервера, а не атакующей машины, что позволяло устраивать масштабные DDoS-атаки с использованием сразу многих FTP-серверов, либо обходить систему безопасности компьютера жертвы, если он полагается только на проверку IP клиента и используемый для атаки FTP-сервер находится в доверенной сети или на шлюзе. В результате сейчас практически все серверы проверяют соответствие IP-адреса, указанного в команде PORT, IP-адресу FTP-клиента и по умолчанию запрещают использование там IP-адресов третьих сторон. Таким образом, использование FXP невозможно при работе с публичными FTP-серверами.

Что такое FTP? — Dropbox Business

Для чего нужен FTP?

FTP расшифровывается как «File Transfer Protocol», или «протокол передачи файлов». Давайте разберем это понятие. По сути, протокол — это набор процедур или правил, позволяющих электронным устройствам взаимодействовать между собой. FTP — это набор правил, которые устройства в сети TCP/IP (Интернет) используют для передачи файлов. При пользовании Интернетом вы фактически применяете ряд различных протоколов. Для просмотра веб-страниц используется протокол HTTP. Для отправки и получения мгновенных сообщений — протокол XMPP. FTP — это, попросту говоря, протокол для перемещения файлов.

Что такое FTP-сервер?

FTP-серверы — это программные приложения, которые позволяют пересылать файлы с одного устройства на другое. Это звучит сложно, но, по сути, FTP-серверы — это обычные компьютеры с FTP-адресом, предназначенные для приема и передачи данных. Они выполняют две простые задачи: получают файлы (команда «get») либо пересылают их (команда «put»). Иными словами, вы можете либо получать файлы с FTP-сервера, либо передавать их на FTP-сервер. Загружаемые вами файлы будут передаваться с вашего персонального устройства на сервер. А скачиваемые файлы будут передаваться с сервера на ваше персональное устройство. Таким образом, на базовом уровне FTP-серверы являются промежуточным звеном между получателем и отправителем.

Как работает FTP?

FTP — это протокол типа «клиент — сервер». Иначе говоря, клиент запрашивает файлы, а сервер предоставляет их. Поэтому FTP использует два основных канала для установки соединения: канал передачи команд (инициирует команду и содержит основную информацию, к каким файлам должен быть получен доступ) и канал передачи данных (передает данные файлов между двумя устройствами). Чтобы установить соединение, пользователи должны предоставить учетные данные для FTP-сервера, который обычно использует порт 21 в качестве канала связи по умолчанию. Также важно отметить, что существует два разных режима FTP-соединения: активный и пассивный.

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

Какие проблемы можно решать с помощью FTP?

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

Преимущества и недостатки FTP

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

Однако у FTP есть один изъян — недостаточная безопасность. Протокол FTP был разработан в 1970-х годах, то есть без учета многих мер кибербезопасности, на которые мы привыкли полагаться в современном мире. Поскольку он не разрабатывался как защищенный протокол, данные по FTP передаются в незашифрованном виде. Это означает, что ваши пароли, имена пользователей и другие конфиденциальные данные могут легко прочитать хакеры, перехватив соответствующие пакеты данных (например, путем атаки для захвата пакетов).

Из-за таких лазеек в системе безопасности поддержка FTP постепенно прекращается, и на рынке появляются различные варианты его замены, такие как SFTP, HTTPS, AS2 и FTPS. Начиная с 2020 года Google Chrome по умолчанию отключает поддержку FTP, а Firefox удалил FTP из своего кода. Если вы все еще используете FTP-серверы для важных бизнес-задач, возможно, сейчас самое время найти альтернативу. Давайте рассмотрим более детально протокол SFTP, который пришел на смену FTP.

Что такое SFTP?

Если вы изучали протокол FTP, наверняка вам не раз встречался такой термин, как SFTP. Так что же такое SFTP? По сути, SFTP (SSH-протокол передачи файлов) — это отдельный протокол, который работает с потоком данных SSH (Secure Shell) для обеспечения более высокого уровня защиты при передаче файлов. В отличие от клиентов FTP, которые используют порт 21, протокол SFTP использует порт 22. Поскольку FTP является небезопасным протоколом, SFTP — более предпочтительный вариант: он предполагает базовый набор средств защиты и возможность передачи данных с отложенным подтверждением через SSH-соединение.

Как можно использовать Dropbox вместо FTP-сервера?


Поскольку поддержка FTP прекращается, а угрозы кибербезопасности становятся все более изощренными, имеет смысл поискать альтернативные варианты для управления доступом к файлам вашей компании и их передачи. Dropbox может стать эффективной альтернативой FTP, так как он предлагает безопасный и беспроблемный способ обмена файлами. Какой именно? Очень несложный. Dropbox Transfer — это простой и безопасный сервис пересылки файлов, который идеально подходит для доставки больших файлов (вы можете пересылать файлы размером до 100 ГБ кому угодно, независимо от того, есть ли у получателя аккаунт Dropbox или нет). Кроме того, Dropbox Transfer подтверждает доставку пересылаемых файлов и уведомляет об их скачивании. Вы также можете контролировать доступ с помощью защиты паролем, зная, что ваши файлы будут просматриваться только теми людьми, которым вы хотите предоставить доступ.

Заключительные соображения

Так что же такое FTP? FTP — это эффективный способ передачи файлов, который несколько устарел. Сейчас доступны другие сетевые протоколы, например SFTP как облачная услуга, превосходящие по своим возможностям FTP. Более того, Dropbox может предложить эффективное решение для обмена файлами компаниям, которым нужно легко и быстро переслать большой файл или набор файлов.

Протокол передачи файлов — Документация

FTP (англ. File Transfer Protocol — протокол передачи файлов) — является широко используемым протоколом для обмена файлами по любой сети, поддерживающей протокол TCP/IP (например, Интернет или интранет). В FTP-передаче участвуют два компьютера: серверный и клиент. FTP-сервер, который работает на программном обеспечении FTP, ожидает сигнала от сети для запроса подключений с других компьютеров. Клиентский компьютер, который работает на клиентском программном обеспечении FTP, инициирует подключение к серверу. Непосредственно после установки подключения клиент сможет выполнять ряд операций по обработке файлов, например, загружать файлы на сервер или с сервера, переименовывать файлы на сервере, удалять файлы с сервера и т.д. Любая компания-разработчик ПО или отдельный программист могут создать FTP-сервер или клиентское программное обеспечение, так как протокол является открытым стандартом. Практически каждая компьютерная платформа поддерживает FTP-протокол. Это позволяет любому компьютеру, подключенному к сети, базирующейся на TCP/IP, провести операции с файлами на другом компьютере той же сети независимо от типа операционных систем (если компьютеры позволяют произвести FTP-доступ).

Больше информации о FTP Вы сможете найти в Статье о FTP в электронной энциклопедии Wikipedia или же в документах, перечисленных ниже.

Содержание

Технические спецификации

  • RFC 959 «ПРОТОКОЛ ПЕРЕДАЧИ ФАЙЛОВ»
    В данном документе описан стандартный FTP-протокол. Подробнее про режимы передачи здесь
  • RFC 854 «ТЕХНИЧЕСКИЕ УСЛОВИЯ ПРОТОКОЛА TELNET»
    Протокол FTP разработан на основе протокола Telnet, указанного в данном документе. Особенно важным здесь является NVT (Network Virtual Terminal / сетевой виртуальный терминал).

Расширения протокола

  • RFC 2228 «Расширения безопасности FTP»
    В данном документе описан принцип использования различных схем аутентификации и шифрования с использованием таких команд как AUTH, PROT и связанных с ними новых команд.
  • RFC 2389 «Настройки механизма согласования для протокола передачи данных»
    Описана команда FEAT для обнаружения доступных расширений протокола, и команда OPTS для изменения некоторых характеристик.
  • RFC 2428 «Расширения FTP для IPv6 и NATs»
    В данном запросе комментариев описывается протокол FTP для IPv6.
  • RFC 2640 «Интернационализация протокола передачи файлов»
    Описано использование кодировки UTF-8 для имен файлов. Так как изначально стандарт FTP использовал только 7-битную US-ASCII кодировку, то такое расширение является полностью совместимым с предыдущими версиями. Однако, некоторые серверы и клиенты ошибочно предполагают, что FTP-протокол использует локальную кодировку. Поэтому такое расширение создает видимую несовместимость там, где на самом деле ее нет.
  • RFC 4217 «Защищённый FTP при помощи TLS»
    В данном запросе комментариев описан процесс защиты FTP криптографическим протоколом TLS с использованием команд, представленных в RFC 2228. Примите во внимание, что в данном RFC преимущественно применяется FTPS (File Transfer Protocol + SSL, или FTP/SSL). Более подробную информацию Вы сможете найти в разделе TLS спецификации.
  • RFC 3659 «Расширение команд FTP»
    В данном RFC представлен набор команд MLS* для машинного контекстного формата построения перечня директорий. Также объясняется использование REST и представлен указанный способ представления перечня директорий сервера с использованием TVFS (простого виртуального хранилища файлов). Помимо того описаны команды SIZE и MDTM. Вполне понятно, что команда MDTM должна использоваться только для того, чтобы получить временную метку файла, но не для того, чтобы ее создать, так как это лишь приведет к неоднозначности.
  • IETF драфт об алгоритме сжатия deflate
    В данном документе описаны методы сжатия канала передачи с использованием deflate (алгоритм сжатия без потерь). С этой целью описана команда MODE Z.
  • Спецификация EPLF (Easily Parsed LIST Format)
    Описывает машинный контекстный формат построения перечня директорий.
  • «MFxx» команды для FTP. В этом IETF описана команда MFMT для изменения времени модификации файла.

Дополнительные документы

  • RFC 2577 «Вопросы безопасности FTP»
    В данном документе рассматриваются общии вопросы безопасности протокола FTP и приводится информация о bounce-атаках на FTP.

См. также


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

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

Подробнее о FTP-протоколе:

Сведения о публикации сайта.

После разработки сайта его необходимо разместить (опубликовать) в Интернете.

Обычно создание файлов и папок сайта происходит на локальном компьютере.

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

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

Может публиковаться как сайт, так и его копия.

Терминология.

Локальный веб-узел — исходный веб-узел.

Удаленный веб-узел — конечный узел (сервер), на котором производится публикация сайта.

Загрузка (downloading) — означает копирование файлов из компьютера в Интернет на ваш компьютер.

Выгрузка (uploading), — обратный процесс — копирование файлов с вашего компьютера на компьютер в Интернете.
Два способа загрузки и выгрузки файлов в Интернет:

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

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

Что такое протокол FTP

Протокол FTP (File Transfer Protocol — протокол передачи файлов) — один из старейших протоколов семейства TCP/IP.

Главное назначение протокола FTP — это пересылать (копировать, передавать) файлы с удаленного компьютера на локальный компьютер, и наоборот.

Протокол FTP — один из протоколов передачи информации по Интернету.

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

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

В настоящее время практически все функции FTP доступны и через HTTP, однако FTP все еще используется как основной протокол для доступа к крупным архивам файлов в сети.

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

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

FTP-клиент.

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

Пример FTP-клиента — программы CuteFTP, Go!Zilla, ReGet и т.д. Называются они менеджерами загрузки. У них удобный интерфейс и позволяют пользователям удобно осуществлять загрузку-выгрузку файлов.

FTP-сервер.

FTP-сервер — компьютер, который содержит общедоступные файлы и настроен на поддержку протокола FTP (FTP-сервер должен иметь программное обеспечение, поддерживающее протокол FTP).

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

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

Все файлы и директории имеют свои атрибуты, которые ограничивают к ним доступ с удалённых компьютеров.

Например, можно сделать так, чтобы один файл был доступен только для чтения, другой — для чтения и записи, третий — только для выполнения, четвёртый — полностью открыт для других машин и так далее. То же самое и с директориями.

Одни директории могут быть открыты только для чтения, другие — для чтения и записи и т.д.

Что такое FTP соединение.

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

URL FTP-сервера, выглядит так — ftp.ххх.хх

Пример (адрес FTP сервера): ftp.narod.ru

FTP-протокол: что такое и как правильно использовать

Что такое FTP?

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

Зачем нужен FTP на хостинге?

Для того, чтобы владелец сайта мог легко и просто закачать свой сайт на сервер хостинг-провайдера.

Данные которые необходимо узнать

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

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

Как передать файлы на хостинг через FTP?

Что такое активный и пассивный режимы?

Когда компьютер соединяется с сервером через FTP-протокол, то передача данных происходит через определенный TCP-порт (с номером от 1024 до 65535). При активном режиме номер порта задает пользователь, а при пассивном — сервер хостинг-провайдера. Как правило, хостеры используют пассивный режим.

Протокол передачи файлов

, объяснение для начинающих

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

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

В этой статье мы узнаем все основы FTP и способы использования протокола.

Как работает FTP?

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

При установке FTP-соединения используются два разных канала связи.Первый называется командным каналом, где он инициирует инструкцию и ответ. Другой называется каналом данных, по которому происходит распределение данных.

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

Распространение в активном режиме может столкнуться с проблемой, если брандмауэр защищает компьютер пользователя.Брандмауэр обычно не разрешает несанкционированные сеансы от внешней стороны.

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

Как использовать FTP

Существует три подхода к установке FTP-соединения. Очень простой метод — использовать FTP из командной строки, например, использовать командную строку для Windows или Терминал в Mac / Linux.Разработчики до сих пор используют его для передачи файлов по FTP.

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

Сегодня наиболее распространенной практикой использования FTP, особенно для веб-разработчиков, является использование FTP-клиента.

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

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

Как подключиться к Hostinger FTP

Есть много FTP-клиентов на выбор. От бесплатных приложений с открытым исходным кодом до дополнительных опций. В этой статье мы будем использовать FileZilla, популярный FTP-клиент с открытым исходным кодом.

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

  1. Войдите в свою учетную запись Hostinger и перейдите к учетным записям FTP раздел
  2. Создайте новую учетную запись FTP, указав новое имя пользователя и пароль
  3. Вы увидите новые FTP-серверы (имя хоста) под списком активных учетных записей FTP
  4. В FileZilla введите имя хоста, имя пользователя и пароль и нажмите кнопку Quickconnect . Вы также можете заполнить номер порта. В противном случае по умолчанию используется порт 21.
  5. Окно состояния сообщит вам, вошли ли вы на FTP-сервер.Как вы можете видеть в окне Remote Site , это файлы, которые есть на сервере.

Заключение

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

Мы надеемся, что эта статья поможет вам понять FTP, а также различные используемые методы и программы.

Лукман — самопровозглашенный социолог. Он увлечен образованием, технологиями и всем, что между ними. Он хочет помочь создать качественную систему образования. Проведя последние четыре года в качестве социолога и гуру блогов, он передает свои навыки команде цифрового контента Hostinger. Что касается свободного времени, он любит читать научную (и не очень научную) литературу с чашкой черного кофе арабика в качестве компаньона.

Общие сведения о протоколе FTP

FTP протокол

Обычно, когда думаешь об Интернете, первое, что приходит на ум, — это «серфинг» с одного веб-сайта на другой.Возможность переходить с веб-сайта на другой и просматривать содержимое — это действительно причина того, что Интернет так популярен, как сегодня, и с каждым годом становится все больше. Если мы отложим веб-серфинг, что же останется с точки зрения фактического использования, происходящего в Интернете? Ну, одно из выполняемых действий — это загрузка файлов данных, фильмов, обновлений антивируса и т. Д. Общим для этих действий является один протокол, а именно протокол FTP или протокол передачи файлов.

Следует отметить, что FTP также учитывает модель клиент / сервер. Однако, в отличие от HTTP, где есть явный победитель для веб-браузеров и веб-серверов, ни одна такая программа не может претендовать на то же, что и в отношении FTP. Сегодня существует большой выбор FTP-клиентов и серверов. Стоит отметить, что ваша версия Windows поставляется со встроенным FTP-клиентом.

Сам FTP использует исключительно транспортный протокол TCP, или, другими словами, он никогда не использует UDP для своих транспортных нужд.Обычно протокол прикладного уровня будет использовать один или другой. Заметным исключением из этого правила является DNS или система доменных имен. FTP также необычен тем, что он использует два порта для выполнения своей задачи. Обычно он использует порт 20 для передачи данных и порт 21 для прослушивания команд. Хотя передача данных через порт 20 не всегда возможна, так как это также может быть другой порт. Вот где в игру вступает запутывающая часть. Есть два режима FTP: активный и пассивный.Эти два режима инициируются FTP-клиентом, а затем обрабатываются FTP-сервером.


Давайте копнем глубже

Итак, как вообще работает активный и пассивный FTP? Ну, все начинается с того, что FTP-клиент инициирует соединение с FTP-сервером на своем порту 21. Порт 21 — это то место, где сервер прослушивает выданные ему команды и, в свою очередь, на которые он будет отвечать. Итак, мы будем предполагать, что рукопожатие TCP / IP завершено, и, как обычно, клиент сделал все это на временном порте.В этот момент клиент начинает прослушивать свой эфемерный порт + 1 и отправляет команду PORT N + 1 серверу на свой порт 21, т.е. если клиент использует эфемерный порт 1026, то он будет прослушивать порт 1027. Как только это будет сделано, порт передачи данных (порт 20) на FTP-сервере инициирует соединение с временным портом FTP-клиента плюс 1, как указано выше. Это в значительной степени то, как активный сеанс FTP проводится как клиентом, так и сервером. Хотя, если у клиента установлен брандмауэр, весь этот процесс связи будет полностью остановлен.Брандмауэр клиентов отбрасывает то, что он считает незапрошенной попыткой связи на временном порте плюс один порт для передачи данных. FTP позволяет обойти эту проблему с помощью пассивного FTP.


Давайте возьмем пассивный подход.

Используя пассивный режим FTP или как это показано в ASCII-содержимом пакета «PASV», FTP смог аккуратно обойти проблему межсетевого экрана на стороне клиента. Это было сделано следующим образом: FTP-клиент, скажем, встроенный FTP-клиент, который поставляется с операционной системой win32, будет запускать два соединения с FTP-сервером.Мы также должны иметь в виду, что оба соединения, инициируемые клиентом, сами используют эфемерные порты, как и должно быть. Открывая два соединения или сокета с FTP-сервером, клиент может решить проблему, связанную с тем, что его брандмауэр запрещает доступ к FTP-серверу, инициирующему контакт на одном из высокопроизводительных эфемерных портов клиента.

Одно из соединений, открытых клиентом, свяжется с FTP-сервером через порт 21 и выдаст ему команду PASV (пассивную), вместо обычной команды PORT при использовании активного FTP.Теперь происходит то, что FTP-сервер открывает временный порт и выдает команду PORT клиенту FTP. Имея это в руках, клиент затем снова запускает соединение с портом сервера для передачи данных. Это довольно изящный способ справиться с вышеупомянутой проблемой активного FTP и клиентских брандмауэров.


Дополнительные сведения

Как и некоторые другие протоколы прикладного уровня, FTP имеет собственный набор кодов состояния и ошибок. Как и в случае с HTTP, эти числовые значения сообщают вам, что происходит с установленным сеансом.Так же, как статус HTTP и коды ошибок, они разбиты на пять групп. Всегда удобно иметь ссылку на ближайший прорыв, если вы исследуете некоторые проблемы с дорожным движением. Что ж, с учетом сказанного, какой была бы статья о протоколе без пакета, показывающего его в действии! Без лишних слов рассмотрим один из них.


Вот пакет FTP!


14: 01: 25.561863 192.168.1.100.21> 192.168.1.200.11191: P [tcp sum ok] 825: 884 (59) ack 367 win 65169 (DF) (ttl 118, id 61059, len 99)
0x0000 4500 0063 ee83 4000 7606 c5e7 c0a8 0164 [защита электронной почты]
0x0010 c0a8 01c8 0015 2bb7 8941 e301 1dc0 b76c…… + .. A ….. l
0x0020 5 018 fe91 7d81 0000 3135 3020 4f70 656e P …} … 150.Open
0x0030 696e 6720 4249 4e41 5259 206d 6f64 6520 ing.BINARY.mode.
0x0040 6461 7461 2063 6f6e 6e65 6374 696f 6e20 data.connection.
0x0050 666f 7220 4a72 412e 3139 3939 2e6a 7067 for.JrA.1999.jpg
0x0060 2e0d 0a

Итак, что мы можем почерпнуть, глядя на пакет выше? Итак, мы видим, что FTP-сервер расположен на 192.168.1.100 на порту 21 и переходит в двоичный режим, чтобы облегчить передачу изображения клиенту на 192.168.1.200 на его порт 11191. Что еще мы можем извлечь информацию мудрый из этого пакета? Если мы посмотрим на значение ttl, как показано выше, мы можем разумно сказать, что FTP-сервер является операционной системой win32, поскольку значения ttl по умолчанию в операционных системах win32 равны 128, и тот факт, что бит DF установлен, в значительной степени закрывает сделку. что касается того, что это win32.Довольно аккуратно! Как видите, в пакете содержится много информации.


Заключение

А теперь вспомним, какой протокол и где начинается! Мы знаем, что заголовок TCP начинается с байтов 0015, как подчеркнуто выше, поэтому мы можем сделать вывод из этого, что заголовок IP закончился байтами 01c8, предшествующими байтам 0015. Также видя, что не установлены параметры TCP, о чем свидетельствует значение 5 (которое подчеркнут в приведенном выше пакете) мы знаем, где заканчивается заголовок TCP и начинаются данные FTP.Таким образом, мы можем видеть из подчеркнутых частей в приведенном выше пакете, где находится наш FTP-трафик. На этом я завершу эту статью о FTP, и если у вас возникнут какие-либо вопросы по этому поводу, пожалуйста, напишите мне. До следующего раза!

Просмотры сообщений: 16 697


FTP — протокол передачи файлов

  • FTP — это протокол передачи файлов.
  • FTP — это стандартный интернет-протокол, предоставляемый TCP / IP, используемый для передачи файлов с одного хоста на другой.
  • Он в основном используется для передачи файлов веб-страниц от их создателя на компьютер, который действует как сервер для других компьютеров в Интернете.
  • Он также используется для загрузки файлов на компьютер с других серверов.

Цели FTP

  • Обеспечивает обмен файлами.
  • Он используется для поощрения использования удаленных компьютеров.
  • Он передает данные более надежно и эффективно.

Почему FTP?

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

Механизм FTP

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

В FTP есть два типа подключений:

  • Управляющее соединение: Управляющее соединение использует очень простые правила обмена данными.Через управляющее соединение мы можем передавать строку команды или строку ответа за раз. Управляющая связь устанавливается между процессами управления. Управляющее соединение остается подключенным в течение всего интерактивного сеанса FTP.
  • Соединение данных: Соединение данных использует очень сложные правила, поскольку типы данных могут различаться. Связь данных устанавливается между процессами передачи данных. Соединение для передачи данных открывается при поступлении команды на передачу файлов и закрывается при передаче файла.

FTP-клиенты

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

Преимущества FTP:

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

Недостатки FTP:

  • Стандартное требование в отрасли — все передачи FTP должны быть зашифрованы. Однако не все провайдеры FTP равны, и не все провайдеры предлагают шифрование.Итак, нам придется искать поставщиков FTP, которые обеспечивают шифрование.
  • FTP обслуживает две операции, то есть для отправки и получения больших файлов по сети. Однако максимальный размер файла для отправки составляет 2 ГБ. Это также не позволяет запускать одновременные переводы на несколько получателей.
  • Пароли и содержимое файлов отправляются в виде открытого текста, что позволяет нежелательное подслушивание. Таким образом, вполне возможно, что злоумышленники могут провести атаку методом перебора, пытаясь угадать пароль FTP.
  • Он совместим не со всеми системами.

В чем разница между FTP и SFTP?

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

FTP (протокол передачи файлов)

FTP — это хорошо зарекомендовавший себя протокол, разработанный в 1970-х годах для того, чтобы два компьютера могли передавать данные через Интернет. Один компьютер действует как сервер для хранения информации, а другой действует как клиент для отправки или запроса файлов с сервера. Протокол FTP обычно использует порт 21 в качестве основного средства связи. FTP-сервер будет прослушивать клиентские подключения через порт 21.

FTP-клиенты затем подключатся к FTP-серверу через порт 21 и начнут диалог.Это основное соединение называется управляющим соединением или командным соединением . FTP-клиент обычно аутентифицируется на FTP-сервере, отправляя имя пользователя и пароль. После аутентификации клиент и сервер обычно посредством серии синхронизированных команд, управляемых Командным соединением, согласовывают новый общий порт, называемый соединением данных , через который будет передаваться файл. Управляющее соединение остается свободным до конца этого обмена, когда оно сообщает, что передача файла либо не удалась, либо была успешно завершена.Разговор между клиентом и сервером осуществляется в виде обычного текста — все сообщения между двумя сторонами передаются без защиты, дословно, через Интернет. Это делает FTP очень небезопасным; для третьей стороны, такой как злоумышленник-посредник (MITMA), не составит особого труда украсть учетные данные пользователей.

Есть исключение из этого правила, называемое одноразовым паролем (OTP), в котором сервер отправляет серию цифр клиентскому серверу в ответ на получение команды USER.Клиент захватывает эти цифры, и, используя заранее известный алгоритм, такой как ROT13 или MD5, клиент сгенерирует хэш своего пароля вместе с серией цифр для создания уникального пароля (используется один раз, следовательно, OTP). Клиент представляет этот хэш серверу, который принимает пароль пользователя, уже сохраненный на сервере, и использует те же цифры. Если хэши пароля совпадают, они аутентифицируются. Это несколько более безопасно, потому что пароль пользователя не передается по сети — только хэш пароля пользователя, поэтому MITMA обычно не может реконструировать пароль из хеша.

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

FTP / S (протокол передачи файлов по уровням защищенных сокетов)

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

Хотя общий протокол FTP небезопасен, с годами были добавлены расширения, позволяющие обеспечить безопасность сеансов FTP, а именно отраслевой стандарт 2048-битной безопасности транспортного уровня (TLS), наиболее обновленную версию старого 1024-битного стандартного SSL. .FTP через SSL (широко известный как FTP / S) позволяет шифровать как управляющие соединения, так и соединения данных, одновременно или независимо. Это важно, потому что согласование SSL-соединения занимает много времени, и необходимость делать это дважды — один раз для соединения данных и один раз для соединения управления — может быть дорогостоящим, если клиент планирует передать большое количество небольших файлов.

FTP / S обычно работает на порту 990, а иногда и на порту 21, основное отличие состоит в том, что порт 990 — это неявный FTP / S , а порт 21 — это явный FTP / S .Если клиент подключается к серверу FTP / S через порт 990, предполагается, что клиент намеревается использовать SSL. Таким образом, квитирование SSL происходит немедленно; он называется неявным, потому что номер порта подразумевает безопасность. FTP-клиенты, которые подключаются к порту 21 и намереваются использовать SSL для обеспечения безопасности, должны будут сделать дополнительный шаг, чтобы явно заявить о своих намерениях, отправив на сервер команду AUTH SSL или AUTH TLS . Как только сервер получает эту команду, обе стороны выполняют квитирование SSL и входят в безопасное состояние, поэтому порт 21 называется явным.Это дает клиенту возможность активировать более высокий уровень безопасности при необходимости или ускорить процесс передачи файлов, менее чувствительных к безопасности.

SFTP (протокол безопасной передачи файлов)

SFTP (протокол безопасной передачи файлов) — относительно новый протокол, разработанный в 1990-х годах, который позволяет передавать файлы и другие данные через соединение, которое ранее было защищено с помощью Secure Shell. (SSH) протокол. Хотя оба протокола похожи на FTP / S в том, что оба протокола обмениваются данными через безопасное соединение, на этом сходство в основном заканчивается.

В отличие от FTP, протокол SFTP является пакетным, а не текстовым. Если FTP может отправить такую ​​команду, как «DELE file.txt», SFTP отправит двоичный файл 0xBC, а затем «file.txt». Ключевое отличие состоит в том, что, отправляя меньше данных, протокол SFTP работает быстрее в долгосрочной перспективе, поскольку меньше данных передается по сети.

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

Поскольку SFTP работает через SSH, он изначально безопасен. Не существует незащищенной версии — шифрование не может быть запущено или отключено с помощью команд AUTH, как в FTP / S. Это плюс для системных администраторов, которые пытаются обеспечить соблюдение корпоративных политик безопасности.

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

Это неотъемлемые различия между FTP, SFTP и FTP / S. Titan FTP Server Enterprise Edition поддерживает как FTP, так и SFTP.

Готовы попробовать FTP-сервер Titan?

Страница не найдена | MIT

Перейти к содержанию ↓
  • Образование
  • Исследовать
  • Инновации
  • Прием + помощь
  • Студенческая жизнь
  • Новости
  • Выпускников
  • О Массачусетском технологическом институте
  • Подробнее ↓
    • Прием + помощь
    • Студенческая жизнь
    • Новости
    • Выпускников
    • О Массачусетском технологическом институте
Меню ↓ Поиск Меню Ой, похоже, мы не смогли найти то, что вы искали!
Попробуйте поискать что-нибудь еще! Что вы ищете? Увидеть больше результатов

Предложения или отзывы?

Протокол передачи файлов (FTP) на прикладном уровне

Предварительное условие: протоколы на прикладном уровне

Протокол передачи файлов (FTP) — это протокол прикладного уровня, который перемещает файлы между локальной и удаленной файловыми системами.Он работает поверх TCP, как и HTTP. Для передачи файла FTP использует 2 TCP-соединения параллельно: управляющее соединение и соединение для передачи данных.

Что такое контрольное соединение?
Для отправки управляющей информации, такой как идентификация пользователя, пароль, команды для изменения удаленного каталога, команды для получения и сохранения файлов и т. Д., FTP использует управляющее соединение. Управляющее соединение инициируется через порт номер 21.

Что такое соединение для передачи данных?
Для отправки фактического файла FTP использует соединение для передачи данных.Соединение для передачи данных инициируется через порт номер 20.
FTP отправляет управляющую информацию по внеполосному каналу, поскольку использует отдельное управляющее соединение. Некоторые протоколы отправляют свои строки заголовков запросов и ответов, а также данные в одном и том же TCP-соединении. По этой причине они, как говорят, отправляют свою управляющую информацию внутри полосы. HTTP и SMTP — такие примеры.


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

Структуры данных: FTP допускает три типа структур данных:

  1. Файловая структура — В файловой структуре нет внутренней структуры, и файл считается непрерывной последовательностью байтов данных.
  2. Структура записи — В структуре записи файл состоит из последовательных записей.
  3. Структура страницы — В структуре страниц файл состоит из независимых проиндексированных страниц.

Команды FTP — Вот некоторые из команд FTP:

ПОЛЬЗОВАТЕЛЬ — Эта команда отправляет идентификационные данные пользователя на сервер.
PASS — Эта команда отправляет пароль пользователя на сервер.
CWD — Эта команда позволяет пользователю работать с другим каталогом или набором данных для хранения или поиска файлов, не изменяя свою регистрационную информацию или учетную информацию.
RMD — Эта команда вызывает удаление каталога, указанного в имени пути, как каталога.
MKD — Эта команда вызывает создание каталога, указанного в пути, в качестве каталога.
PWD — Эта команда приводит к тому, что в ответе возвращается имя текущего рабочего каталога.
RETR — Эта команда заставляет удаленный хост инициировать соединение для передачи данных и отправить запрошенный файл через соединение для передачи данных.
STOR — Эта команда вызывает сохранение файла в текущем каталоге удаленного хоста.
СПИСОК — Отправляет запрос на отображение списка всех файлов, имеющихся в каталоге.
ABOR — Эта команда сообщает серверу прервать предыдущую команду службы FTP и любую связанную передачу данных.
QUIT — Эта команда завершает работу ПОЛЬЗОВАТЕЛЯ, и если передача файла не выполняется, сервер закрывает управляющее соединение.

Ответы FTP — Вот некоторые из ответов FTP:

200 Команда в порядке.
530 Вы не авторизовались.
331 Имя пользователя в порядке, нужен пароль.
225 Соединение для передачи данных открыто; передача не выполняется.
221 Подключение управления закрытием службы.
551 Запрошенное действие прервано: неизвестный тип страницы.
502 Команда не реализована.
503 Неверная последовательность команд.
504 Команда не реализована для этого параметра.

    Простой протокол передачи файлов (TFTP): Это также протокол передачи файлов без сложных функций FTP.
  • Подходит для простой передачи файлов, например, во время загрузки.
  • Он использует UDP в качестве протоколов транспортного уровня. Ошибки при передаче (потерянные пакеты, ошибки контрольной суммы) должны обрабатываться сервером TFTP.
  • Он использует только одно соединение через хорошо известный порт 69.
  • TFTP использует простой протокол шаговой блокировки (каждый пакет данных должен быть подтвержден). Таким образом, пропускная способность ограничена.

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

Ссылка: https://en.wikipedia.org/wiki/File_Transfer_Protocol

Автор этой статьи Achiv Chauhan . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью на сайте deposit.geeksforgeeks.org или отправить свою статью по почте @ geeksforgeeks.орг. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.

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

Вниманию читателя! Не прекращайте учиться сейчас. Изучите все концепции GATE CS с бесплатными живыми классами на нашем канале YouTube.

Протокол передачи файлов (FTP) Определение

Что такое протокол передачи файлов (FTP)?

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

Ключевые выводы

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

Общие сведения о протоколе передачи файлов (FTP)

Протокол передачи файлов — это один из множества различных протоколов, которые определяют поведение компьютеров в Интернете. Другие такие протоколы включают протокол передачи гипертекста (HTTP), протокол доступа к сообщениям в Интернете (IMAP) и протокол сетевого времени (NTP).FTP позволяет компьютерам в Интернете передавать файлы туда и обратно и является важным инструментом для тех, кто сегодня создает и поддерживает веб-сайты.

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

Большинство веб-браузеров поставляются с FTP-клиентами — возможно, через загружаемое расширение — которые позволяют пользователям передавать файлы со своего компьютера на сервер и наоборот.Некоторые пользователи могут захотеть использовать сторонний FTP-клиент, потому что многие из них предлагают дополнительные функции для улучшения вашего опыта. Примеры FTP-клиентов, которые можно загрузить бесплатно, включают FileZilla Client, FTP Voyager, WinSCP, CoffeeCup Free FTP и Core FTP.

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

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

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

Пример протокола передачи файлов (FTP)

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

FileZilla

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

.