FTP.EXE и современные серверы

Поиск, обмен ссылками, вопросы по устаревшему программному обеспечению.
Ответить
Аватара пользователя
ATauenis
Advanced Member
Сообщения: 5525
Зарегистрирован: 30.04.2015,21:30
Откуда: Москва
Контактная информация:

Вклад в сообщество

FTP.EXE и современные серверы

Сообщение ATauenis » 11.10.2017,22:59

При попытке скачать что-либо через консольную утилиту FTP (в Windows 3.11-7) с любого сервера ничего толком не выходит. Получается такая фигня:
ftp> open ftp.netscape.com.edgesuite.net
Connected to 44281.ftp.download.akadns.net.
220 spftp/1.0.0000 Server [23.201.29.72]
User (44281.ftp.download.akadns.net:(none)): anonymous
331 Password required for USER.
Password:
230-
230- ---------------------------------------------------------------------------

230- WARNING: This is a restricted access system. If you do not have explicit
230- permission to access this system, please disconnect immediately!
230 ----------------------------------------------------------------------------

ftp> cd pub
250 CWD command successful.
ftp> dir
502 Command not implemented
150 Opening ASCII mode data connection for /pub.
И ftp зависает. Или:
ftp> open ftp.gnome.org
Connected to ftp.acc.umu.se.
220 Please use http://ftp.acc.umu.se/ whenever possible.
User (ftp.acc.umu.se:(none)): anonymous
331 Please specify the password.
Password:
230 Login successful.
ftp> ls
500 Illegal PORT command.
425 Use PORT or PASV first.
ftp>
ftp> open old-dos.ru
Connected to old-dos.ru.
220 FTP Server ready.
User (old-dos.ru:(none)): oscollect
331 Password required for oscollect
Password:
230 User oscollect logged in.
ftp> dir
500 Illegal PORT command
425 Unable to build data connection: Connection refused
ftp>
Иногда dir/ls работают нормально, но при попытке скачать что-либо происходит аналогичное зависание либо ошибка. С какими-то серверами сразу теряется соединение, чуть возникает повод использовать не только 21 порт. Через браузеры и Total Commander всё работает отлично.

Вопрос: так и должно быть с современными серверами, или с консольным ftp.exe работают иначе? Раньше для работы с FTP из GUI никогда не вылезал. Даже когда-то сам писал FTP клиент, но там проблем с угадыванием порта для передачи данных не было, сервер и клиент сразу находили общий язык независимо от количества NATов, а тут классический клиент, едва ли не эталонный, и на те. :(

Аватара пользователя
Кай
Почётный пользователь
Сообщения: 19738
Зарегистрирован: 08.08.2010,21:44
Откуда: СПб, Ульянка-Лигово
Контактная информация:

Вклад в сообщество

Сообщение Кай » 11.10.2017,23:05

Cтандартный клиент FTP в операционных системах Windows поддерживает далеко не полный перечень стандартных ftp-команд и, что самое неприятное, он не поддерживает команду переключения в пассивный режим ( passv ) обмена с сервером FTP, что делает его непригодным для обмена данными с серверами FTP, подключение к которым выполняется с использованием технологии трансляции сетевых адресов NAT. Другими словами, для обмена файлами с внешними, по отношению к подсети клиента, серверами, стандартный FTP-клиент не подходит.
wget? :)

- Студент, принесите из вивария живую мышь и подготовьте её к опыту.
Полученную кашицу...

Аватара пользователя
ATauenis
Advanced Member
Сообщения: 5525
Зарегистрирован: 30.04.2015,21:30
Откуда: Москва
Контактная информация:

Вклад в сообщество

Сообщение ATauenis » 11.10.2017,23:57

Значит, так и должно быть.

pahan
Advanced Member
Сообщения: 4455
Зарегистрирован: 13.03.2015,14:23
Откуда: Химки, М.О.

Вклад в сообщество

Сообщение pahan » 12.10.2017,19:49

