Какие есть аналоги у FTP
У протокола передачи данных FTP есть его прямые «наследники», то есть протоколы, которые образованы из ФТП. Это два протокола: TFTP и SFTP. Первый протокол не самый популярный, потому как сильно ограничен в плане команд. Он гораздо хуже подходит для управления файловой системой сервера, чем FTP. Вы не сможете даже просмотреть список файлов каталога при помощи него. Нужен TFTP только для передачи простейшей 8-битной информации, не более. И в этом протоколе есть всего 5 команд, которые нужны для чтения, записи, запроса пакета данных и других простых операций.
А вот протокол SFTP куда более удачный, чем TFTP и в некоторых случаях — чем FTP. Дело в том, что это защищенный FTP протокол. Он является комбинацией шифрованного SSH соединения и протокола передачи данных FTP. Кроме того, в SFTP многие лишние функции исключены, которые были введены в FTP уже давно, но никем не используются. Потому SFTP и безопаснее, чем FTP, и при этом скромнее в хорошем смысле этого слова. Рекомендуется выбирать именно SFTP в тех случаях, когда вы работаете с какими-то конфиденциальными данными. Тогда даже если хакеры и перехватят отправляемые данные по управляющему соединению, они все равно будут зашифрованными и никакой ценности взломщикам не принесут.
И лучше используйте FTP протокол в нормальных программах-клиентах, а не в терминале. Ведь так вы значительно ускорите работу по протоколу передачи данных и получите доступ к более изощренным его функциям.
Сравнение с моделью OSI
Многие сравнивают стек TCP/IP с моделью OSI, но стоит понимать, что между системами существует ряд принципиальных различий.
В OSI различают три начальных уровня – приложения, представления и сеансовый, – когда как в TCP/IP все это выделяется в прикладной уровень.
Ряд экспертов считают, что в первый уровень OSI намного шире и охватывает более широкие проблемы. Некоторые исследователи и вовсе включают первые слои OSI в модель TCP/IP, так как их можно встретить в современных стандартах. Но в большинстве случаев канальный уровень TCP/IP равняется канальному и физическому уровню в OSI.
3.2, пассивное подключение (PASV)
1. Введение в пассивное подключение
Сервер принимает рекомендуемый клиентом пассивный режим, открывает мониторинг порта передачи данных, пассивно ожидает подключения клиента и затем отправляет данные клиенту.
Следующее сообщение является сообщением после преобразования SNAT, исходный IP-адрес (10.10.10.2) преобразуется в IP-адрес исходящего интерфейса (192.168.10.114).
2. Объяснение разделения сообщения
2.1, трехстороннее рукопожатие TCP для установления TCP-соединения
2.2. Сообщение 4: от сервера (порт 21) к клиенту (порт 49206). Поле кода указывает, что новая пользовательская служба готова, а поле arg — это имя сервера и номер версии сервера.
2.3 Сообщение 5: Клиент (порт 49206) отправляет сообщение запроса на сервер (порт 21). Поле команды указывает, что сообщение содержит имя пользователя, а поле arg — это содержимое имени пользователя.
2.4. Сообщение 6: сервер (порт 21) отвечает на ответное сообщение с кодовым значением 331, что указывает на то, что имя пользователя в порядке и требуется пароль.
2.5 Сообщение 7: Клиент (порт 49206) отправляет сообщение запроса на сервер (порт 21.) Поле команды указывает, что сообщение содержит пароль, а поле arg — это содержимое пароля.
2.6. Сообщение 8: Сервер (порт 21) отвечает на ответное сообщение со значением кода 230, указывающим, что пользователь вошел в систему, пожалуйста, продолжайте
2.7 Сообщение 9: Клиент (порт 49206) отправляет сообщение SYST на сервер (порт 21), указывая, что возвращается операционная система, используемая сервером.
2.8 Сообщение 10: Сервер (порт 21) отвечает на тип системы.Поле кода — 215, что указывает на возвращение типа системы. Поле arg — UNIX, что указывает на то, что тип системы — система UNIX.
2.9. Пакет 11. Клиент (порт 49206) запрашивает состояние системы.
Пакет 12: сервер (порт 21) отвечает на состояние системы, поле кода — 211, а поле arg — это список функций.
2.10, пакет 15: клиент (порт 49206) PWD для получения текущего пути
Пакет 16: Сервер (порт 21) возвращает текущий путь
Пакет 17: Клиент (порт 49206) CWD изменить каталог
Пакет 18: Сервер (порт 21) возвращает измененный каталог
Пакет 19: Клиентская сторона (порт 49206) PWD получает текущий путь
Пакет 20: Сервер (порт 21) возвращает текущий путь
2.12, пакет 23: клиент (порт 49206) запрашивает у сервера установку пассивного соединения
Пакет 24. Сервер (порт 21) отвечает, соглашается установить пассивное соединение и отправляет клиенту IP-адрес сервера и порт прослушивания.
2.13, пакет 26-28: Трехстороннее рукопожатие подсоединения FTP для установления TCP-соединения.
2.14 Пакет: 32-33: Сервер (порт 20) отправляет данные клиенту (порт 49207).
2.15. Пакет 34-36: Передача данных завершена, TCP отключается
2.16, пакет 59-62: управляющее соединение было отключено, TCP четыре раза махнул рукой, чтобы отключить TCP-соединение
Назначение порта
Номер порта кодируется 16 битами, так что на одну машину приходится не более 65 536 различных портов. Эти порты делятся на 3 категории в зависимости от их количества:
216{\ displaystyle 2 ^ {16}}
- номера портов от 0 до 1 023 соответствуют «общеизвестным» портам, используемым для наиболее распространенных сетевых служб.
- номера портов от 1024 до 49 151 соответствуют зарегистрированным портам, назначенным IANA
- номера портов от 49,152 до 65,535 соответствуют динамическим портам, которые могут использоваться для любого типа запроса TCP или UDP, кроме упомянутого ранее.
Когда клиентское программное обеспечение хочет взаимодействовать с серверным программным обеспечением, также называемым службой, ему необходимо знать порт, который прослушивается последним. Поскольку порты, используемые службами, должны быть известны клиентам, основные типы служб используют порты, которые считаются зарезервированными. По соглашению, все они находятся в диапазоне от 0 до 1 023 включительно, и их использование серверным программным обеспечением часто требует, чтобы оно выполнялось с определенными правами доступа . Службы, использующие эти порты, называются общеизвестными службами (» Well-Known Services «).
В файле services указан список этих так называемых хорошо известных служб. В UNIX этот файл находится непосредственно в / etc; в Windows этот файл по умолчанию находится в C: \ Windows \ System32 \ drivers \ и т. д. Наиболее часто используемые услуги:
- 9, для WoL, Wake-on-LAN, то есть удаленный запуск с помощью сетевого кабеля Ethernet. Wake On LAN
- 20/21, для обмена файлами по FTP
- 22, для доступа к защищенной оболочке Secure SHell , также используемой для безопасного обмена файлами SFTP.
- 23, для порта telnet
- 25, для отправки электронной почты через выделенный SMTP- сервер
- 53, для преобразования доменных имен в IP- адреса : DNS
- 67/68, для DHCP и bootpc
- 69, для TFTP
- 80, для консультации с HTTP- сервером через веб-браузер.
- 110, за получение его электронной почты через POP
- 123, для синхронизации часов: сетевой протокол времени (NTP)
- 143, для получения его электронной почты через IMAP
- 389, для подключения к LDAP
- 443, для HTTP-соединений с использованием наложения безопасности SSL: HTTPS
- 465, для отправки электронной почты через выделенный сервер с использованием наложения безопасности типа SSL: SMTPS
- 500, порт, используемый для канала обмена ключами IPsec
- 554, порт, используемый для приема входящих клиентских подключений RTSP и для доставки пакетов данных клиентам, вещающим с использованием RTSPT.
- 636, для использования подключения к LDAP, защищенного уровнем SSL / TLS
- 1352, для протокола Lotus Notes Domino
- 1433, сервер базы данных MS SQL
- 1521, сервер базы данных Oracle
- 1723, для использования протокола PPTP VPN
- 3306, сервер базы данных MySQL
- 3389, для дистанционного управления RDP
- 5432, сервер базы данных PostgreSQL
- 6667, для подключения к IRC серверам
- 7777, порт, часто используемый для серверов видеоигр, таких как Terraria или Unreal Tournament.
- 25565, порт по умолчанию для серверов Minecraft
Однако вышеуказанные соглашения могут не соблюдаться при условии, что клиент и сервер согласованы друг с другом и что новый выбранный номер еще не используется где-либо еще (таким образом, можно активировать разные версии одной и той же службы на разных номерах портов, для тестирования). Большинство коммуникационных программ позволяют выполнять эту настройку.
Как подключиться к FTP-серверу
3.1, активное соединение (ПОРТ)
1. Введение в активное соединение
Сервер активно устанавливает соединение для передачи данных с клиентом, указав номер порта (20), и отправляет данные клиенту.
Следующее сообщение является сообщением после преобразования SNAT, исходный IP-адрес (10.10.10.2) преобразуется в IP-адрес исходящего интерфейса (192.168.10.114).
2. Объяснение разделения сообщения
2.1. Сообщение 1-3: TCP устанавливает трехстороннее рукопожатие для установления соединения.
2.2 Сообщение 4: Сервер (порт 21) отправляет сообщение запроса клиенту (порт 49203). Поле кода указывает, что новая пользовательская служба готова, а поле arg — это имя сервера и номер версии сервера.
2.3 Сообщение 5: Клиент (порт 49203) отправляет сообщение запроса на сервер (порт 21). Поле команды указывает, что сообщение содержит имя пользователя, а поле arg — это содержимое имени пользователя.
2.4. Сообщение 6: сервер (порт 21) отвечает на ответное сообщение с кодовым значением 331, что указывает на то, что имя пользователя в порядке и требуется пароль.
2.5 Сообщение 7: Клиент (порт 49203) отправляет сообщение запроса на сервер (порт 21.) Поле команды указывает, что сообщение содержит пароль, а поле arg является содержимым пароля.
2.6. Сообщение 8: Сервер (порт 21) отвечает на ответное сообщение со значением кода 230, указывающим, что пользователь вошел в систему, пожалуйста, продолжайте
2.7 Сообщение 9: Клиент (порт 49203) отправляет сообщение SYST на сервер (порт 21), указывающее, что возвращается операционная система, используемая сервером.
2.8 Сообщение 10: Сервер (порт 21) отвечает на тип системы.Поле кода — 215, что указывает на возвращение типа системы. Поле arg — UNIX, что указывает на то, что тип системы — система UNIX.
2.9. Пакет 11: клиент (порт 49203) запрашивает состояние системы.
Пакет 12: сервер (порт 21) отвечает на состояние системы, поле кода — 211, а поле arg — это список функций.
2.10, пакет 15: клиент (порт 49203) PWD для получения текущего пути
Пакет 16: Сервер (порт 21) возвращает текущий путь
Пакет 17: Клиент (порт 49203) CWD изменить каталог
Пакет 18: Сервер (порт 21) возвращает измененный каталог
Пакет 19: Клиент (порт 49203) PWD получает текущий путь
Пакет 20: Сервер (порт 21) возвращает текущий путь
2.11, пакет 21: клиент (порт 49203) запрашивает использование передачи ascii
Пакет 22: Сервер (порт 21) отвечает, соглашаясь использовать передачу ascii
2.12, пакет 23: клиент (порт 49203) инициирует активное соединение и отправляет IP-адрес и порт суб-соединения на сервер
Пакет 24: Сервер (порт 21) отвечает, соглашаясь использовать IP-порт, отправленный клиентом, для установления дополнительного соединения.
2.13, пакет 26-28: Трехстороннее рукопожатие подсоединения FTP для установления TCP-соединения.
2.14 Пакет: 30-32: Сервер (порт 20) отправляет данные клиенту (порт 49204).
2.15. Пакет 33–37: передача данных завершена, TCP отключается
2.16, пакет 60-63: управляющее соединение было отключено, TCP четыре раза махнул рукой, чтобы отключить TCP-соединение
FTP (File Transfer Protocol) — протокол передачи файлов по сети.
FTP (англ. File Transfer Protocol) — протокол передачи файлов по сети, появившийся в 1971 году задолго до HTTP и даже до TCP/IP, благодаря чему является одним из старейших прикладных протоколов. Изначально FTP работал поверх протокола NCP, на сегодняшний день широко используется для распространения программного обеспечения и доступа к удалённым хостам. В отличие от TFTP, гарантирует передачу (либо выдачу ошибки) за счёт применения квотируемого протокола.
Протокол FTP построен на архитектуре «клиент-сервер» и использует разные сетевые соединения для передачи команд и данных между клиентом и сервером.
Порт | ID | Назначение |
21 | TCP | для команд |
20 | TCP | для данных |
49152-65534 | TCP | динамически |
Пользователи FTP могут пройти аутентификацию, передавая логин и пароль открытым текстом, или же, если это разрешено на сервере, они могут подключиться анонимно. Можно использовать протокол SSH для безопасной передачи, скрывающей (шифрующей) логин и пароль, а также шифрующей содержимое.
Первые клиентские FTP-приложения были интерактивными инструментами командной строки, реализующими стандартные команды и синтаксис. С тех пор были разработаны графические пользовательские интерфейсы для многих используемых по сей день операционных систем. Среди этих интерфейсов как компоненты программы общего веб-дизайна вроде Microsoft Expression Web, так и специализированные FTP-клиенты (например, FileZilla).
4.4. Подумайте о том, как устройство NAT выполняет преобразование адресов для подсоединения.
Активный режим:
- Клиент использует любой незнакомый порт N (N> 1024) для установления управляющего соединения FTP с сервером.
- Клиент слушает порт N + 1.
- Для установления дополнительного соединения клиент отправляет сообщение PORT на порт 21. Сообщение PORT содержит IP-адрес клиента и порт N + 1.
- Устройство NAT получает IP-адрес клиента и порт N + 1 в сообщении PORT.
- Устройство NAT изменяет IP-адрес клиента и порт N + 1 в сообщении PORT на свой собственный IP-адрес и порт для генерации динамического NAT.
- После получения сообщения PORT от клиента сервер использует преобразованный NAT IP-адрес и порт для установления соединения для передачи данных с клиентом.
- После того, как устройство NAT получает его, оно обращается к преобразованному IP-адресу и порту, преобразует его в IP-адрес и порт N + 1 клиентского подсоединения в соответствии с динамическим NAT и отправляет его клиенту.
Оглавление
Введение 3Сетевые протоколы, их характеристика и применение 41.IP — Internet Protocol 72.TCP/IP — Transmission Control Protocol/Internet Protocol 73.UDP — User Datagram Protocol 104.FTP — File Transfer Protocol 115.DNS 12Основой DNS является представление об иерархической структуре имени и зонах. Каждый сервер, отвечающий за имя, может передать ответственность за дальнейшую часть домена другому серверу (с административной точки зрения — другой организации или человеку), что позволяет возложить ответственность за актуальность информации на серверы различных организаций (людей), отвечающих только за «свою» часть доменного имени. 126.HTTP — HyperText Transfer Protocol 12HTTP (англ. HyperText Transfer Protocol — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных, изначально — в виде гипертекстовых документов в формате HTML, в настоящее время используется для передачи произвольных данных. 137.NTP — Network Time Protocol 148.SSH — Secure SHell 15Список использованной литературы 17
Что такое порты TCP и UDP?
Два современных типа портов в современных сетях известны как порты TCP и UDP. Это протокол управления передачей и протокол дейтаграмм пользователя соответственно. Таким образом, эти два типа портов используют разные сетевые протоколы.
Которые вы можете считать отличительными наборами правил для того, как биты информации должны быть отправлены и получены. Оба типа портов построены на фундаментальном протокол Интернета (IP), который делает интернет и домашние сети, ну, Работа, Тем не менее, они подходят для различных применений.
Большая разница в том, что когда вы отправляете информацию по UDP, отправителю не нужно сначала устанавливать соединение с получателем перед началом разговора. Это похоже на отправку письма. Вы не знаете, получил ли ваше сообщение другое лицо, и у вас нет гарантии, что вы получите какой-либо отзыв.
TCP, с другой стороны, больше похож на телефонный звонок. Приемник должен «установить» соединение, и существует поток информации, пока кто-то намеренно не положит трубку.
Сообщения UDP обычно передаются по сети любому, кто прослушивает указанный порт UDP. Это делает его идеальным для сообщений служебного типа, которые касаются работы самой сети. Он также идеально подходит для потоковой передачи голоса по IP, онлайн-видеоигр и потокового вещания.
Почему? Эти приложения извлекают выгоду из низкой задержки UDP и постоянного потока информации, который не обязательно должен быть идеальным, чтобы быть полезным
В конце концов, небольшое искажение в вашем чате Skype гораздо менее важно, чем небольшое отставание
TCP гораздо более распространен, чем UDP, и он гарантирует, что все данные будут получены без ошибок. Почти все, что не нуждается в особых преимуществах UDP, использует вместо этого TCP.
Общие термины и понятия
Отдельно стоит поговорить о понятиях, которые в той или иной мере связаны с TCP/IP. Для начала разберемся в понятии стека. По сути – это гибкое средство для организации сетевого взаимодействия, с помощью которого каждый пользователь может применить собственные настройки.
Для использования протоколов потребуется установка TCP/IP. Это – специальное программное обеспечение, необходимое для настройки сети. Оно устанавливается вместе с базовой операционной системой, то есть дополнительных программ не потребуется.
Настройка протоколов подразумевает процесс установки базовой ОС и не требует от пользователя дополнительных действий.
Еще один термин, который вы можете встретить при изучении темы – это карта сетевых адаптеров. Она представляет собой физическое устройство, которое подключается к сетевому кабелю.
Отдельно стоит рассказать про сетевые интерфейсы стека. TCP/IP на уровне сетевого интерфейса создает пакеты из IP-дейтаграмм, которые передаются при помощи сетевых технологий. В этой модели протоколов применяется схема IP-адресации, при помощи которой удается однозначно идентифицировать хосты и сети, с которыми компьютер устанавливает соединение.
Еще один термин, который нельзя не упомянуть, это демоны TCP/IP (то есть серверы). Они представляют собой процессы, работающие в фоновом режиме и выполняющие запросы других процессов.
Протоколы FTPS и FTPES
Для решения проблемы конфиденциальности (шифрования данных) при аутентификации и передаче данных было решено добавить в сам протокол FTP уровень безопасности SSL / TLS. FTPS и FTPES также известны как FTP через TLS / SSL и основаны на самом протоколе FTP.
FTPS известен как неявный FTPS. , это старый способ обеспечения безопасности и конфиденциальности протокола FTP. В этом протоколе FTP-клиент подключается к другому порту, отличному от TCP-порта 21, по умолчанию для установления соединения используется TCP-порт 990. В этом случае канал данных использует протокол TCP 989. Перед обменом информацией с FTP-сервером выполняется согласование TLS / SSL для обеспечения всего канала связи, поэтому аутентификация и передача файлов безопасны с помощью TLS. .
FTPES известен как явный FTPS. , и это протокол, который в настоящее время используется, когда мы хотим включить безопасность в FTP. В этом режиме работы клиент FTPS должен явно запросить безопасность на сервере, а затем переключиться на метод шифрования, поддерживаемый обоими. Первое, что клиент FTPES будет подключаться к TCP-порту 21 FTP-сервера. , если клиент настроен на требование безопасности, и если на FTP-сервере включен протокол FTPES, то перед аутентификацией и передачей информации будет установлена зашифрованная связь с TLS. Если мы по-прежнему заинтересованы в обеспечении максимальной безопасности для клиентов FTPES во всех соединениях, нам необходимо активировать FTP-сервер, которыйМы только хотим позволить связи FTP через TLS / SSL , отклоняя любое обычное FTP-соединение, таким образом может использоваться только протокол FTPES. Протокол FTPES не требует открытия какого-либо дополнительного порта на сервере или на клиенте, он просто будет использовать управляющий TCP-порт 21 и случайный порт (между определенным диапазоном портов) для передачи информации.
FTPES использует протоколы TLS 1.0, 1.1, 1.2 и даже TLS 1.3, если это разрешено сервером и клиентом. Из-за использования протокола TLS / SSL нам необходимо настроить RSA или аналогичный сертификат на сервере, а также его открытый ключ и закрытый ключ, чтобы иметь возможность правильно настроить службу FTP.
На следующем изображении вы можете увидеть конфигурацию FTP-сервера в операционной системе XigmaNAS. Мы можем активировать соединения TLS, и нам нужно предоставить сертификат и связанный с ним закрытый ключ. Наконец, он позволяет нам разрешать только TLS-соединения, отклоняя «обычные» незашифрованные FTP-соединения.
Когда мы подключаемся к клиенту FTPES, например FileZilla, мы сможем увидеть выполненное нами согласование TLS. В настоящее время мы ведем переговоры с последним протоколом TLS 1.3, как вы можете видеть:
В зависимости от программного обеспечения и конфигурации сервера FTPES мы сможем вести переговоры с различными протоколами TLS, различными наборами симметричных шифров, обменом ключами и даже различными алгоритмами открытого ключа. Это будет зависеть от сделанной вами конфигурации. Сегодня наиболее нормальным является использование протокола TLS 1.2 или TLS 1.3, которые являются единственными безопасными версиями, потому что TLS 1.0 и TLS 1.1 уже считаются «устаревшими», так что у нас будет максимально возможная безопасность для обеспечения связи.
Благодаря этому протоколу FTPES все новые коммуникации с FTP-сервером будут зашифрованы и аутентифицированы как во время аутентификации, так и во время передачи файлов. Также будет проверяться целостность каждой обмененной посылки, поэтому мы будем уверены, что никто не менял их на лету
Очень важной деталью серверов с FTPES является то, что нам нужно будет открыть как порт управления, который мы настраиваем, так и порты FTP PASV, чтобы избежать проблем с NAT
Особенности подключения по FTP
Нужно отметить, что протокол FTP появился давно – в 1971 году. Для сравнения – протокол HTTP был создан почти через двадцать лет, в 1992 году, и в плане работы с файлами FTP до сих пор является предпочтительным протоколом.
Почему? Причин много. Например, при обрыве соединения – а бывает, как мы знаем, всякое – FTP позволит вам потом докачать файл, а не начинать его скачивание заново. Да и само скачивание происходит не по одному, а сразу по нескольким потокам параллельно
Для маленьких файлов это не очень важно, а вот если вы собираетесь загружать массивные файлы, то передача по FTP будет очень кстати
При этом HTTP протокол тоже может быть полезен он используется для передачи веб-страниц, которые представляют собой не что иное, как текстовые файлы с кодом, а также небольших файлов. Его рекомендуют использовать для скачивания файлов с сайта, так как чаще всего, используя этот протокол, пользователи не смогут управлять и изменять файлы (что значительно более безопасно, чем при использовании протокола FTP).
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
What is FTP port? [Definition]
FTP stands for file transfer protocol, allowing users to exchange information between devices over the network. You require FTP software tools to establish the connection and initiate the transfer. Its transfers are done using a specific port only. Default FTP port connection use port number 21. Also, you can change this default setting and choose your choice of FTP port. But to make this change, you need administrator access.
When you start communicating using FTP, you will require two different ports.
- When the user provides their credentials in the FTP client, it will establish an FTP connection and open the FTP control port of the FTP server (by default, this port is 21).
- A second connection is made to the server by the client, which is a response of the FTP server toward the FTP client. This connection will occur via port 20. It is where the actual transfer of data occurs.
It is helpful for the devices to connect to remote devices. Ports are required so there is no conflict with other transfers within the network, eliminating the condition of network congestion. FTP protocol can handle bulk data transfer with great ease. This protocol works using the TCP channel. You will require a port number open to the server to connect to this channel. If you want to use the customized FTP port number, you can use only a limited number of ports for your operating system.
To understand how FTP port works and configure them, you must have a basic knowledge of FTP, its features, FTP clients, and servers. Let’s get started with it.
Что такое FTP
FTP (File Transfer Protocol) – это протокол, который используется для передачи файлов. Чаще всего вы можете услышать эту аббревиатуру в отношении глобальной сети – утилиты, работающие по протоколу FTP, помогают загружать файлы на серверы, что особенно полезно, если вы администрируете сайты. Если выражаться более простым языком, то данный протокол позволит вам подключиться к какой-либо удаленной папке и работать с ней, в том числе загружая на нее (или из нее) нужные вам файлы. FTP-сервер – это любой сервер, который поддерживает данный протокол.
Для того чтобы воспользоваться FTP, вам только нужно убедиться, что сеть поддерживает TCP/IP (по этому протоколу, например, работает Интернет).