Ftp порты номера

Transferring files securely requires a comprehensive understanding of the connections, ports, and IP addresses utilized by FTP (File Transfer Protocol) and FTPS (FTP over TLS/SSL). The FTP protocol and its secure version, FTPS, operate over TCP (Transmission Control Protocol). This guide provides an in-depth look at the commonly used control and data ports for these protocols, their differences, and firewall considerations.

У этого термина существуют и другие значения, см. F TP (значения).

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

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

Let’s talk about ports, and not the kind that ships load cargo onto but the cooler, geekier, virtual ones that help computers sort out the network traffic they are faced with.

What are ports?


Ftp порты номера

Unlike cargo ships, in the computing world, ports are virtual communication endpoints that make it possible for computers and servers to connect and transfer data, helping them to propel that data in the right direction. All apps or processes that use a network such as the Internet to communicate have a standardized port number that is used for identifying a network-based application on a computer.

Port numbers are primarily used for TCP and UDP based networks. Each port number indicates a specific service, and each host may have 65,535 ports pertaining to one IP address. While an application can change its port number, there are certain defaults that are quite popular and mostly go unchanged, such as: 23 for Telnet, 80 for HTTP, 25 for SMTP and 21 for FTP.

What is FTP?

FTP (File Transfer Protocol) is a communications protocol that emerged in the early 1970’s for the purpose of file transfer amongst computers. More specifically, it supports the direct transfer of files over the network between a client and a server.

FTP ports

Additionally, the antique FTP was made before duplex channels were invented, and therefore utilizes 2 ports, as explained above. Therefore, it is difficult to harden the networks it’s being used on since firewall rules and NATs must be set up in a particular way in order to enable the opening of the data channel.

Choosing a safer way

Today, security is no longer something to dismiss when transferring information over the web. Whether the files contain customer information, financials, EDI documents, or any other kind of data, your critical assets need to be protected from cybercriminal activities. That is where SFTP comes in.

You can read all about SFTP and the differences between the SFTP and FTP protocols here.

Cloud FTP with maximum security and reliability

SFTP To Go offers managed cloud storage service – highly available, reliable and secure. Great for companies of any size, any scale.

Try SFTP To Go for free!

Что такое FTP Server ?
FTP FTP

Протокол FTP предназначен для решения следующих задач :

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

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

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

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

Реалии же сегодняшнего дня таковы, что подобное TCP – соединение от сервера к клиенту в подавляющем большинстве случаев невозможно, или очень непросто реализовать по причине того,
что в большинстве случаев, для подключения к Интернет используется технология с трансляцией сетевых адресов NAT ( Network Address Translation ) , когда клиент
не имеет сетевого интерфейса, доступного для создания прямого TCP- соединения из Интернет. Типовая схема стандартного подключения к Интернет выглядит следующим образом:


Ftp порты номера

– пакет игнорируется, так как нет сетевой службы, которая могла бы его обработать.

– пакет принимается и обрабатывается сетевой службой самого маршрутизатора, если такая служба существует и ожидает ходящее соединение (“слушает”) порт, номер которого указан в принятом пакете.

– пакет пересылается серверу в локальной сети, ожидающему данный вид входящих соединений в соответствии с правилами перенаправления портов ( port mapping ) заданными настройками маршрутизатора.

Поэтому, в настоящее время, основным режимом работы по протоколу FTP стал так называемый “пассивный режим”, при котором TCP – соединения выполняются только от клиента на TCP-порт сервера.
Активный же режим, используется в тех случаях, когда существует возможность TCP – подключения от сервера на порты клиентов, например, когда они находятся в одной локальной сети.
Выбор режима FTP-соединения производится специальными командами:

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

:/>  Перемещение по документу производится с помощью клавиш

PASSV – команда на переключение в пассивный режим, передаваемая FTP – клиентом FTP-серверу

Установка и настройка FileZilla FTP Server.

странице проекта SourceForge

Установка сервера выполняется стандартным образом, за исключением пункта с выбором настроек панели управления сервером FileZilla Server Interface:


Ftp порты номера

После завершения установки откроется окно приглашения для подключения к серверу:


