Ftp пассивный режим какие порты. Как включить пассивный режим? Изменение режима FTP-клиента в Internet Explorer

27.05.2018

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

А теперь более подробно. В отличие от HTTP и большинства других протоколов, используемых в Интернете, протокол FTP использует во время сеанса как минимум два подключения: полудуплексное подключение для управления и полное дуплексное подключение для передачи данных. По умолчанию для управления подключениями на сервере используется TCP порт 21, но подключение данных определяется методом, который клиент использует для подключения к серверу.

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

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

Активный режим FTP-подключений

Активный режим FTP иногда называют "управляемым клиентом", потому что клиент посылает команду PORT на сервер (через управляющее соединение), тем самым запрашивает сервер для установления соединения данных из TCP -порт 20 на сервере, клиенту, используя TCP порт, который указан по команде PORT .

Клиент FTP отправляет команду PORT FTP -серверу в следующем формате:

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

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

PORT 192,168,0,3,19,243

где первых четыре значения соответствуют октетам IP адреса клиента, а пятое и шестое - это старший и младший байты 16-битного значения порта. Для преобразования старшего и младшего байтов в десятичный номер порта, пятое значение умножается на 256 и к результату прибавляется шестое значение. В рассмотренном примере получится: (19 * 256) + 243 = 5107. Таким образом клиент указывает серверу открыть подключение к данным используя 192.168.0.3:5107. По умолчанию FTP клиент выбирает временный порт для подключения к данным. Временный порт выбирается случайным образом из диапазона доступных портов от 1024 до 65535

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

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

Ниже представлена типичная последовательность для активного режима FTP -подключения:

Команда Отправлено из Отправлено на
USER MyUserName 192.168.4.29:8190 10.0.0.10:21
PASS MyPassword 192.168.4.29:8190 10.0.0.10:21
CWD / 192.168.4.29:8190 10.0.0.10:21
250 CWD command successful. 10.0.0.10:21 192.168.4.29:8190
PORT 192,168,4,29,31,255 192.168.4.29:8190 10.0.0.10:21
200 PORT command successful. 10.0.0.10:21 192.168.4.29:8190
LIST 192.168.4.29:8190 10.0.0.10:21
10.0.0.10:20 192.168.4.29:8191
226 Transfer complete. 10.0.0.10:21 192.168.4.29:8190

Пассивный режим FTP-подключений

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

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

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

Команда Отправлено из Отправлено на
USER MyUserName 192.168.4.29:7971 10.0.0.10:21
PASS MyPassword 192.168.4.29:7971 10.0.0.10:21
CWD / 192.168.4.29:7971 10.0.0.10:21
250 CWD command successful. 10.0.0.10:21 192.168.4.29:7971
PASV 192.168.4.29:7971 10.0.0.10:21
227 Entering Passive Mode (192,168,4,29,9,227). 10.0.0.10:21 192.168.4.29:7971
LIST 192.168.4.29:7971 10.0.0.10:21
10.0.0.10:2531 192.168.4.29:7972
226 Transfer complete. 10.0.0.10:21 192.168.4.29:7971

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

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

Активный режим противоположный пассивному режиму. Это означает, что сервер подключается к вам, и параметры, которые вы хотите подключить, определяются вами.

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

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


Как узнать, было ли это соединение успешным или нет? Как только мы запустим команду списка, сервер сообщает нам, что ссылка была создана, более интересным является сообщение 226 Перенос успешно завершен или 426 Прерывание передачи. Оба они означают, что соединение было прекрасным, в последнем случае оно было преждевременно закрыто. Это может быть связано с тем, что служба, с другой стороны, не ожидает отправки этих данных и закрывает соединение. Но два ключевых слова указывают, что порт открыт. Если сообщение не получено, порт закрывается.

Пассивный режим необходим в случаях, когда компьютер клиента находится в защищенной локальной вычислительной сети. Большинство браузеров поддерживают FTP-протокол, и позволяет подключаться, просматривать и копировать данные с удаленных серверов. Так, в Internet Explorer можно, указав в адресной строке ftp:// “IP адрес сервера” или найти с помощью FileSearch ссылки самых популярных хранилищ файлов. На вкладке/«Свойства обозревателя/Дополнительно»/ можно разрешить использовать пассивный режим FTP.

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

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

