Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Утилита ftp командной строки Windows

Автор: Engraf
Дата сообщения: 18.05.2011 15:27
Здравствуйте,

Возникла следующая проблема: пытаюсь подключиться к некоему FTP-серверу с помощью утилиты ftp.exe командной строки Windows. При попытке вывести список файлов выдается ошибка. При соединении с FTP c помощью граф. клиентов, все нормально, список файлов виден.

Вот диалог с ftp.exe:
Код: ftp>open ftp.domain.com
Связь с ftp.domain.com
220 (vsFTPd 2.0.5)
Пользователь (ftp.domain.com:(none)): username
---> USER username
331 Please specify the password.
Пароль:
---> PASS ****
230 Login successful.
ftp> quote PASV
---> PASV
227 Entering Passive Mode (89,249,20,24,205,189)
ftp> type binary
---> TYPE I
200 Switching to Binary mode.
ftp> ls
---> TYPE A
---> PORT 192,168,2,138,11,170
200 PORT command successful. Consider using PASV.
---> NLST
425 Failed to establish connection.
Автор: Sadok
Дата сообщения: 18.05.2011 16:11
кажется, виндовый клиент в пассивный режим переводится не совсем тривиально... если переводится вообще

Many FTP clients do not support PASV transfers. For example, the standard FTP.EXE built into Windows does not support this feature. The user can still do a "quote PASV", which will tell the server to enter PASV mode, but the client still will not work in this mode. (This is a common problem, users enter "quote PASV" but things still don't work).
Автор: vlary
Дата сообщения: 18.05.2011 16:18
Engraf Интересно, каким боком это касается раздела "В помощь системному администратору"?


Автор: ipmanyak
Дата сообщения: 18.05.2011 16:35
Engraf вместо quote PASV
попробуйте
literal pasv
и вместо ls команду dir


Добавлено:
vlary Да ладно тебе гнобить новичка, и потом в принципе нормальный вопрос про ftp для этой ветки.
Автор: Engraf
Дата сообщения: 18.05.2011 16:54
vlary Виноват, исправлюсь.

ipmanyak Не помогает. Как я понял, у ftp.exe неполноценный пассивный режим, отсюда и проблемы. (http://support.microsoft.com/kb/308482)

P.S. Тестировал на собственном ftp-сервере. Наваял конкре-етный батник и тут такая подстава...
Автор: ipmanyak
Дата сообщения: 18.05.2011 17:44
Engraf наманый у виндового ftp пассивный режим, проверено неоднократно. в локалке работает 100%
Цитата:
При соединении с FTP c помощью граф
что вы имели ввиду про граф ftp, лог можете показать? и лог с теми командами что я писал?
щас поглядел help в ftp команде на W2K3, там вообще нет команд NLST и LIST, на которые ссылается статья микрософт.



Добавлено:
Engraf ftp сервер виндовый или какой? я юзаю FILEZILLA под виндой, проблем нет, даже с кирилЛицей, если поставить filEzilla пропатченный на UNICODE UTF-8
Автор: Sadok
Дата сообщения: 18.05.2011 19:39
ipmanyak

Цитата:
в локалке работает 100%

улыбнул. где те файроволы и NAT'ы в локалке то?
Автор: ipmanyak
Дата сообщения: 18.05.2011 20:05
Sadok Да согласен, нужно проверять снаружи, но сейчас в том аспекте, что создал топикстартер, пока не понятно, где трабла. По статье микрософта, таких команд в виндовом ftp - NLST и LIST. по крайней мере у меня в w2k3 - их просто нет. про граф ftp, - топикстартер пока ничего не сказал.
Автор: Sadok
Дата сообщения: 18.05.2011 20:16
ipmanyak
Команды - они от сервера зависят. Хоть QWERTY посылай, ответит. Мы же не знаем, что за сервер у товарища на той стороне.
Автор: ipmanyak
Дата сообщения: 18.05.2011 20:22
Sadok судя по первому посту, вроде как vsFTPd 2.0.5, но я пока не гуглил, что это за FTP. Еслм судить по имени, то явно юниксовый FTP.
Автор: Sadok
Дата сообщения: 18.05.2011 21:23
ipmanyak
Сервер годный (лучший, ИМХО), хотя версия старовата - сейчас 2.3.4

Значит, проблема с клиентом.

Впрочем _более других_ консольных клиентов под вин - пруд пруди. Хоть wget, хоть curl тот же..
Автор: Engraf
Дата сообщения: 19.05.2011 10:11
ipmanyak
В том-то и дело, что тестировал я на своем ftp-шнике, к-й в локалке был. На самом же деле скрипт должен с внешним ftp-шником работать. Когда я его в реальной работе проверял, тут проблема и возникла.

Пытаюсь разобраться с curl'ом. wget не подходит, так как надо скаченные файл на фтп-шнике удалять
Автор: ipmanyak
Дата сообщения: 19.05.2011 11:00
Engraf Ну а порты то на фаерволе для пассивного режима открывал? Похоже, что нет. Открой несколько тысяч портов на вход и выход свыше 1023 порта.
Автор: Engraf
Дата сообщения: 20.05.2011 10:20
ipmanyak На выход все порты открыты. Тот же FileZilla без проблем работает.
Попробовал curl, список файлов теперь выдает, но не получается удалить.
команда curl -u login:pass -Q "dele file.ext" ftp://ftp.domain.com не работает, так как не переходит в пассивный режим.
Опция --ftp-pasv не действует (curl --ftp-pasv -u login:pass -Q "dele file.ext" ftp://ftp.domain.com )...
Автор: Sadok
Дата сообщения: 20.05.2011 14:59
Engraf
Логи то покажи со стороны сервера и curl -v
Автор: Engraf
Дата сообщения: 23.05.2011 20:33
c curl'ом все вышло. Пытался удалить файл не стого фтп-шника...
не сразу заметил.

Автор: Sadok
Дата сообщения: 23.05.2011 21:07

Цитата:
c curl'ом все вышло

мы счастливы ))
Автор: seregapanarin
Дата сообщения: 06.02.2013 09:30
Ребята, пожалуйста, некогда разбираться (вопрос разовый), напишите пожалуйста: как при помощи cURL отправить на FTP сервер пакет файлов. Нужен батник, чтобы на него сделать задание в планировщике. ОС - WIN2003. Встроенный FTP.EXE не работает в пассивном режиме, потому, как альтернативу хочу попробовать cURL. Заранее благодарен всем, кто ответит на мою просьбу. Спасибо. Жду сообщений.
Автор: Sadok
Дата сообщения: 06.02.2013 09:37
seregapanarin
curl -T "img[1-1000].png" --ftp-pasv ftp://ftp.picturemania.com/upload/
Автор: ipmanyak
Дата сообщения: 06.02.2013 09:39
seregapanarin

Цитата:
Встроенный FTP.EXE не работает в пассивном режиме
Кто вам такое сказал? Работает, проверено неоднократно!
http://forum.ru-board.com/topic.cgi?forum=8&topic=41190#4
Вот пакет файлов им отправить проблемно.
Автор: mithridat1
Дата сообщения: 06.02.2013 09:56

Цитата:
как при помощи cURL отправить на FTP сервер пакет файлов

Как вариант можно попробовать Wput
В шапке темы Wget перечислено еще несколько утилит командной строки для работы с ftp.
Автор: seregapanarin
Дата сообщения: 06.02.2013 12:38
Огромное спасибо всем, кто ответил на мою просьбу!!!

Sadok! Вы порекомендовали следующую строку:
curl -T "img[1-1000].png" --ftp-pasv ftp://ftp.picturemania.com/upload/
А как корректно к ней дописать логин и пароль? Учетная запись запаролена.

Добавлено:
mithridat1

Как вариант можно попробовать Wput [?]
В шапке темы Wget [?] перечислено еще несколько утилит командной строки для работы с ftp.

Попробую еще и Wput (если найду к ней описание). Спасибо.

Добавлено:
ipmanyak

Я с Вами не спорю. Я своими глазами видел у своих коллег из других областей, что у некоторых из них эта утилита срабатывает в режиме PASV, но у меня, увы... На нескольких машинах пробовал - полный ноль. Возможно есть какие-то тонкости настройки сети? Но особо "въезжать" в проблему и некогда, да и особенно неохота (я же писал, что проблема разовая). Вот и ищу альтернативное решение.
Спасибо за ответ.
Автор: Sadok
Дата сообщения: 06.02.2013 14:16
seregapanarin
делать в формате ftp://USERNAME:PASSWORD@ftp.picturemania.com/upload/
Автор: seregapanarin
Дата сообщения: 06.02.2013 15:00
и Вы знаете где "собачка порылась"?
У меня небыло последнего слэша в строке ftp://username:password@ftp.server/upload/
Это я про работу с cURL

Всем спасибо. Вы мне очень помогли.
Может кому понадобится: команда рабочая:

curl -T "filename" --ftp-pasv ftp://user:pass@ftp://server:port/dir/

Перед этим убедился в том, что curl рабочий запросом:

curl http://isc.sans.org/infocon.txt

У меня был ответ: green
И это так должно быть.

Добавлено:
... и wput сработал!!!

Рабочая команда:

wput -a filename.log filename ftp://user:pass@server:port/dir/

Мне кажется wput - проще. Скачал, прописал путь в переменных окружения к файлу и 2-м dll-кам, которые должны быть с ним - и работай.

Еще раз спасибо всем.
Автор: Sadok
Дата сообщения: 06.02.2013 18:03
seregapanarin
Я понять не могу: 5 минут на чтение документаци много?
Автор: seregapanarin
Дата сообщения: 06.02.2013 19:02
Sadok

Спасибо большое за помощь.
А на Ваш вопрос 2-мя словами не ответишь.
В жизни всяко бывает.
Спасибо.
Простите если, что не так


Добавлено:

Вы мою фотку (аватар) видите? Это я такой ...

Страницы: 1

Предыдущая тема: Mdaemon восстановить псьма


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.