Ftp порты номера

File – режимы работы панели управления FTP-сервером. Содержит подпункты

– Connect to Server – подключиться к серверу
– Disconnect – отключиться от сервера
– Quit – завершение работы панели управления.

Server – управление FTP-сервером. Содержит подпункты:

– Active – запустить/остановить FTP-сервер. При установленной галочке FTP-сервер запущен, при снятой – остановлен.
– Lock – запретить/разрешить подключения к серверу. При установленной галочке новые подключения к серверу запрещены.

Edit – редактирование настроек. Подпункты:

В качестве примера, выполним настройки сервера для следующих условий:

Практически все современные маршрутизаторы ( модемы ) имеют встроенную поддержку динамического DNS-клиента. Его настройка обычно очень простая, – заполняются поля с именем
пользователя и паролем, а также с именем узла, полученные при регистрации на сервисе DDNS . Пример для Zyxel P660RU2


Ftp порты номера

Использование клиента DDNS, встроенного в маршрутизатор/модем предпочтительнее по сравнению с утилитой обновления данных DNS, работающей в среде ОС, поскольку позволяет реализовать
дополнительные возможности, как например, управление маршрутизатором через Интернет при выключенном компьютере и удаленное включение электропитания компьютеров за NAT по технологии
Wake On Lan.

Порядок действий следующий:


Ftp порты номера

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

Настройки FileZilla Server выполняются через меню “Edit” -“Settings”


Ftp порты номера

Окно General Settings предназначено для общих настроек FTP-сервера.

В поле “Listen on this port” можно указать номер порта для входящих TCP-соединений. По умолчанию в данном поле установлено значение 21, и для использования
нестандартного номера нужно указать выбранное значение, например – 12321. Использование нестандартного TCP-порта имеет некоторое неудобство, поскольку требует обязательное указание его значения при создании сеанса:

ftp://myhost8.ddns.net – вид ссылки для случая с использованием стандартных номеров портов.
ftp://myhost8.ddns.net:12321 – вид ссылки для случая с использованием номера порта 12321.

Если сервер планируется использовать как с доступом из Интернет, так и в локальной сети, есть смысл оставить стандартное значение 21, а нестандартный номер порта использовать
для подключений из Интернет, настроив перенаправление пакетов, пришедших на порт 12321 маршрутизатора, на порт 21 FTP-сервера в локальной сети. При такой настройке, для FTP-сессий внутри локальной сети указывать номер порта не нужно.

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

Welcome Message – текст, который передается клиенту при подключении.

IP Binding – на каком сетевом интерфейсе будут ожидаться клиентские подключения. По умолчанию – на любом, но можно указать конкретный, например – 192.168.1.3.

Раздел Passive mode settings служит для настроек пассивного режима FTP и потребует изменения практически всех параметров, принятых по умолчанию.


Ftp порты номера

Номера портов, которые будут использоваться для передачи данных в пассивном
режиме, нужно задавать вручную, поскольку потребуется настройка маршрутизатора
для перенаправления их на слушаемый сервером сетевой интерфейс. Поэтому нужно
установить галочку на разрешение режима “Use custom port range” и задать диапазон – например от 50000 до 50020. Количество портов, слушаемых сервером, определяет предельное число одновременных сеансов передачи данных.

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

Miscellaneous – настройки размеров буферов и прочих параметров журналов и некоторых команд FTP.

Logging – настройки журнала событий сервера. По умолчанию, запись в файл не выполняется.

Speed Limit – настройки ограничения скорости передачи данных. По умолчанию – без ограничений.

Filetransfer compression – настройки сжатия файлов при передаче. По умолчанию – без сжатия.

SSL/TLS settings включение режима шифрования передаваемых данных. По умолчанию – без шифрования.

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


Ftp порты номера

После применения данных настроек, FTP-сервер будет доступен по URL ftp://myhost8.ddns.net:50021 или, для соединения внутри локальной сети:

ftp://192.168.1.3 – если вы не изменяли стантартный номер порта

в настройках FTP-сервера.

ftp://192.168.1.3:50021 – если используется нестандартный номер порта.

