|

Полноценное использование служебного Инета
Xakep, номер #039, стр. 039-056-2
Вернемся теперь к двум ftp-серверам, между которыми нужно передать файл. Если один из них перевести в пассивный режим (он сообщит адрес и порт), а другой - в активный (указав только что полученные от первого сервера адрес и порт), то между ними установится соединение и можно будет передать файл.
Ничего не понял? ОК, поехали подробно.
Прежде всего следует приконнектиться к обоим серверам (используя любой telnet) и залогиниться, используя команды USER и PASS, например:
USER ivanov
PASS qwerty
Скорее всего, на сервер, содержащий нужный файл, тебе придется коннектиться анонимно, т.е. используя в качестве имени пользователя "anonymous", а в качестве пароля - любое мыло.
Затем следует командой "TYPE I" указать, что ты собираешься передавать файл как бинарные данные. Далее надо ввести команды PASV или PORT, которые переведут сервер в пассивный или активный режим соответственно.
Переведем один из серверов в пассивный режим:
PASV
227 Entering passive mode (213,180,190,56,222,116)
(Первая строка - это введенная команда, вторая - ответ сервера.)
А другой - в активный, используя полученные только что адрес и порт (213.180.190.56:56948, где номер порта есть 222 * 256 + 116):
PORT 213,180,190,56,222,116
200 PORT command OK
Режим, адрес и порт, устанавливаемые этими командами, не меняются до тех пор, пока одна из них не будет вызвана снова.
Далее, команда "CWD <путь к файлу>" изменит текущую директорию (при этом, чтобы не заблудится, можно использовать команду PWD, которая возвращает текущий каталог). Однако дело осложняется тем, что команда, возвращающая список файлов в текущей директории (команда "LIST") передает результат в соединение данных, и увидеть его не так просто. Поэтому надо сначала каким-либо способом выяснить точный путь к файлу, который нужно скачать, например, "/pub/R/Robert_Miles/mp3/fable.mp3", и тогда останется выполнить на сервере только одну команду: "CWD /pub/R/Robert_Miles/mp3".
Наконец команды отправки и приема файла: "RETR <имя файла>" и "STOR <имя файла>". И корректный выход: "QUIT".
Назад на стр. 039-056-1 Содержание Вперед на стр. 039-056-3
|