Не требуется никаких особых настроек в браузере «Mozilla Firefox». “Total Comander» и «Far” имеют встроенный FTP клиент. Здесь при создании нового соединения необходимо дополнительно указать логин и пароль. К открытым серверам логин по умолчанию «anonymous», а пароль – адрес вашего почтового ящика.

Все известные «качалки» от FlashGet (по умолчанию пассивный режим) до ReGet Deluxe (по умолчанию активный режим) имеют систему автоматического определения сценариев соединения и закачки, а также снабжаются различными дополнительными акселераторами для ускорения процесса скачивания. Включать или отключать пассивный режим, как правило, можно при создании нового подключения на вкладках FTP.

Для некоторых служб может возникнуть проблема с отправкой двоичных данных, поэтому лучше отправлять текстовые данные. Службы, которые могут хорошо обслуживаться, - это почта, Интернет или обмен данными. Тем не менее, это также зависит от того, какое программное обеспечение связано с сервисом и т.д. нет проблем с достижением коэффициента усиления от 10 × до 100 ×.

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

Для клиентов, работающих в файлообменном режиме постоянно или довольно часто, необходимо установить FTP менеджер. Это программа серий FileZilla, CuteFTP , SmartFTP , FTP Voyager и т.д. , которые тоже можно найти в открытом доступе в интернете. Эти программы дают возможность более тонкой настройки соединения с удаленным сервером FTP. Они незаменимы в случаях работы с серверами, работающими только в “active mode” , поскольку даже при отсутствии статического IP адреса у клиента, программа может эмулировать его на период сессии.

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

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

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

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

Подключение через веб-браузер

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

И наконец, среди консольных команд ОС Windows поддерживается команда ftp.exe, которая предоставляет возможность «ручного» подключения к FTP серверу с помощью введения консольных команд (протокол поддерживает 25 команд). Использование и синтаксис ввода этих команд необходимо хорошо знать и усвоить, но это потребует определённых навыков и опыта программирования.

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

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

При работе по протоколу FTP между клиентом и сервером устанавливается два соединения – управляющее (по нему идут команды) и соединение передачи данных (по нему передаются файлы).
Управляющее соединение одинаково для Активного и Пассивного режима. Клиент инициирует TCP-соединение с динамического порта (1024-65535) к порту номер 21 на FTP-сервере и говорит «Привет! Я хочу подключится к тебе. Вот мое имя и мой пароль». Дальнейшие действия зависят от того, какой режим FTP (Активный или Пассивный) выбран.

В активном режиме , когда клиент говорит «Привет!» он так же сообщает серверу номер порта (из динамического диапазона 1024-65535) для того, чтобы сервер мог подключиться к клиенту для установки соединения для передачи данных. FTP-сервер подключается к заданному номеру порта клиента используя со своей стороны номер TCP-порта 20 для передачи данных.

В пассивном режиме , после того как клиент сказал «Привет!», сервер сообщает клиенту номер TCP-порта (из динамического диапазона 1024-65535), к которому можно подключится для установки соединения передачи данных.

Главное отличие между активным режимом FTP и пассивным режимом FTP – это сторона, которая открывает соединение для передачи данных . В активном режиме, клиент должен принять соединение от FTP-сервера. В пассивном режиме, клиент всегда инициирует соединение.

Основные команды

ABOR — Прервать передачу файла
CDUP — Сменить директорию на вышестоящую.
CWD — Сменить директорию.
DELE — Удалить файл (DELE filename).
EPSV — Войти в расширенный пассивный режим. Применяется вместо PASV.
HELP — Выводит список команд, принимаемых сервером.
LIST — Возвращает список файлов директории. Список передаётся через соединение данных.
MDTM — Возвращает время модификации файла.
MKD — Создать директорию.
NLST — Возвращает список файлов директории в более кратком формате, чем LIST. Список передаётся через соединение данных.
NOOP — Пустая операция
PASV — Войти в пассивный режим. Сервер вернёт адрес и порт, к которому нужно подключиться, чтобы забрать данные. Передача начнётся при введении следующих команд: RETR, LIST и т.д.
PORT — Войти в активный режим. Например PORT 12,34,45,56,78,89. В отличие от пассивного режима для передачи данных сервер сам подключается к клиенту.
PWD — Возвращает текущую директорию.
QUIT — Отключиться
REIN — Реинициализировать подключение
RETR — Скачать файл. Перед RETR должна быть команда PASV или PORT.
RMD — Удалить директорию
RNFR и RNTO — Переименовать файл. RNFR — что переименовывать, RNTO — во что.
SIZE — Возвращает размер файла
STOR — Закачать файл. Перед STOR должна быть команда PASV или PORT.
SYST — Возвращает тип системы (UNIX, WIN, …)
TYPE — Установить тип передачи файла (бинарный, текстовый)
USER — Имя пользователя для входа на сервер

