10
Петрозаводский госуниверситет, А. В. Соловьев, 2007 СЕТЕВЫЕ ТЕХНОЛОГИИ File Transfer Protocol •Сетевой протокол, предназначенный для передачи файлов в компьютерных сетях, позволяет просматривать содержимое каталогов и загружать файлы с сервера или на сервер, кроме того возможен режим передачи файлов между серверами (FXP). •Один из старейших прикладных протоколов - 1971 г. •Уязвим к перехвату сетевых пакетов (нет шифрования, пароль передаётся открытым текстом). •Используются два соединения (два порта): для передачи команд (control connection) и для передачи данных (data connection) Rev. 1.01 / 14.11.2007 RFC 959 (1985 г.)

Петрозаводский госуниверситет , А. В. Соловьев , 200 7

  • Upload
    lloyd

  • View
    41

  • Download
    2

Embed Size (px)

DESCRIPTION

File Transfer Protocol. Сетевой протокол, предназначенный для передачи файлов в компьютерных сетях, позволяет просматривать содержимое каталогов и загружать файлы с сервера или на сервер, кроме того возможен режим передачи файлов между серверами (FXP). - PowerPoint PPT Presentation

Citation preview

Page 1: Петрозаводский госуниверситет ,  А. В. Соловьев , 200 7

Петрозаводский госуниверситет, А. В. Соловьев, 2007 СЕТЕВЫЕ ТЕХНОЛОГИИ

File Transfer Protocol

•Сетевой протокол, предназначенный для передачи файлов в компьютерных сетях, позволяет просматривать содержимое каталогов и загружать файлы с сервера или на сервер, кроме того возможен режим передачи файлов между серверами (FXP).

•Один из старейших прикладных протоколов - 1971 г.•Уязвим к перехвату сетевых пакетов (нет шифрования,

пароль передаётся открытым текстом).•Используются два соединения (два порта): для передачи

команд (control connection) и для передачи данных (data connection)

Rev. 1.01 / 14.11.2007

RFC 959 (1985 г.)

Page 2: Петрозаводский госуниверситет ,  А. В. Соловьев , 200 7

FTP и OSI RM

APPLICATION

PRESENTATION

SESSION

TRANSPORT

NETWORK

DATA LINK

PHYSICAL

Layer 7

Layer 6

Layer 5

Layer 4

Layer 3

Layer 2

Layer 1

TCP

IP

Physical

TCP/IP OSI/RM

FTP

Петрозаводский госуниверситет, А. В. Соловьев, 2007 СЕТЕВЫЕ ТЕХНОЛОГИИ

Page 3: Петрозаводский госуниверситет ,  А. В. Соловьев , 200 7

Петрозаводский госуниверситет, А. В. Соловьев, 2007 СЕТЕВЫЕ ТЕХНОЛОГИИ

Схема взаимодействия по FTP

ФС ФС

FTP-сервер FTP-клиент

ИП сервера ИП клиента

ППД сервера ППД клиента

user interface

FTP-Команды

FTP-отклики

Данные

ИП – интерпретатор протоколаППД – процесс передачи данныхФС – файловая система

TELNET

не обязательно существует во время всего сеанса

Page 4: Петрозаводский госуниверситет ,  А. В. Соловьев , 200 7

Петрозаводский госуниверситет, А. В. Соловьев, 2007 СЕТЕВЫЕ ТЕХНОЛОГИИ

Active mode

FTP-сервер

ППД

ИП

FTP-клиент

ИП

ППД

L

L

accept

connect

TCP:21

TCP:20

TCP:33001

TCP:33002

192.168.1.1

192.168.1.13

accept

connect 192.168.1.13:33002

Page 5: Петрозаводский госуниверситет ,  А. В. Соловьев , 200 7

Петрозаводский госуниверситет, А. В. Соловьев, 2007 СЕТЕВЫЕ ТЕХНОЛОГИИ

Passive mode

FTP-сервер

ППД

ИП

FTP-клиент

ИП

ППД

L

L

accept

connect

TCP:21

TCP:35001

TCP:33001

TCP:33002

192.168.1.1

192.168.1.13

accept

connect 192.168.1.1:35001

Page 6: Петрозаводский госуниверситет ,  А. В. Соловьев , 200 7

Петрозаводский госуниверситет, А. В. Соловьев, 2007 СЕТЕВЫЕ ТЕХНОЛОГИИ

Режим FXP (File eXchange Prot.)

FTP-сервер A

ППД

ИП

FTP-клиент

ИП

ППД

L accept

connect

TCP:21

33001, 33002

192.168.1.1

192.168.1.13

ИП

FTP-сервер B

ППД

ИП L accept