Если подключение к FTP – серверу не происходит, то возможно, возникли проблемы с блокировкой брандмауэром соединений, необходимых для работы созданного FTP-сервера. Если используется встроенный брандмауэр Windows, то необходимо добавить правило, разрешающее сетевую активность для службы “FileZilla FTP server”. Если используется сторонний брандмауэр или антивирус с фильтрацией трафика, то необходимо создать соответствующее правило имеющимися средствами настроек для разрешения сетевых соединений. Возможны варианты, когда настройки делаются для разрешения любой сетевой активности конкретной программы, или для разрешения выбранных адресов и портов, применяемых ко всем программам.

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

telnet localhost 21 – если используется стандартный номер порта.

telnet localhost 50021 – если был изменен стандартный номер порта.

При выполнении данной команды происходит подключение к FTP-серверу по петлевому интерфейсу и в окне telnet должно отобразиться приглашение сервера ( Welcome Message ). Если этого не происходит, возможно, сервер остановлен, имеет место конфликт портов, или слушается не порт 21 (50021) . Для диагностики можно использовать команду netstat:

Параметры командной строки означают:

n – использовать числовые номера портов и адреса IP

a – отображать все соединения и слушаемые порты

b – отображать имена программ, участвующих в создании соединений.

Пример отображаемых результатов выполнения команды:

В колонке Локальный адрес имеется значение 0.0.0.0:21, которое говорит о том, что программа с именем FileZilla Server.exe слушает ( состояние LISTENING) TCP порт с номером 21 на всех сетевых интерфейсах. Если в настройках FTP-сервера был указан конкретный интерфейс и другой номер порта, то это значение будет содержать IP:порт, например – 192.168.1.3:50021

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

Если сервер недоступен на непетлевом интерфейсе , и доступен на петлевом – нужно разбираться с настройками брандмауэра.


Ftp порты номера

После подключения, сервер передает клиенту сведения о себе:

Клиент передает имя пользователя:

Сервер запрашивает ввод пароля:

Клиент передает пустой пароль:
Сервер проверяет учетную запись пользователя и сообщает о начале сеанса:
230 Logged on
Клиент запрашивает тип операционной системы на сервере:
Сервер сообщает, что тип Unix, эмулируемый Filezilla-сервером:
215 UNIX emulated by FileZilla
Клиент запрашивает перечень параметров, поддерживаемых сервером:
Сервер отвечает перечнем поддерживаемых параметров:
211-Features:

:/>  Как убрать ПИН-код при входе в Windows 10: 2 способа отключения

MDTM

REST STREAM

SIZE

MLST type*;size*;modify*;

MLSD

UTF8

CLNT

MFMT

211 End
Клиент запрашивает текущий каталог сервера:
Сервер сообщает, что текущий каталог – корневой (“/”):

257 “/” is current directory.
Клиент сообщает, что будет передавать двоичные данные:
TYPE I
Сервер подтверждает тип передаваемых данных:

200 Type set to I
Клиент сообщает, что будет использовать пассивный FTP-режим:
Сервер сообщает о переходе в пассивный режим и передает IP и порт для пассивного FTP-режима.

227 Entering Passive Mode (212,248,22,114,195,97)
Клиент запрашивает прием файла с именем cpu-v из текущего каталога сервера
Сервер сообщает о начале передачи данных:
150 Opening data channel for file download from server of “/cpu-v”

По завершении, сервер сообщает об успешной передаче:
226 Successfully transferred “/cpu-v”

В заключение добавлю, что проект Filezilla включает в себя не только разработку и поддержку
качественного бесплатного FTP-сервера, но и популярного бесплатного FTP-клиента

Установка и настройка Filezilla FTP Client статья с кратким описанием бесплатного FTP клиента для Linux, Mac OS и Windows.
Данный FTP клиент поддерживает множество прикладных протоколов передачи данных – FTP, FTP поверх SSL/TLS (FTPS),
SSH File Transfer Protocol (SFTP), HTTP, SOCKS и FTP-Proxy. Другими словами, Filezilla FTP Client – это универсальное программное обеспечение для приема и передачи файлов
по всем современным прикладным протоколам между узлами на различных платформах.

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

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

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