Полный список кодов ответов FTP сервера

100Запрошенное действие инициировано, дождитесь следующего ответа прежде, чем выполнять новую команду.
110Комментарий
120Функция будет реализована через nnn минут
125Канал открыт, обмен данными начат
150Статус файла правилен, подготавливается открытие канала
200Команда корректна
202Команда не поддерживается
211Системный статус или отклик на справочный запрос
212Состояние каталога
213Состояние файла
214Справочное поясняющее сообщение
215Выводится вместе с информацией о системе по команде SYST
220Служба готова для нового пользователя.
221Благополучное завершение по команде quit
225Канал сформирован, но информационный обмен отсутствует
226Закрытие канала, обмен завершен успешно
227Переход в пассивный режим (h1,h2,h3,h4,p1,p2).
228переход в длинный пассивный режим (длинный адрес, порт).
229Переход в расширенный пассивный режим (|||port|).
230Пользователь идентифицирован, продолжайте
231Пользовательский сеанс окончен; Обслуживание прекращено.
232Команда о завершении сеанса принята, она будет завершена по завершении передачи файла.
250Запрос прошёл успешно
257«ПУТЬ» создан.
331Имя пользователя корректно, нужен пароль
332Для входа в систему необходима аутентификация
350Запрошенное действие над файлом требует большей информации
404Данный удалённый сервер не найден
421Процедура не возможна, канал закрывается
425Открытие информационного канала не возможно
426Канал закрыт, обмен прерван
434Запрашиваемый хост недоступен
450Запрошенная функция не реализована, файл не доступен, например, занят
451Локальная ошибка, операция прервана
452Ошибка при записи файла (недостаточно места)
500Синтаксическая ошибка, команда не может быть интерпретирована (возможно она слишком длинна)
501Синтаксическая ошибка (неверный параметр или аргумент)
502Команда не используется (нелегальный тип MODE)
503Неудачная последовательность команд
504Команда не применима для такого параметра
530Вход не выполнен! Требуется авторизация (not logged in)
532Необходима аутентификация для запоминания файла
550Запрошенная функция не реализована, файл не доступен, например, не найден
551Запрошенная операция прервана. Неизвестный тип страницы.
552Запрошенная операция прервана. Выделено недостаточно памяти
553Запрошенная операция не принята. Недопустимое имя файла.

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

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

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

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

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

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

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

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


Исправляем это недоразумение.


Обязательно сохраним оригинальный файл termsrv.dll. Запустим командную строку от Администратора и выполним

copy c:\Windows\System32\termsrv.dll termsrv.dll_old

Затем смотрим вашу версию. Правый клик на файле c:\Windows\System32\termsrv.dll и выберем свойства.


Скачиваем измененный файл соответствующий вашей версии

Если хочется все исправить своими руками, то копируем свой файл termsrv.dll из папки c:\Windows\System32\ на рабочий стол. Открываете его любым hex редактором, например этим бесплатным HxD . И заменяете байты в указанной строчке.

В первой колонке значение, которое должно быть, во второй оригинальное.

Windows 7 SP1 64bit:

173C0: B8 8B
173C1: 00 87
173C2: 01 38
173C3: 00 06
173C5: 90 00
173C6: 89 39
173C8: 38 3C
173CC: 90 0F
173CD: 90 84
173CE: 90 EB
173CF: 90 C2
173D0: 90 00
173D1: 90 00
176FA: 00 01
5AD7E: EB 74
Для Windows 8.1 (64bit) заменяем целиком строку!
в v6.3.9600.16384
строчку
8B 81 38 06 00 00 39 81 3C 06 00 00 0F 84 1B 70 00 00
на
B8 00 01 00 00 89 81 38 06 00 00 90 90 90 90 90 90 90

в 6.3.9600.16384 to 6.3.9600.17095
строчку
39 81 3C 06 00 00 0F 84 9E 31 05 00
на

6.3.9600.17095 to 6.3.9600.17415
строчку
39 81 3C 06 00 00 0F 84 D3 1E 02 00
на
B8 00 01 00 00 89 81 38 06 00 00 90
Воспользуемся инструментом замены с типом шестнадцатеричные значения

После замены сохраняете изменения.

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



Далее останавливаете службу удаленного рабочего стола


Заменяем файл termsrv.dll на скаченный или измененный.

Еще нужно изменить значение ключа в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser на 0!

И снова запускаем службу!

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

Для Windows XP
1) Редактируем файл
termsrv.dll (SP2 5.1.2600.2180) 295,424 bytes

128BB: 75 -> 74
217D3: 8B -> 33
217D4: C7 -> C0
2192D: 8B -> 33
2192E: C7 -> C0
225B7: 54 -> 20
termsrv.dll (SP3 5.1.2600.5512) 295,424 bytes
22A17: 74 -> 75
22A69: 7F -> 90
22A6A: 16 -> 90
2) Заменять файл в директории C:\Windows\System32\ нужно в безопасном режиме, поскольку по умолчанию включена защита системных файлов (System File Protection). Для этого перезагрузите компьютер с зажатой F8 , выберите безопасный режим.
3) Добавить ключи реестра

EnableConcurrentSessions ”=dword:00000001

EnableConcurrentSessions ”=dword:00000001
AllowMultipleTSSessions ”=dword:00000001

4) Далее Пуск -> Выполнить, gpedit.msc. В окне редактора групповой политики Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Служба терминалов. Включите Ограничение количества подключений и установите количество подключений равное 3 или более.
5) Перезагружайтесь и подключайтесь!

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

Проблемы FTP в современных сетях

В современных сетях (NAT, брандмауэр, балансировщик нагрузки) следующие особенности FTP не позволяют ему нормально работать:

  1. Два отдельных соединения TCP / IP: для передачи данных и для передачи команд;
  2. Соединение для передачи данных может быть установлено на случайном номере порта;
  3. Соединение для передачи данных может исходить как от сервера к клиенту, так и от клиента к серверу;
  4. Адрес назначения соединения для передачи данных (выбор режима работы) согласовывается на лету между клиентом и сервером через соединение для передачи команд;
  5. Соединение для передачи команд находится в режиме ожидания, пока происходит передача данных через соединение для передачи данных.

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

Проблема 2 вызвана тем, что FTP не может работать в том случае, если входящие порты жестко ограничены только определенно известными. Т.е. в обычном режиме FTP не может работать только при открытом 21 входящем порте, используемым соединением для передачи команд, ему также необходим набор открытых портов высокого значения (49152-65534) для передачи данных.

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

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

Два режима передачи данных в FTP

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

  • В активном режиме сервер подключается со своего 20-го порта на оговоренный порт клиента.
  • В пассивном режиме клиент подключается со своего случайного порта на оговоренный порт сервера.

Таким образом, все современные FTP-клиенты обговаривают с сервером то, от кого данные передаются и кто инициирует соединение. Клиент может указать использование активного режима , послав команду «PORT», которая сообщит серверу, что нужно подключиться на определенный IP и порт клиента, и начать отправку данных. Или клиент может использовать пассивный режим , послав команду “PASV” серверу, которая сообщит серверу, что клиент ожидает IP и порт сервера для начала приема данных.

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

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

Ftp://:@:/

Пример сессий с использованием активного и пассивного режимов передачи данных

Пример активного режима, где клиент подключается анонимно и совершает одну активную передачу данных (просмотр директории).

Client: USER anonymous
Server:
Client: PASS NcFTP@
Server: 230 Logged in anonymously.
Client: PORT 192,168,1,2,7,138 Клиент хочет чтобы сервер подключился на порт 1930 и IP адрес 192.168.1.2.
Server: 200 PORT command successful.
Client: LIST
Server: 150 Opening ASCII mode data connection for /bin/ls. Сервер подключается с порта 21 на порт 1930 и ip адрес 192.168.1.2.
Server: 226 Listing completed. Данные переданы успешно.
Client: QUIT
Server: 221 Goodbye.

Пример пассивного режима

