Меню Рубрики

Ftp клиент для windows в пассивный режим

Команда FTP

Команда FTP реализует обмен файлами с FTP сервером в командной строке Windows. Утилита ftp.exe входит в стандартный дистрибутив всех версий операционных систем семейства Windows и позволяет выполнять обмен с сервером как в командном, так и в интерактивном режиме.

Формат командной строки:

FTP [-v] [-d] [-i] [-n] [-g] [-s:имя_файла] [-a] [-A] [-x:sendbuffer] [-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [узел]

-v — Отключение вывода на экран ответов с удаленного сервера.
-n — Отключение автоматического входа при начальном подключении.
-I — Отключение интерактивных запросов при передаче нескольких файлов.
-d — Включение отладочного режима.
-g — Отключение глобализации имен файлов (см. команду GLOB).
-s:имя_файла — Задание текстового файла, содержащего команды FTP, которые будут выполняться автоматически при запуске FTP.
-a — Использование локального интерфейса для привязки соединения.
-A — Анонимное подключение к серверу.
-x:send sockbuf — Переопределение стандартного размера буфера SO_SNDBUF (8192).
-r:recv sockbuf — Переопределение стандартного размера буфера SO_RCVBUF (8192).
-b:async count — Переопределение стандартного размера счетчика async (3)
-w:windowsize — Переопределение стандартного размера буфера передачи (65535).
узел — Задание имени или адреса IP удаленного узла, к которому необходимо выполнить подключение.

— команды mget и mput принимают параметры y/n/q как YES/NO/QUIT.
— для прекращения выполнения команд нажмите комбинацию клавиш CTRL+C.

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

Для получения списка доступных команд можно ввести знак вопроса или команду help

!
?
append
ascii
bell
binary
bye
cd
close
literal
debug
dir
disconnect
get
glob
hash
help
lcd
ls
mdelete
mdir
mget
mkdir
mls
mput
open
prompt
send
put
pwd
quit
quote
recv
remotehelp
rename
rmdir
status
trace
type
user
verbose

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

? connect
help connect

Список команд FTP клиента Windows:

! — Временный переход из среды FTP в командную строку Windows (CMD.EXE) . Для возврата в FTP используется команда EXIT
append добавление данных передаваемого файла в конец существующего.
ascii — установка режима передачи файлов в формате ascii (текстовый режим)
bell — выдача звукового сигнала по завершении команды .
binary — установка режима передачи файлов в двоичном формате
bye — завершение сеанса FTP и выход из программы.
cd — изменение текущего каталога на удаленном компьютере
close — завершение сеанса FTP ( закрытие соединения, открытого командой open )
delete — удаление указанного файла на удаленном компьютере
debug — переход в режим отладки
dir — вывод содержимого каталога удаленного компьютера
disconnect — завершение сеанса ftp. Отключение от сервера FTP без завершения программы.
get — прием файла от сервера FTP
glob — Переключение метасимвольного расширения имен локальных файлов. По умолчанию этот режим включен и позволяет использовать символы * и ? в шаблонах имен файлов.
hash — переключение режима вывода метки хэширования для каждого переданного буфера
help — вывод справочной информации по командам FTP
lcd — смена рабочего каталога локального компьютера
literal — отправка произвольной строки символов в качестве команды ftp
ls — вывод содержимого каталога удаленного компьютера
mdelete — удаление нескольких файлов
mdir — вывод содержимого нескольких каталогов сервера FTP
mget — прием нескольких файлов от сервера FTP
mkdir — создание каталога на сервере FTP
mls — вывод содержимого нескольких каталогов удаленного компьютера
mput — отправка нескольких файлов на сервер FTP open — открыть соединение (подключиться) к серверу FTP
prompt — изменение строки в приглашения к вводу команд в интерактивном режиме.
put — передача одного файла
pwd — отобразить имя текущего рабочего каталога на сервере FTP
quit — завершение сеанса и выход из программы
quote — отправка произвольной команды серверу FTP
recv — прием одиночного файла
remotehelp — получение справки от сервера FTP
rename — переименование файла
rmdir — удаление каталога на сервере
send — передача одиночного файла
status — отображение текущего состояния сеанса — к какому серверу выполнено подключение, тип передаваемых данных, состояние режимов, изменяемых командами FTP
trace — переключение режима трассировки
type — установка типа передачи файлов
user — изменение имени пользователя в сеансе обмена с сервером FTP
verbose — переключение режима детализации при выводе сообщений

Как видно из списка перечисленных команд, стандартный клиент FTP в операционных системах Windows поддерживает далеко не полный перечень стандартных ftp-команд и, что самое неприятное, он не поддерживает команду переключения в пассивный режим ( passv ) обмена с сервером FTP, что делает его непригодным для обмена данными с серверами FTP, подключение к которым выполняется с использованием технологии трансляции сетевых адресов NAT . Другими словами, для обмена файлами с внешними, по отношению к подсети клиента, серверами, стандартный FTP-клиент не подходит. Это касается всех версий Windows, включая и Windows 10. Именно этот факт предопределяет область использования утилиты ftp.exe — только в локальных сетях, где возможно прямое TCP-соединение между клиентом и сервером.

Пример сессии с использованием клиента FTP Windows:

open 192.168.1.1 — открыть соединение с сервером 192.168.1.1
user admin — использовать имя пользователя admin при подключении к серверу. В ответ на эту команду сервера запросит пароль.
adminpass — ввод пароля для пользователя admin
ls — отобразить список файлов и папок в удаленном каталоге
get myfile.txt — принять файл myfile.txt из удаленного каталога в текущий локальный каталог.
lcd C:\files — сменить текущий локальный каталог.
get myfile.txt — принять файл myfile.txt из удаленного каталога в текущий локальный каталог ( C:\files ) .

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

Источник

Как переключить ftp.exe в пассивный режим? или загрузка с wput

Использовал я как-то стандартный ftp.exe из Windows, все было хорошо, пока не он не перестал работать.

200 PORT command successful. Consider using PASV.

Оказалось понадобился пассивный режим.

Так думаю, нет вопросов, прошелся по справке не видно ничего такого, нашел обсуждение

quote pasv

но эта команда переводит сервер в пассивный режим, но не клиент ftp.exe

Альтернатива нашлась быстро — это wput, так как в делах закачки я доверяю wget, то wput был принят в мою команду без колебаний.

Скачать ftp-клиент с возможностью докачки и пассивным режимом работы можно тут или с официального сайта.

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

Пример работы с wput
c:\Work\wput.exe -v -u -nd —basename=c:\data\xls\ c:\data\xls\price.zip ftp://username:password@testsite.com

Слова статьи: как закачать файл на сервер ftp, загрузить файл из командной строки, пассивный режим ftp пример работы, how to configure ftp.exe to use passive mode (PASV), пример использования wput.exe

Внимание! Добавлено 13.10.2011

Что-то с временем обнаружился какой-то баг — при копировании архива с файлами wput’ом на фтп сервер, дата и время файла обновлялось, а текстовый файл не менялся, а иногда менялся, я сильно не заморачивался с выяснением что да как, так как до этого столкнулся с багом 7zip который иногда не создавал новый архив, если старый архив лежал на том месте, а иногда создавал, в общем я решил кардинально — заменил wput на curl, тем более curl я использовал в другом новом проекте и опыт работы с ним уже был.

Скачать облегченный curl — ссылка

curl.exe -T %data_dir%\%file_name% -u %ftp_user%:%ftp_pass% %ftp_server% %data_dir% — каталог с данными для отправки %file_name% — имя отправляемого файла на фтп %ftp_user% — имя пользователя фтп %ftp_pass% — пароль на фтп %ftp_server% — адрес фтп сервера

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

Источник

ftp клиент пассивный режим

В Ubuntu ftp -p для пассивного режима работает нормально.

Как мне сделать то же самое в Windows?

Я пробовал с quote pasv , но я получаю следующую ошибку:

Мой брандмауэр отключен.

Windows фактически не поддерживает пассивный режим.

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

Эти аргументы предназначены для отправки различных команд, а pasv – это не то, о чем думала Microsoft, когда они ее написали.

Вам нужно будет найти стороннее программное обеспечение, такое как WinSCP, которое поддерживает использование командной строки и использует это вместо родного Windows.

Клиент командной строки Windows FTP ( ftp.exe ) не поддерживает пассивный режим в любой версии Windows. Это делает его сегодня бесполезным из-за вездесущих брандмауэров и NAT.

Использование quote pasv не поможет. Он переключает только сервер в пассивный режим, но не клиент.

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

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

Хотя это не отвечает на вопрос непосредственно о командной строке, но из ОС Windows, используйте проводник Windows ftp://username@server

по умолчанию будет использоваться пассивный режим

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

Команда quote PASV не является командой программы ftp.exe , это команда FTP-сервера, запрашивающая порт высокого порядка для передачи данных. Пассивная передача – это та, в которой данные FTP по этим портам высокого порядка, в то время как управление поддерживается в нижних портах.

Программа windows ftp.exe может использоваться для отправки команд FTP-сервера для пассивной передачи данных между двумя FTP-серверами. Стандартная установка Windows не будет и, вероятно, не должна иметь службу FTP-сервера, работающую как конечную точку для пассивных передач. Поэтому, если требуется пассивная передача со стандартным окном, требуется другое решение, кроме ftp.exe , как FTPing для localhost, поскольку одно из соединений не будет работать в большинстве оконных сред.

Вы можете осуществлять пассивную передачу FTP между двумя разными хостами (но не с двумя соединениями на одном хосте) следующим образом:

Откройте два запроса, используйте один для ftp.exe для подключения к исходному FTP-серверу, а один к ftp.exe подключитесь к вашему FTP-серверу назначения.

Теперь установите пассивное соединение между серверами, используя необработанные команды PASV и PORT. Команда quote PASV ответит IP/портом в многоточии. Используйте эти данные для команды quote PORT . Ваша пассивная ссылка теперь установлена, если брандмауэры не заблокировали один или несколько из четырех портов (2 для управления FTP, 2 для данных FTP)

Затем начните прием данных с помощью команды quote STOR на принимающий FTP-сервер, затем отправьте управляющую команду quote RETR на исходный FTP-сервер.

Cavet: я подключаюсь к некоторым старым FTP-серверам YMMV

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

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

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

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

Инструменты пользователя

Инструменты сайта

Содержание

Введение

Клиент посылает запросы серверу и принимает файлы. В качестве клиентов могут использоваться – internet explorer, Windows Commander, NetVampir, gftp и т.д.

Сервер обрабатывает запросы клиента на получение файла. В качестве серверов могут использоваться – vsftpd, IIS, wuftpd, proftpd и т.д.

Режимы работы FTP: активный и пассивный

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

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

Первоначальная настройка брандмауера

Создаем минимальный набор правил в нашем фаерволе. Этот пример создан лишь для того, чтобы показать принцип работы iptables. Для более углубленного понимания работы iptables рекомендую прочитать статью Оскара Андерсона в переводе Андрея Кисилева – Iptables Tutorial 1.1.19, которая считается классикой.

eth0 – смотрит в локальную сеть, eth1 – смотрит в мир. Данным скриптом (firewall.sh) удобно пользоваться на стадии отладки правил.

После того, как у вас все настроено, лучше воспользоваться штатными средствами управления iptables. Для этого воспользуемся скриптом для сохранения текущих правил в файл. В разных дистрибутивах набор правил может сохраняться по отличному от /etc/sysconfig/iptables пути. Данный путь является стандартным для Red Hat дистрибутивов и его клонов, например CentOS.

Но при таких настройках фаервола ftp через nat еще не будет работать. Для облегчения нашей задачи воспользуемся специальным модулем, который и был разработан как раз для этих целей. Загрузим модуль ip_nat_ftp, который и будет выполнять всю черную работу вместо нас.

Обратите внимание, что в цепочке eth0-eth1, через которую проходят все транзитные пакеты, мы открыли только порт 21 и разрешили прохождение пакетов с состоянием RELATED и ESTABLISHED. Для работы ftp как в активном так и в пассивном режимах больше ничего не требуется, все остальные заботы берут на себя модули ip_nat_ftp и ip_conntrack_ftp.

Тестирование

После того, как мы загрузили модуль и правил можно приступить непосредственно к тестированию. Для этого можно воспользоваться любимым ftp клиентом и попробовать соединиться с любым ftp сервером. В качестве клиента я использовал ftp клиент встроенный в far, который позволяет использовать как активный, так и пассивный режимы. Если под рукой нет никакого ftp клиента всегда можно воспользоваться встроенным в windows клиентом как показано ниже.

Для наглядности можно посмотреть с помощью tcpdump что происходит при попытке подключиться к удаленному ftp серверу.

Ну вот собственно и вся настройка. Для того, чтобы каждый раз при загрузке системы модуль ip_nat_ftp загружался автоматически необходимо внести небольшие изменения в файл /etc/sysconfig/iptables-config.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Ftp клиент для windows xp 32 bit
  • Ftp как локальный диск windows 7
  • Ftp как локальная папка windows
  • Ftp windows socket error
  • Ftp windows server passive mode