TCP:21

192.168.1.2

TCP: 35001

TCP: 20

acceptL

connect 192.168.1.1:35001

Page 7: Петрозаводский госуниверситет ,  А. В. Соловьев , 200 7

Петрозаводский госуниверситет, А. В. Соловьев, 2007 СЕТЕВЫЕ ТЕХНОЛОГИИ

Команды FTP

USER username Идентификация пользователя

PASS password Аутентификация пользователя

PORT a1,a2,a3,a4,p1,p2 Адрес ППД клиента для активного режима

PASV Запрос адреса ППД сервера для пассивного режима

RETR pathname Загрузка файла с сервера

STOR pathname Передача файла на сервер

LIST [pathname] Получение списка файлов на сервере

CWD pathname Смена каталога на сервере

PWD Получение имени текущего каталога на сервере

TYPE, MODE, STRU Параметры канала передачи данных

NOOP Пустая операция

SYST Информация о системе

HELP Помощь (список команд сервера)

QUIT Выход

Page 8: Петрозаводский госуниверситет ,  А. В. Соловьев , 200 7

Петрозаводский госуниверситет, А. В. Соловьев, 2007 СЕТЕВЫЕ ТЕХНОЛОГИИ

Отклики FTP

1хх – Позитивный предварительный ответ (запрошенное действие начато, следует ожидать ещё одного отклика, прежде чем выдать новую команду).2хх – Позитивный ответ о завершении (запрошенное действие успешно выполнено, можно выдавать новую команду).3хх – Позитивный промежуточный ответ (команда принята, но действие не начато, ожидается другая команда с дополнительной информацией).4хх – Временный негативный ответ (команда не принята, но ошибочная ситуация временна, запрошенное действие можно попытаться выполнить позднее).5хх – Постоянный негативный ответ (команда не принята, пользовательскому процессу не следует выдавать эту же команду снова).

Примеры:150 – Успешный статус, открывается канал данных200 – Команда принята220 – Сервис готов для нового пользователя (при установлении соединения)226 – Канал данных закрыт, операция закончена227 – Установка пассивного режима (сообщаются IP и порт)230 – Пользователь авторизован331 – Пользователь идентифицирован, требуется аутентификация426 – Канал данных разорван, операция прервана500, 501 – Синтаксическая ошибка

Page 9: Петрозаводский госуниверситет ,  А. В. Соловьев , 200 7

Петрозаводский госуниверситет, А. В. Соловьев, 2007 СЕТЕВЫЕ ТЕХНОЛОГИИ

Параметры канала данных

Тип данных (TYPE): ASCII, IMAGE, (EBCDIC, LOCAL)ASCII – передача 8-битных текстовых данных (TELNET), строки должны заканчиваться <CR><LF>EBCDIC – передача 8-битных текстовых данных в кодировке EBCDIC, строки заканчиваются символом <NL>IMAGE – передача 8-битных бинарных данныхLOCAL – передача бинарных данных с указанной длиной байта в битах

Структура данных (STRU): FILE, RECORD, PAGEFILE – непрерывная последовательность байтRECORD – последовательная совокупность записейPAGE – нумерованная совокупность независимых страниц

Способ передачи данных (MODE): STREAM, BLOCK, COMPRESSEDSTREAM – поток байтBLOCK – серия блоков данных, предварённых заголовкомCOMPRESSED – поток данных с комбинациями, управляющими сжатием типа RLE

Page 10: Петрозаводский госуниверситет ,  А. В. Соловьев , 200 7

Петрозаводский госуниверситет, А. В. Соловьев, 2007 СЕТЕВЫЕ ТЕХНОЛОГИИ

Пример FTP-сеанса

220 (vsFTPd 2.0.3)USER anonymous331 Please specify the password.PASS ftp@localhost230 Login successful.SYST215 UNIX Type: L8PORT 192,168,1,13,12,12200 PORT command successful.LIST150 Here comes the directory listing.226 Directory send OK.PASV227 Entering Passive Mode (192,168,1,1,154,87)RETR example_racecond.c150 Opening BINARY mode data connection for example_racecond.c 226 File send OK.QUIT221 Goodbye.

S:(192.168.1.1:20) → C:(192.168.1.13:3084)-rwxr-xr-x 1 1000 1000 14757 a.out-rwxr-xr-x 1 1000 1000 14098 client-rw-r--r-- 1 1000 1000 782 example_fork.c-rw-r--r-- 1 1000 1000 1399 example_ghbn.c...

C:(192.168.1.1:xxx) → S:(192.168.1.1:39511)#include <signal.h>#include <unistd.h>#include <stdio.h>...

3084=12*256+12, 39511=154*256+87