С какими-то серверами сразу теряется соединение, чуть возникает повод использовать не только 21 порт.
Стандартный клиент такого не умеет ;)
Вопрос: так и должно быть с современными серверами
Нет.
Разбирайтесь со своим роутером (или что там у вас вместо него) и провайдером:
c:\download>ftp ftp.netscape.com.edgesuite.net
Связь с 44281.ftp.download.akadns.net.
220 spftp/1.0.0000 Server [69.192.2.113]
Пользователь (44281.ftp.download.akadns.net:(none)): anonymous
331 Password required for USER.
Пароль:
230-
230- ---------------------------------------------------------------------------

230- WARNING: This is a restricted access system. If you do not have explicit
230- permission to access this system, please disconnect immediately!
230 ----------------------------------------------------------------------------

ftp> cd pub
250 CWD command successful.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for /pub.
acadia
blind
calendar
cck
cdk
collabra
communicator
compuserve
cooltalk
cosmo
japanese
jsdebug
ls-lR.gz
mcd
mozilla
netscape
netscape6
netscape7
netscape8
netscape9
netscape_isp
ngt_developer_release
nim
omega
patch
powerpack
radio
screensavers
sdk
smart
smartdownload
toolbars
unsupported
visualjs
vjscdk
wppd
226 Transfer Complete
ftp: 347 байт получено за 0,13 (сек) со скоростью 2,78 (КБ/сек).
ftp> quit
221 Goodbye.

open ftp.gnome.org
Связь с ftp.acc.umu.se.
220 Please use http://ftp.acc.umu.se/ whenever possible.
Пользователь (ftp.acc.umu.se:(none)): anonymous
331 Please specify the password.
Пароль:
230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
HEADER.html
Public
about
cdimage
conspiracy
debian
debian-backports
debian-cd
favicon.ico
mirror
pub
releases
robots.txt
tails
ubuntu
226 Directory send OK.
ftp: 149 байт получено за 0,00 (сек) со скоростью 149000,00 (КБ/сек).
ftp> close
221 Goodbye.
Обычно проблемы с FTP - проблемы фаерволла и NAT (на стороне сервера). Забыли открыть диапазон портов для пассивного режима, какие-то порты из этого диапазона заняты ещё кем-то, забыли указать серверу его внешний IP (который светится в интернете), какое-то шибко умное сетевое оборудование не может распознать "случайно возникший из ниоткуда посторонний" трафик FTP data. Сам только первые три варианта решал на стороне сервера, так конкретнее не подскажу. Обычно я только сношаю мозг заказчику, в очередной раз сломавшему собственный FTP, а все разборки по восстановлению они делают сами. Кончилось тем, что от FTP планируется наконец-то отказаться в этом проекте.

Сергей С
Member
Сообщения: 177
Зарегистрирован: 05.01.2017,16:51

Вклад в сообщество

Сообщение Сергей С » 16.10.2017,07:38

Обычно проблемы с FTP - проблемы фаерволла и
Так и случилось, законнектился к ftp.netscape.com.edgesuite.net с Winows 7-64, открылось предупредительное окно брандмауэра - нажал отмена, после ввода команды "ls" фтп-клиент повис. Повторно открыл, окно брандмауэра не появилось, ввожу команды дальше и результат опять зависание. Открываю Панель управления-Система и безопасность-Брандмауэр Windows-Разрешённые программы ставлю галочку в колонке "Название" у Программа передачи файлов(FTP) - OK. Проверяю - заходит на сервер и показывает содержимое директории по команде.

Аватара пользователя
ATauenis
Advanced Member
Сообщения: 5525
Зарегистрирован: 30.04.2015,21:30
Откуда: Москва
Контактная информация:

Вклад в сообщество

Сообщение ATauenis » 16.10.2017,12:24

Без белого IP от NATa не уйти. А по МГТСовскому GPON его, наверное, и нет. Хотя, можно ли предугадать какой порт захочет ftp.exe, чтобы заранее пробросить его на роутере, авось прокатит? У меня там есть возможность установки проброса конкретных портов, не диапазонов.

Ответить