Работа со стандартным FTP-клиентом ОС Linux
Список команд для работы с FTP-сервером на ОС Linux
ftp_alloc Резервирует место на диске для закачиваемого файла
ftp_cdup Переходит в родительскую директорию
ftp_chdir Изменяет текущую директорию на FTP сервере
ftp_chmod Устанавливает права доступа к файлу
ftp_close Закрывает соединение с FTP сервером
ftp_connect Устанавливает соединение с FTP сервером
ftp_delete Удаляет файл на FTP сервере
ftp_exec Выполняет программу на FTP сервере
ftp_fget Загружает файл с FTP сервера и сохраняет его в предварительно открытом файле
ftp_fput Загружает предварительно открытый файл на FTP сервер
ftp_get_option Получает текущие параметры FTP соединения
ftp_get Загружает файл с FTP сервера
ftp_login Выполняет вход на FTP сервер
ftp_mdtm Возвращает время последней модификации файла
ftp_mkdir Создаёт директорию
ftp_nb_continue Продолжает асинхронную операцию
ftp_nb_fget Скачивает файл с FTP сервера в асинхронном режиме и сохраняет его в предварительно открытом файле
ftp_nb_fput Загружает предварительно открытый файл на FTP сервер в асинхронном режиме
ftp_nb_get Скачивает файл с FTP сервера в асинхронном режиме и сохраняет его в локальный файл
ftp_nb_put Загружает файл на FTP сервер в асинхронном режиме
ftp_nlist Возвращает список файлов в заданной директории
ftp_quote_pasv Включает или выключает пассивный режим
ftp_put Загружает файл на FTP сервер
ftp_pwd Возвращает имя текущей директории
ftp_quit Псевдоним функции ftp_close
ftp_raw Отправляет произвольную команду FTP серверу
ftp_rawlist Возвращает список файлов в заданной директории
ftp_rename Переименовывает файл на FTP сервере
ftp_rmdir Удаляет директорию
ftp_set_option Устанавливает параметры соединения с FTP сервером
ftp_site Отправляет команду SITE серверу
ftp_size Возвращает размер файла
ftp_ssl_connect Устанавливает соединение с FTP сервером через SSL
ftp_systype Возвращает тип операционной системы FTP сервера
Активный режим
Запускаем терминал в ОС Linux.
Для начала необходимо подсоединиться к ftp-серверу, это делается с помощью команды:
ftp <адрес сервера>
Получим следующее:
student@521-08:~$ ftp
ftp> o 172.16.100.20
Connected to 172.16.100.20.
220 Welcome to OPDS FTP service.
При успешном соединении сервер выдаст нам сообщение: Welcomе. Далее сервер попросит ввести имя и пароль: в качестве имени используем anonymous, а в качестве пароля, если сервер его запросит, например, адрес своей почты.
Name (172.16.100.20:student): anonymous
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
Если все прошло успешно, то получим ответ сервера о том, что логин корректен – Login successful. А также сервер выдаст информацию, в каком виде будут передаваться файлы, в нашем случае – это бинарное представление файлов.
Просмотр содержимого текущего каталога осуществляется командой DIR:
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x 3 Sep 18 08:32 incoming
-rw-rw-rw Sep 05 16:17 welcome. txt
226 Directory send OK.
Осуществим переход в каталог incoming: это возможно при помощи команды CD <имя каталога>:
ftp> cd incoming
250 Directory successfully changed.
Создадим в нем свой каталог: для этого используем команду MKDIR <имя подкаталога>:
ftp> mkdir masha
257 "/incoming/masha" created
Загрузим файл на ftp – сервер: это делается при помощи команды
PUT <имя загружаемого файла> <имя файла на сервере, куда сохраняем>:
ftp> put /home/student/text. txt text1.txt
local: /home/student/text. txt remote: text1.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 File receive OK.
11 bytes sent in 0.00 secs (153.5 kB/s)
Загрузим файл с ftp-сервера: для этого используем команду
GET <имя файла на сервере> <имя файла, куда сохраняем>:
ftp> get welcome. txt /home/student/text1.txt
local: /home/student/text1.txt remote: welcome. txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for welcome. txt (30 bytes).
226 File send OK.
30 bytes received in 0.00 secs (202.0 kB/s)
Пассивный режим
Переход в пассивный режим осуществляется с помощью команды QUOTE PASV:
ftp> quote pasv
227 Entering Passive Mode (172,16,100,20,177,72)
Осуществим переход в каталог incoming: это возможно при помощи команды CD <имя каталога>:
ftp> cd incoming
250 Directory successfully changed.
Создадим в нем свой каталог: для этого используем команду MKDIR <имя подкаталога>:
ftp> mkdir masha1
257 "/incoming/masha1" created
Загрузим файл на ftp – сервер: это делается при помощи команды
PUT <имя загружаемого файла> <имя файла на сервере, куда сохраняем>:
ftp> put /home/student/text. txt /incoming/masha1/text11.txt
local: /home/student/text. txt remote: /incoming/masha1/text11.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 File receive OK.
11 bytes sent in 0.00 secs (179.0 kB/s)
Загрузим файл с ftp-сервера: для этого используем команду
GET <имя файла на сервере> <имя файла, куда сохраняем>:
ftp> cd /
250 Directory successfully changed.
ftp> get welcome. txt /home/student/22.txt
local: /home/student/22.txt remote: welcome. txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for welcome. txt (30 bytes).
226 File send OK.
30 bytes received in 0.00 secs (162.8 kB/s)
Для завершения работы с ftp – сервером введем команду: BYE
ftp> bye
Работа с FTP-сервером с помощью утилиты telnet
Для запуска утилиты telnet необходимо ввести в терминале (командной строке) команду telnet
telnet [имя хоста] [номер порта]
Команда telnet используется для связи с другим хостом по протоколу TELNET.
Получим следующее:
student@521-08:~$ telnet 172.16.100.20 21
Trying 172.16.100.20...
Connected to 172.16.100.20.
Escape character is '^]'.
220 Welcome to OPDS FTP service.
При успешном соединении сервер запросит логин и пароль. Введем логин anonymous:
USER anonymous
230 Login successful.
При корректности логина сервер выдаст ответ Login Successful.
Перейдем в пассивный режим, для этого существует команда PASV:
PASV
227 Entering Passive Mode (172,16,100,20,169,18)
Вычислим номер порта для канала данных:
169*256+18=43282
Откроем новый терминал и введем следующее:
student@521-08:~$ telnet 172.16.100
Trying 172.16.100.20...
Connected to 172.16.100.20.
Escape character is '^]'.
Теперь посмотрим содержание каталога на сервере, для этого в 1-ом окне терминала введем команду: LIST - во втором окне терминала отобразятся данные:
list
150 Here comes the directory listing.
226 Directory send OK.
Во втором окне:
drwxr-xr-x 5 Sep 21 11:05 incoming
-rw-rw-rw Sep 05 16:17 welcome. txt
Connection closed by foreign host.
Попробуем передать файл, для этого есть команда RETR:
retr welcome. txt
150 Opening ASCII mode data connection for welcome. txt (30 bytes).
226 File send OK.
Во втором окне:
student@521-08:~$ telnet 172.16.100
Trying 172.16.100.20...
Connected to 172.16.100.20.
Escape character is '^]'.
Welcome on OPDS FTP Server!!!Connection closed by foreign host.
student@521-08:~$


