JhaoDa
@JhaoDa
LaravelRUS Team

ftp.exe не загружает файлы

Привет, Хабр.
Собственно, сабж, но с одним значительным уточнением — не загружает только через ftp.exe и только на одной машине, прочие же ftp-клиенты работают (Filezilla, Total Commander, даже Проводник).
Проверил ещё на двух машинах, подключенных, правда, к другому провайдеру — всё отлично.

Windows 7, белый IP, роутера нет, брандмауэр отключен, стоит Comodo Firewall, но переведен в состояние «Неактивен» (так же проверено и в рабочем режиме, ftp.exe в доверенных, ограничений нет).

Находил похожую проблему, советовали поменять настройки IE — не помогает.
Пробовал переводить в пассивный режим — не помогает.

Запускаю в виде ftp -n -d -s:D:\ttt\ftp.comm, где ftp.comm содержит:
open host.name.ru
USER dummy 123456
put D:\ttt\test.zip
bye

В ответ получаю:
C:\Users\JhaoDa>ftp -n -d -s:D:\ttt\ftp.comm
ftp> open host.name.ru
Связь с host.name.ru.
220 (vsFTPd 2.2.2)
ftp> USER dummy 123456
---> USER dummy
331 Please specify the password.
---> PASS 123456
230 Login successful.
ftp> send D:\ttt\test.zip *** файл в пару килобайт
---> PORT xx,xx,xx,xx,29,78
200 PORT command successful. Consider using PASV.
---> STOR test.zip
150 Ok to send data.
*** проходит минут 5, я нажимаю Ctrl+C, ибо дальше ждать бесполезно
*** если не трогать, то и час висеть будет
Разрыв любых активных подключений...
226 Transfer complete.
ftp> bye
---> QUIT
221 Goodbye. 

Файл на сервере создаётся, но имеет нулевой размер.
Техподдержка показала кусок лога:
Apr 17 20:00:15 vsftpd[8921]: [dummy] OK LOGIN: Client "xx.xx.xx.xx"
Apr 17 20:00:36 vsftpd[8924]: [dummy] OK UPLOAD: Client "xx.xx.xx.xx", "/test.zip", 0.00Kbyte/sec

Куда копать, дорогой хабр?
  • Вопрос задан
  • 10070 просмотров
Пригласить эксперта
Ответы на вопрос 4
xenon
@xenon
Too drunk to fsck
Сделайте дамп трафика и его посмотрите. (под винду — wireshark'ом можно). По идее, после того как ваш FTP клиент послал команду PORT, сервер должен на него законнектится. Посмотрите, есть ли в это время попытки сервера законнектится. Попробуйте просто с любого сервера из мира законнектится на эту вашу машинку (клиент) на произвольный нестандартный порт — вы должны увидеть трафик в wireshark'е. Может быть ваш ISP режет все таки. Или у них (на FTP сервере) особо фашистский файрвол такие исходящие соединения не пропускает.
Ответ написан
Комментировать
@S1ashka
у нас такое было под новый год. со всех хостов заливалось/перезаписывалось, с того где сидели — нет, никаким клиентом
разбудили ночью админа провайдера, благо знакомый — тот тоже в ауте

в общем, машину ребутните
Ответ написан
Дайте команду PASV перед PUT, вам удаленный сервер это советует. Скорее всего, где-то прикрыт активный FTP, может быть даже и на удаленном конце.
Ответ написан
JhaoDa
@JhaoDa Автор вопроса
LaravelRUS Team
Вот что показывает Wireshark:
FTP	105	Response: 200 PORT command successful. Consider using PASV.
FTP	69	Request: STOR test.zip
TCP	60	ftp > kjtsiteserver [ACK] Seq=129 Ack=73 Win=14720 Len=0
FTP	76	Response: 150 Ok to send data.

и тут же
FTP	78	Response: 226 Transfer complete.
TCP	54	kjtsiteserver > ftp [ACK] Seq=73 Ack=190 Win=8004 Len=0
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы