Command line ftp client passive mode 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-команд для командной строки Windows

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

Существует три способа, с помощью которых можно получить доступ к FTP :

  • FTP-клиенты командной строки.
  • Браузер.
  • Графические FTP-клиенты .

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

Операционные системы Windows , Macintosh X и Linux имеют встроенные клиенты командной строки, которые могут быть использованы для установления FTP-соединения . Чтобы инициировать соединение в Windows , введите в CMD команды FTP и нажмите Enter .

Команды FTP для командной строки Windows

Команда Описание
! Эта команда служит для перехода между операционной системой и FTP. Для возврата из операционной системы к командной строке FTP используется команда exit.
? Отображение справки для команды.
append Добавление текста в локальный файл.
ascii Переключение в ASCII режим передачи данных.
bell Включает/отключает режим подачи звукового сигнала.
binary Установка режима передачи двоичных файлов.
bye Выход из FTP.
cd Смена текущего каталога.
close Выход из FTP.
delete Удаление файла.
debug Включает/отключает отладочный режим.
dir Выводит список файлов.

dir -C = выводит файлы в расширенном формате.

dir -1 = выводит список файлов в алфавитном порядке.

dir -r = выводит список каталогов в обратном алфавитном порядке.

dir -R = выводит список всех файлов в текущем каталоге и подкаталогах.

dir -S = выводит список файлов в алфавитном порядке.

disconnect выход из FTP.
get Получение файл с удаленного компьютера.
glob Переключает настройки расширения файла. В выключенном состоянии аргументы имен файлов в командах put и get воспринимаются буквально и не расширяются.
hash Включает/отключает вывод на экран знака ‘#’. Когда опция включена, после каждых 1024 байт переданных данных отображается хеш-символ (#).
help Отображает информацию о команде, если команда вводится после help.
lcd Отображает локальный каталог, в котором была запущена команда. Если же после команды lcd указан путь – изменяет текущий локальный каталог.
literal Отправка произвольной строки символов в качестве команды удаленному серверу с ожиданием единственного ответного кода.
ls Эта ftp exe команда выводит файлы удаленного компьютера.
mdelete Удаление нескольких файлов.
mdir Вывод содержимого удаленных каталогов.
mget Получение нескольких файлов.
mkdir Создание каталога на удаленном компьютере.
mls Вывод содержимого нескольких каталогов удаленного компьютера.
mput Отправка нескольких файлов.
open Устанавливает соединение.
prompt Включает/отключает подсказку.
put Отправка одного файла.
pwd Вывод рабочего каталога.
quit Завершение сеанса ftp.
quote Отправка произвольной команды.
recv Получение файла.
remotehelp Получение справки о командах удаленной системы.
rename Переименовывает файл.
rmdir Удаляет каталог на удаленном компьютере.
send Отправка одного файла.
status Отображает текущее состояние включенных и отключенных параметров.
trace Включает трассировку пакетов.
Type Устанавливает тип передачи файлов.
user Отправка сведений о пользователе для входа на сервер.
verbose Включает/ отключает режим информирования.

FTP команды для Windows

FTP параметры для командной строки Windows

Параметры CMD используются для изменения работы команд FTP . Параметр командной строки обычно следует за основной командой FTP через пробел. Вот список часто используемых параметров командной строки FTP для Windows® :

Параметр командной строки Описание
-v Отключение вывода на экран ответов с удаленного сервера.
-n Отключение автоматического входа при начальном подключении.
-i Отключение интерактивных запросов при передаче нескольких

файлов. -d Включение отладочного режима, отображает все команды FTP, передаваемые между клиентом и сервером. -g Отключение расширения файлов, которое разрешает использование подстановочных символов в именах локальных файлов и путей. -s:filename Задание текстового файла, содержащего команды FTP, которые

будут выполняться автоматически при запуске FTP. Пробелы в этом параметре не допускаются. Используйте этот параметр вместо перенаправления (>). -a Использование локального интерфейса для привязки соединения. -w:windowsize Переопределение стандартного размера буфера передачи (65535). computer Задание имени или IP адреса удаленного узла, к которому необходимо подключиться. Компьютер, если он указан, должен быть последним параметром в строке.

FTP параметры командной строки для Windows

Консольный FTP-клиент , встроенный в Windows и Mac OS X — это надежный инструмент для тестирования, поиска и устранения неисправностей. Изучение приведенных выше cmd ftp команд поможет вам обмениваться файлами между компьютерами без установки дополнительного программного обеспечения.

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

Как переключить 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% — адрес фтп сервера

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

Читайте также:  Как поменять значок корзины windows 10
Оцените статью