В 1980 году FTP-протокол стал использовать TCP. Последняя редакция протокола была выпущена в 1985 году.

В 1997 году появилось дополнение к протоколу, позволяющее шифровать и подписывать информацию в канале управления и канале данных. В 1999 году выпущено дополнение, посвящённое интернационализации протокола, которое рекомендует использовать кодировку UTF-8 для команд и ответов сервера и определяет новую команду LANG, устанавливающую язык ответов.

В примере жирным шрифтом выделены команды, которые подаёт клиент; обычным шрифтом — сообщения сервера. Примечания отделены двумя слэшами:

220 FTP server ready.

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

  • Первоначальная спецификация FTP RFC 959
  • Расширения безопасности RFC 2228
  • Интернационализация FTP RFC 2640
  • Расширение NAT-PT для поддержки FTP RFC 2766
  • Шифрование KEA и SKIPJACK RFC 2773
  • Расширение команд FTP RFC 3659
  • Реестр команд и расширений FTP RFC 5797 (есть перевод на русский)

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

ftp://public.ftp-servers.example.com/mydirectory/myfile.txt (недоступная ссылка) (недоступная ссылка)

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

FTP не разрабатывался как защищённый (особенно по нынешним меркам) протокол и имеет многочисленные уязвимости в защите. В мае 1999 авторы RFC 2577 свели уязвимости в следующий список проблем:

FTP не может зашифровать свой трафик, все передачи — открытый текст, поэтому имена пользователей, пароли, команды и данные могут быть прочитаны кем угодно, способным перехватить пакет по сети. Эта проблема характерна для многих спецификаций Интернет-протокола (в их числе SMTP, Telnet, POP, IMAP), разработанных до создания таких механизмов шифрования, как TLS и SSL. Обычное решение этой проблемы — использовать «безопасные», TLS-защищённые версии уязвимых протоколов (FTPS для FTP, TelnetS для Telnet и т. д.) или же другой, более защищённый протокол, вроде SFTP/SCP, предоставляемого с большинством реализаций протокола Secure Shell.

Frequently Asked Questions

Is FTPS port 21 or 990?

FTPS typically uses port 990 for control connections and port 989 for data connections under implicit security. However, FTPS can also use port 21 when operating under explicit security. It’s essential to understand the difference between FTPS vs HTTPS for secure file transfers.

Does FTPS use port 22?

What is the difference between port 21 and 990?

What port is FTP and FTPS?

Remember, knowledge about these protocols and ports and RFC 959 (the original FTP standard) can help you secure and manage file transfers effectively.

Коды ответов FTP

Ниже представлено краткое описание кодов ответа, которые могут быть возвращены FTP-сервером. Эти коды были стандартизированы IETF в RFC 959. Как было сказано ранее, код ответа — трёхзначное число. Первая цифра отвечает за один из трёх исходов: успех, отказ или указание на ошибку либо неполный ответ.

Вторая цифра определяет тип ошибки:

Третья цифра окончательно специфицирует ошибку.

Understanding FTPS and FTP Connections

FTP and FTPS connections primarily consist of two types of connections: the control connection and the data connection. These connections are initialized by the client and are vital for data transfer.

The Control Connection

The control connection is the initial link, also known as the control channel, established when a client connects to an FTP server using the server’s IP address. Its purpose is to grant clients access to the server and enable them to send commands (FTP commands) and receive server responses.

Связь данных

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

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

:/>  Ошибка при запуске приложения 0xc0000142, причины

Использование портов FTP и F TPS — неявное и явное

FTP и FTPS используют разные порты, и эти варианты определяют безопасность клиентов и серверов. F TPS может работать в двух режимах: Explicit FTPS и Implicit FTPS.

В неявном FTPS соединения, установленные через порт 990, будут автоматически выполнять рукопожатие SSL/TLS (Secure Sockets Layer/Transport Layer Security), подразумевая безопасное соединение.

С другой стороны, в Explicit FTPS соединения, установленные через порт 21, требуют дополнительной команды AUTH для включения безопасности, т. е. для запуска сеанса SSL/TLS. Функции безопасности FTPS защищают ваши данные от отправки в виде обычного текста или в незашифрованном виде по сетевому протоколу.

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