Client: USER anonymous
Server: 331 Guest login ok, send your e-mail address as password.
Client: PASS NcFTP@
Server: 230 Logged in anonymously.
Client: PASV Клиент запрашивает у сервера данные для подключения.
Server: 227 Entering Passive Mode
(172,16,3,4,204,173)
Сервер отвечает клиенту, что нужно подключаться на порт 52397 и IP адрес 172.16.3.4.
Client: LIST
Server: 150 Data connection accepted from
172.16.3.4:52397; transfer starting.
Клиент подключился к серверу на порт 52397 и IP адрес 172.16.3.4.
Server: 226 Listing completed. Данные переданы успешно.
Client: QUIT
Server: 221 Goodbye.

Частные проблемы:

    PORT режим - FTP клиент за NAT или брандмауэром

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

    Решение 1. Клиент FTP должен быть настроен на использование пассивного режима.

    Решение 2. Настройка NAT за слежением соединений FTP. Когда клиент использует активный режим, NAT устройство должно переписывать внутренний адрес клиента и заменять его внешним адресом устройства. Тогда соединение, для передачи данных с FTP сервера поступив на внешний адрес NAT устройства, будет проброшено им на внутренний адрес FTP клиента за NAT.

    PASV режим - FTP сервер за брандмауэром

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

    Решение 1. Администратор может открыть группу портов на брандмауэре, через которые может происходить соединение с FTP сервером.

    Решение 2. Если есть поддержка со стороны брандмауэра, администратор может настроить так, чтобы порты автоматически открывались для установления пассивного соединения с FTP сервером. Эта настройка схоже с той, что была описана для активного клиента, находящегося за NAT. Таким образом, когда брандмауэр отслеживает ответ FTP сервера на пассивный запрос клиента, он временно открывает порт, указанный в ответе, и только для того IP, с которого исходил пассивный запрос.

    PASV режим - FTP сервер за NAT

    В режиме PASV FTP сервер отвечает клиенту своим внутренним ip адресом и портом, чем обрекает клиента на невозможность подключения.

    Решение 1. Настройка NAT за слежением соединений FTP для передачи данных. Когда сервер отправляет ответ в пассивном режиме, NAT устройство должно переписывать внутренний адрес сервера и заменять его внешним адресом устройства. Тогда соединение для передачи данных с FTP клиента, поступив на внешний адрес NAT устройства, будет проброшено им на внутренний адрес FTP сервера за NAT.

    PASV режим - FTP сервер за балансировщиком нагрузки

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

    Решение 1. Каждому FTP серверу за балансировщиком присвоить легитимный ip адрес, доступный извне. В этом случае FTP сервер будет способен самостоятельно обслуживать FTP клиентов в пассивном режиме, минуя балансировщик.

    Решение 2. Настройка балансировщика за слежением соединений FTP для передачи данных. Когда сервер отправляет ответ в пассивном режиме, балансировщик должен переписывать внутренний адрес сервера и заменять его внешним адресом балансировщика. Тогда соединение для передачи данных с FTP клиента, поступив на внешний адрес балансировщика, будет проброшено им на внутренний адрес FTP сервера за балансировщиком.

    Решение 3. Настроить FTP сервер так, чтобы его ответы в пассивном режиме содержали внешний адрес балансировщика, а не сервера и надеется, что балансировщик перенаправит соединение на ожидающий сервер.

    Неразрешимая проблема - брандмауэры на обоих концах

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

    FTP сервер на нестандартном порте

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

    Но даже в этом случае брандмауэр на стороне клиента может помешать. Это может произойти, если брандмауэр на стороне клиента жестко требует, чтобы FTP соединение для передачи данных от FTP сервера исходило с 20 порта (в активном режиме). Если же сервер FTP работает на порту N, то по спецификации FTP его соединения для передачи данных будут исходить с порта N – 1 и блокироваться брандмауэром клиента.

    Проблемы, вызванные брандмауэрами преждевременно завершающими FTP сессию

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

    Решением данной проблемы является устройство, поддерживающее соединение для передачи команд в активном состоянии даже не смотря на то, что по нему долго не передавались пакеты. Другой вариант - включение функции “Keep Alive” в стеке протокола TCP/IP на стороне клиента или сервера, которая отправляет пакет проверки доступности через определенные интервалы времени, и если сторона назначения не отвечает - закрывает нормально соединение. Если же принимающая сторона ответит, то соединение со стороны брандмауэра будет считаться активным.

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



Top