Основная статья: ФПС

Явный FTPS — расширение стандарта FTP, позволяющее пациентам наблюдать, чтобы FTP-сессия была зашифрована. Это реализуется отправкой команды «AUTH TLS». Сервер может иметь возможность или отказаться от соединений, которые не запрашивают TLS. Это расширение протокола определено в спецификации RFC 4217. Неявный FTPS — установленный стандарт для FTP, требующий использования SSL- или TLS-соединения. Этот стандарт должен быть использован в отличие от обычных портов FTP.

Основная статья: SFTP

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

FTP через SSH (не SFTP)

FTP через SSH (не SFTP) относится к практике туннелирования обычной FTP-сессии через SSH-соединение. FTP использует несколько TCP-соединений, туннелирование через SSH особенно сложно. Когда много SSH-клиентов проверяют, устанавливают туннель для управления каналом (изначальное «клиент-сервер» соединение по порту 21), защищён только будет этот канал; при передаче данных программного обеспечения FTP на любом конце устанавливаются новые TCP-соединения (каналы данных), которые выходят через SSH-соединение и, таким образом, лишатся целостной защиты.

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

Программные пакеты, поддерживающие этот режим:

FTP через SSH иногда появляется к защищенному FTP, но не стоит путать его с другими методами, такими как SSL/TLS (FTPS). Другие методы передачи файлов с помощью SSH и не связанные с FTP — SFTP и SCP. Все из них и учётные, и файловые данные всегда защищены протоколом SSH.

Отличие от HTTP

FTP (как и протокол HTTP) имеет двоичный режим передачи, который управляет передачей данных о передаче больших файлов.

FTP работает на прикладном уровне. Модели OSI используются для передачи файлов с помощью TCP/IP. Для этого должен быть запущен FTP-сервер, ожидающий поступления. Компьютер-клиент может связаться с сервером по порту 21. Это соединение (поток управления) остается на время сессии. Второе соединение данных (поток данных), может быть открыт как сервер с порта 20 к порту соответствующего клиента (активный режим), или же клиент с любого порта к порту надлежащего сервера (пассивный режим), что необходимо для передачи файла. Поток управления используется для работы с сессией — например, обмен между клиентом и командным сервером и пароль с помощью telnet-подобного протокола. Например, «RETR имя файла» передаст указанный файл от сервера клиента. Вследствие этой двухпортовой структуры FTP считается внешнеполосным протоколом, в отличие от внутриполосного HTTP.

Соединение и передача данных

Протокол определён в RFC 959.
Сервер отвечает по потоку управления трёхзначными ASCII-кодами состояния с необязательным текстовым сообщением. Например, «200» (или «200 ОК») означает, что последняя команда была успешно выполнена. Цифры представляют код ответа, а текст — разъяснение или запрос. Текущая передача по потоку данных может быть прервана с помощью прерывающего сообщения, посылаемого по потоку управления.

При передаче данных по сети могут быть использованы четыре представления данных:

Для текстовых файлов предоставлены различные форматы управления и настройки структуры записи. Эти особенности были разработаны для работы с файлами, содержащими Telnet или ASA-форматирование.

Передача данных может осуществляться в любом из трёх режимов:

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

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

NAT и обход брандмауэров

Understanding FTP and FTPS ports is crucial for secure file transfers. The choice between FTP and FTPS and the preferred port numbers often depends on your specific security needs and system configurations.

Apps and command-line tools help implement and manage these protocols, ensuring permissions are correctly set and public key authentication is used when needed. Using a secure, turnkey  solution like Cerberus will make this much easier on you with its robust set of management features. Feel free to download a trial to experience secure file transfer like never before. Your first 25 days are free.

Firewall Considerations

When using FTPS, specific firewall ports must be open to ensure smooth file transfers. The command and data channels must be open on the client and server. Understanding the range of ports to open can be complex, requiring careful configuration of your port range and endpoints.

In some cases, you may also need to facilitate FTP port forwarding. Hence the need for intelligent FTPS servers like Cerberus FTP Server.