Протокол FTP (SFTP, FTPS) — что это такое, соединение между клиентом и сервером по ФТП. Примеры сетевых файловых служб: FTP и NFS Как называется служба которая поддерживается ftp

Служба архивов FTP.

FTP-архивы являются одними из основных информационных ресурсов Internet. Фактически, это распределенный депозитарий текстов, программ, фотографий и прочей информации, хранящейся в виде файлов на различных компьютерах во всем мире.

Информация в FTP-архивах разделена, в основном, на три категории: Защищенная информация, режим доступа к которой определяется ее владельцами и разрешается по специальному соглашению с потребителем. К этому виду ресурсов относятся коммерческие архивы (к примеру, коммерческие версии программ в архивах ftp.microsoft.com ), закрытые национальные и международные некоммерческие ресурсы (например, работы по международным проектам CES или IAEA), частная некоммерческая информация со специальными режимами доступа (например,частные благотворительные фонды). Информационные ресурсы ограниченного использования, к которым относятся, например, программы класса shareware. В данный класс могут входить ресурсы ограниченного времени использования или ограниченного времени действия. Свободно распространяемые информационные ресурсы или freeware, если речь идет о программном обеспечении. К этим ресурсам относится все, что можно свободно получить по сети без специальной регистрации. Это может быть документация, программы или что-либо еще. Следует отметить,что свободно распространяемое программное обеспечение не имеет сертификата качества, но его разработчики открыты для обмена опытом.

Из выше перечисленных ресурсов наиболее интересными являются две последних категории, которые, как правило, оформлены в виде FTP-архивов.

Технология FTP была разработана в рамках проекта ARPA и предназначена для обмена большими объемами информации между машинами с различной архитектурой. Главным в проекте было обеспечение надежной передачи, поэтому с современной точки зрения FTP кажется перегруженным излишними редко используемыми возможностями. Стержень технологии составляет FTP-протокол.

FTP-протокол.

FTP (File Transfer Protocol, или “Протокол передачи данных”) - один из старейших протоколов в Internet и входит в его стандарты. Первые спецификации FTP относятся к 1971 году. С тех пор FTP претерпел множество модификаций и значительно расширил свои возможности. FTP может использоваться как в программах пользователей, так и в виде специальной утилиты операционной системы.

FTP предназначен для решения задач разделения доступа к файлам на удаленных хостах, прямого или косвенного использования ресурсов удаленных компьютеров, обеспечения независимости клиента от файловых систем удаленных хостов, эффективной и надежной передачи данных.

Обмен данными в FTP происходит по TCP-каналу. Обмен построен на технологии “клиент-сервер”. FTP не может использоваться для передачи конфиденциальных данных, поскольку не обеспечивает защиты передаваемой информации и передает между сервером и клиентом открытый текст. FTP-сервер может потребовать от FTP-клиента аутентификации (т.е. при присоединении к серверу FTP-пользователь должен будет ввести свой идентификатор и пароль). Однако пароль, и идентификатор пользователя будут переданы от клиента на сервер открытым текстом.

Модели работы FTP.

Простейшая модель работы протокола FTP представлена на рисунке 1. В FTP соединение инициируется интерпретатором протокола пользователя. Управление обменом осуществляется по каналу управления в стандарте протокола TELNET. Команды FTP генерируются интерпретатором протокола пользователя и передаются на сервер. Ответы сервера отправляются пользователю также по каналу управления. В общем случае пользователь имеет возможность установить контакт с интерпретатором протокола сервера и отличными от интерпретатора протокола пользователя средствами.

Команды FTP определяют параметры канала передачи данных и самого процесса передачи. Они также определяют и характер работы с удаленной и локальной файловыми системами.

Сессия управления инициализирует канал передачи данных. При организации канала передачи данных последовательность действий другая, отличная от организации канала управления. В этом случае сервер инициирует обмен данными в соответствии с согласованными в сессии управления параметрами.

Канал данных устанавливается для того же хоста, что и канал управления, через который ведется настройка канала данных. Канал данных может быть использован как для приема, так и для передачи данных.

Алгоритм работы протокола FTP состоит в следующем:

Сервер FTP использует в качестве управляющего соединение на TCP порт 21, который всегда находится в состоянии ожидания соединения со стороны пользователя FTP. После того как устанавливается управляющее соединение модуля “Интерпретатор протокола пользователя” с модулем сервера - “Интерпретатор протокола сервера”, пользователь (клиент) может отправлять на сервер команды. FTP-команды определяют параметры соединения передачи данных: роль участников соединения (активный или пассивный), порт соединения (как для модуля “Программа передачи данных пользователя”, так и для модуля “Программа передачи данных сервера”), тип передачи, тип передаваемых данных, структуру данных и управляющие директивы, обозначающие действия, которые пользователь хочет совершить (например, сохранить, считать, добавить или удалить данные или файл и другие). После того как согласованы все параметры канала передачи данных, один из участников соединения, который является пассивным (например, “Программа передачи данных пользователя”), становится в режим ожидания открытия соединения на заданный для передачи данных порт. После этого активный модуль (например, “Программа передачи данных сервера”) открывает соединение и начинает передачу данных. После окончания передачи данных, соединение между “Программой передачи данных сервера” и “Программой передачи данных пользователя” закрывается, но управляющее соединение “Интерпретатора протокола сервера” и “Интерпретатора протокола пользователя” остается открытым. Пользователь, не закрывая сессии FTP, может еще раз открыть канал передачи данных.

Возможна ситуация, когда данные могут передаваться на третью машину. В этом случае пользователь организует канал управления с двумя серверами и прямой канал данных между ними. Команды управления идут через пользователя, а данные - напрямую между серверами. Канал управления должен быть открыт при передаче данных между машинами. Иначе, в случае его закрытия передача данных прекращается. Соединение с двумя серверами показано на рисунке 2.

Алгоритм работы при соединение двух FTP-серверов, ни один из которых не расположен на локальном хосте пользователя:

Модуль “Интерпретатор протокола пользователя” указал модулю сервера “Интерпретатор протокола сервера 1” работать в пассивном режиме, после чего модуль “Интерпретатор протокола сервера 1” отправил пользователю адрес и номер порта (N) , который он будет слушать. Модуль “Интерпретатор протокола пользователя” назначил модуль сервера 2 “Интерпретатор протокола сервера 2” в качестве активного участника соединения и указал ему передавать данные на хост “Интерпретатор протокола сервера 1” на порт (N). “Интерпретатор протокола пользователя” подал “Интерпретатору протокола сервера 1” команду “сохранить поступившие данные в таком-то файле”, а “Интерпретатор протокола сервера 2” - “передать содержимое такого-то файла”. Между модулями “Интерпретатор протокола сервера 1” и “Интерпретатор протокола сервера 2” образуется поток данных, который управляется клиентским хостом. Ниже приведена схема организации передачи данных между двумя серверами FTP, соответствующая рисунку 2. Здесь использованы следующие обозначения: User PI - интерпретатор протокола пользователя; Server1(2) интерпретатор протокола сервера1 (сервера2).

User PI (U) Ы Server1 (S1) User PI (U) Ы Server2 (S2)
U Ю S1: Connect

U Ь S1: 227 Entering Passive Mode.

A1, A2, A3, A4, a1, a2

U Ю S2 Connect

U Ю S2: PORT A1, A2, A3, A4, a1, a2

U Ь S2: 200 Okay
U Ю S1: STOR ... U Ю S2: RETR ...

S1 Ю S2: Connect ...

Основу передачи данных FTP составляет механизм установления соединения между соответствующими портами и выбора параметров передачи. Каждый участник FTP-соединения должен поддерживать порт передачи данных по умолчанию. По умолчанию “Программа передачи данных пользователя” использует тот же порт, что и для передачи команд (обозначим его “U”), а “Программа передачи данных сервера” использует порт L-1, где “L”- управляющий порт. Однако, участниками соединения используются порты передачи данных, выбранные для них “Интерпретатором протокола пользователя”, поскольку из управляющих процессов участвующих в соединении, только “Интерпретатор протокола пользователя” может изменить порты передачи данных как у “Программы передачи данных пользователя”, так и у “Программы передачи данных сервера”.

Пассивная сторона соединения должна до того, как будет подана команда “начать передачу”, “слушать” свой порт передачи данных. Активная сторона, подающая команду к началу передачи данных, определяет направление перемещения данных.

После того как соединение установлено, между “Программой передачи данных сервера” и “Программой передачи данных пользователя” начинается передача. Одновременно по каналу “Интерпретатор протокола сервера” - “Интерпретатор протокола пользователя” передаются уведомления о получении данных. Протокол FTP требует, чтобы управляющее соединение было открыто, пока по каналу обмена данными идет передача. Сессия FTP считается закрытой только после закрытия управляющего соединения.

Как правило, сервер FTP ответственен за открытие и закрытие канала передачи данных. Сервер FTP должен самостоятельно закрыть канал передачи данных в следующих случаях:

Сервер закончил передачу данных в формате, который требует закрытия соединения. Сервер получил от пользователя команду “прервать соединение”. Пользователь изменил параметры порта передачи данных. Было закрыто управляющее соединение. Возникли ошибки, при которых невозможно возобновить передачу данных.

Команды протокола .

Команды управления контролем передачи данных, которыми обмениваются “Интерпретатор протокола сервера” и “Интерпретатор протокола пользователя”, можно разделить на три большие группы:

Команды управления доступом к системе. Команды управления потоком данных. Команды FTP-сервиса.

Рассмотрим несколько наиболее характерных команд из каждой группы. Среди команд управления доступом к системе следует отметить следующие:

USER. Как правило, эта команда открывает сессию FTP между клиентом и сервером. Аргументом команды является имя (идентификатор) пользователя для работы с файловой системой. Эта команда может подаваться не только в начале, но и в середине сессии, если, например, пользователь желает изменить идентификатор, от имени которого будут проводиться действия. При этом все переменные, относящиеся к старому идентификатору, освобождаются. Если во время изменения идентификатора происходит обмен данными, обмен завершается со старым идентификатором пользователя.

PASS. Данная команда подается после ввода идентификатора пользователя и, в качестве аргумента содержит пароль пользователя. Напомним, что данные аутентификации FTP передаются по сети открытым текстом, поэтому для обеспечения защищенности канала пользователю необходимо предпринимать дополнительные меры.

CWD. Команда позволяет пользователям работать с различными каталогами удаленной файловой системы. Аргументом команды является строка, указывающая путь каталога удаленной файловой системы, в котором желает работать пользователь.

REIN. Команда реинициализации. Эта команда очищает все переменные текущего пользователя, сбрасывает параметры соединения. Если в момент подачи команды происходит передача данных, передача продолжается и завершается с прежними параметрами.

QUIT. Команда закрывает управляющий канал. Если в момент подачи команды происходит передача данных, канал закрывается после окончания передачи данных.

Команды управления потоком устанавливают параметры передачи данных. Все параметры, описываемые этими командами имеют значение по умолчанию, поэтому команды управления потоком используются только тогда, когда необходимо изменить значение параметров передачи, используемых по умолчанию. Команды управления потоком могут подаваться в любом порядке, но все они должны предшествовать командам FTP-сервиса. Из команд управления потоком данных следует выделить следующие:

PORT. Команда назначает адрес и порт хоста, который будет использоваться как активный участник соединения по каналу передачи данных. Аргументами команды являются 32-битный IP адрес и 16-битный номер порта соединения. Эти значения разбиты на шесть 8-битных полей и представлены в десятичном виде: h1, h2, h3, h4, p1, p2, где hN - байты адреса (от старшего к младшему), а pN - байты порта (от старшего к младшему).

PASV. Эта команда отправляется модулю, который будет играть пассивную роль в передаче данных (“слушать” соединение). Ответом на данную команду должна быть строка, содержащая адрес и порт хоста, находящиеся в режиме ожидания соединения в формате команды PORT - “h1, h2, h3, h4, p1, p2”.

Команды TYPE, STRU, MODE определяют, соответственно, тип передаваемых данных (ASCII, Image и другие), структуру или формат передачи данных (File, Record, Page), способ передачи (Stream, Block и другие). Использование этих команд очень важно при построении взаимодействия в гетерогенных средах и весьма отличающихся операционных и файловых систем взаимодействующих хостов.

Команды FTP-сервиса определяют действия, которые необходимо произвести с указанными файлами. Как правило, аргументом команд этой группы является путь к файлу. Синтаксис указанного пути должен удовлетворять требованиям формата файловой системы обработчика команды. Из команд FTP-сервиса можно выделить следующие:

RETR. Эта команда указывает модулю “Программа передачи данных сервера” передать копию файла, заданного параметром этой команды, модулю передачи данных на другом конце соединения.

STOR. Команда указывает модулю “Программа передачи данных сервера” принять данные по каналу передачи данных и сохранить их как файл, имя которого задано параметром этой команды. Если такой файл уже существует, он будет замещен новым, если нет, будет создан новый.

Команды RNFR и RNTO должны следовать одна за другой. Первая команда содержит в качестве аргумента старое имя файла, вторая - новое. Последовательное применение этих команд переименовывает файл.

ABOR. Команда предписывает серверу прервать выполнение предшествующей сервисной команды (например, передачу файла) и закрыть канал передачи данных.

Команда DELE удаляет указанный файл.

Команды MKD и RMD, соответственно, создают и удаляют указанный в аргументе каталог.

При помощи команд LIST и NLST можно получить список файлов в указанном каталоге.

Все команды FTP-протокола отправляются “Интерпретатором протокола пользователя” в текстовом виде - по одной команде в строке. Каждая строка команды - идентификатор и аргументы - заканчиваются символами . Имя команды отделяется от аргумента символом пробела - .

Обработчик команд возвращает код обработки каждой команды, состоящий из трех цифр. Коды обработки составляют определенную иерархическую структуру и, как правило, определенная команда может возвратить только определенный набор кодов. За кодом обработки команды следует символ пробела - , затем следует текст пояснения. Например, строка успешного завершения операции выглядит следующим образом: “200 Command okay”.

Ниже приведен пример работы с FTP-протокола. Обозначения: S - сервер, U - пользователь.

S: 220 Service ready for new user
U: USER Gluk
> S: 331 User name okay, need password
U: PASS murmur
S: 230 User logged in, proceed
U: RETR test.txt
S: 150 File status okay; about to open data connection

<Идет передача файла...>

S: 226 Closing data connection, file transfer successful
U: TYPE I
S: 200 Command okay
U: STOR /home/images/first.my
S: 550 Access denied
U: QUIT

Протоколы TFTP и SFTP.

FTP-протокол имеет двух “младших братьев”: SFTP - Simple FTP и TFTP - Trivial FTP.

TFTP-протокол - это простейший протокол передачи файлов. Он работает поверх транспортного протокола UDP и обеспечивает выполнение только самых элементарных операций передачи файлов, а именно, записи и чтения файлов. TFTP был разработан как простой и легкий в применении протокол. Он не позволяет вызвать список каталога и не имеет никаких средств аутентификации, но может передавать 8-битную информацию в соответствии со всеми стандартами Internet.

Поскольку передача данных осуществляется поверх UDP, протокол TFTP реализует собственные методы надежной доставки данных - пакеты подтверждения, нумерация блоков данных и пакетов подтверждения и т.п. Все очень похоже на упрощенный вариант эмуляции протокола TCP.

TFTP работает лишь пятью командами:

Read request (RRQ) - запрос на чтение. Write request (WRQ) - запрос на запись. Data (DATA) - пакет данных. Acknowledgment (ACK) - подтверждение. Error (ERROR) - ошибка.

Процесс передачи данных начинается с поступления от клиента TFTP на сервер запроса на чтение или запись файла. Соединение устанавливается после получения подтверждения готовности на один из запросов, либо на запись, либо на чтение.

При открытии соединения, каждая из сторон выбирает (случайным образом) уникальный идентификатор - TID, который используется и UDP как порт соединения. Каждый пересылаемый пакет ассоциирован с двумя TID, соответствующими каждой стороне соединения. Первоначальный запрос отправляется инициатором TF TP-соединения на UDP-порт 69 (порт инициализации), в котором указывается порт соединения. Дальнейший обмен уже происходит через порты, выбранные участниками передачи данных.

Если сервер разрешает запрос, обмен открывается, и указанный файл передается (блоками по 512 байт). Каждый пакет передаваемых данных содержит один блок (512 байт) и номер блока в передаваемом потоке. Поступление каждого блока на хост назначения должно быть подтверждено пакетом ACK (подтверждение), с номером поступившего блока. Только после получения пакета подтверждения будет отправлен следующий пакет данных.

Если длина пакета менее 512 байт - это служит сигналом для закрытия канала связи. В случае потери пакета при передаче, через некоторый промежуток времени сервер отправит этот пакет данных повторно.

Три типа ситуаций порождают отправку ошибочных пакетов:

Не подтвержденный запрос, например, не был найден файл, нет прав доступа и др. Неправильный формат пакета, например, произошла ошибка коммутации. Потеря доступа к требуемому ресурсу.

При большом количестве сообщений об ошибках соединение может быть закрыто по инициативе одной из сторон.

Схема TFTP-транзакции следующая:

Хост A отправляет запрос WRQ хосту B. Порт источника - TIDA, порт назначения - 69. Пакет содержит имя файла, тип передачи. Хост B отправляет ACK (номер блока - 0) хосту A. Порт источника - TIDB, порт назначения - TIDA. Хост A отправляет (по соединению TIDA - TIDB) команду DATA и блок данных. Пакет также содержит номер блока.

SFTP-протокол передачи файлов пользуется популярностью в тех случаях, если пользователю необходим чуть более гибкий и надежный протокол, чем TFTP и не такой сложный и громоздкий, как FTP.

SFTP поддерживает механизмы идентификации пользователя, передачу файлов, просмотр каталогов, изменение текущего каталога, переименование и удаление файлов. В большинстве операций, которые пользователь проводит с удаленным FTP-сервером, этого сервиса вполне достаточно. SFTP может передавать 8-битный поток данных и использует, как TFTP, только один канал соединения - как для команд, так и для данных. В отличие от TFTP, SFTP работает поверх TCP, порт 115.

Команды SFTP отправляются поочередно, после получения ответа обработки предшествующей команды. Все команды состоят из четырех ASCII-символов и символа пробела, который отделяет команду от аргументов. Ответ сервера состоит из кода ответа и текстового сообщения. Каждая команда и ответ должны заканчиваться символом (‘

FTP (англ. File Transfer Protocol - протокол передачи файлов) - стандартный протокол, предназначенный для передачи файлов по TCP-сетям (например, Интернет). FTP часто используется для загрузки сетевых страниц и других документов с частного устройства разработки на открытые сервера хостинга.

Протокол построен на архитектуре "клиент-сервер" и использует разные сетевые соединения для передачи команд и данных между клиентом и сервером. Пользователи FTP могут пройти аутентификацию, передавая логин и пароль открытым текстом, или же, если это разрешено на сервере, они могут подключиться анонимно. Можно использовать протокол SSH для безопасной передачи, скрывающей (шифрующей) логин и пароль, а также шифрующей содержимое.

Достаточно яркая особенность протокола FTP в том, что он использует множественное (как минимум - двойное) подключение. При этом один канал является управляющим, через который поступают команды серверу и возвращаются его ответы (обычно через TCP-порт 21), а через остальные происходит собственно передача данных, по одному каналу на каждую передачу. Поэтому в рамках одной сессии по протоколу FTP можно передавать одновременно несколько файлов, причём в обоих направлениях. Для каждого канала данных открывается свой TCP порт, номер которого выбирается либо сервером, либо клиентом, в зависимости от режима передачи.

Протокол FTP имеет двоичный режим передачи, что сокращает накладные расходы трафика и уменьшает время обмена данными при передаче больших файлов. Протокол же HTTP обязательно требует кодирования двоичной информации в текстовую форму, например при помощи алгоритма Base64.

Начиная работу через протокол FTP, клиент входит в сессию, и все операции проводятся в рамках этой сессии (проще говоря, сервер помнит текущее состояние). Протокол HTTP ничего не "помнит" - его задача - отдать данные и забыть, поэтому запоминание состояния при использовании HTTP осуществляется внешними по отношению к протоколу методами.

FTP работает на прикладном уровне модели OSI и используется для передачи файлов с помощью TCP/IP. Для этого должен быть запущен FTP-сервер, ожидающий входящих запросов. Компьютер-клиент может связаться с сервером по порту 21. Это соединение (поток управления) остаётся открытым на время сессии. Второе соединение (поток данных), может быть открыт как сервером из порта 20 к порту соответствующего клиента (активный режим), или же клиентом из любого порта к порту соответствующего сервера (пассивный режим), что необходимо для передачи файла данных. Поток управления используется для работы с сессией - например, обмен между клиентом и сервером командами и паролями с помощью telnet-подобного протокола. Например, "RETR имя файла" передаст указанный файл от сервера клиенту. Вследствие этой двухпортовой структуры, FTP считается внешнеполосным протоколом, в отличие от внутриполосного HTTP.

Соединение и передача данных

Протокол определен в RFC 959. Сервер отвечает по потоку управления трехзначными ASCII-кодами состояния с необязательным текстовым сообщением. Например, "200" (или "200 ОК") означает, что последняя команда была успешно выполнена. Цифры представляют код ответа, а текст - разъяснение или запрос. Текущая передача по потоку данных может быть прервана с помощью прерывающего сообщения, посылаемого по потоку управления.

FTP может работать в активном или пассивном режиме, от выбора которого зависит способ установки соединения. В активном режиме клиент создаёт управляющее TCP-соединение с сервером и отправляет серверу свой IP-адрес и произвольный номер клиентского порта, после чего ждёт, пока сервер не запустит TCP-соединение с этим адресом и номером порта. В случае, если клиент находится за брандмауэром и не может принять входящее TCP-соединение, может быть использован пассивный режим. В этом режиме клиент использует поток управления, чтобы послать серверу команду PASV, и затем получает от сервера его IP-адрес и номер порта, которые затем используются клиентом для открытия потока данных с произвольного клиентского порта к полученному адресу и порту. Оба режима были обновлены в сентябре 1998 г. для поддержки IPv6. В это время были проведены дальнейшие изменения пассивного режима, обновившие его до расширенного пассивного режима.

При передаче данных по сети могут быть использованы четыре представления данных:

    ASCII - используется для текста. Данные, если необходимо, до передачи конвертируются из символьного представления на хосте-отправителе в "восьмибитный ASCII", и (опять же, если необходимо) в символьное представление принимающего хоста. Как следствие, этот режим не подходит для файлов, содержащих не только обычный текст.

    Режим изображения (обычно именуемый бинарным) - устройство-отправитель посылает каждый файл байт за байтом, а получатель сохраняет поток байтов при получении. Поддержка данного режима была рекомендована для всех реализаций FTP.

    EBCDIC - используется для передачи обычного текста между хостами в кодировке EBCDIC. В остальном, этот режим аналогичен ASCII-режиму.

    Локальный режим - позволяет двум компьютерам с идентичными установками посылать данные в собственном формате без конвертации в ASCII.

Для текстовых файлов предоставлены различные форматы управления и настройки структуры записи. Эти особенности были разработаны для работы с файлами, содержащими Telnet или ASA-форматирование.

Передача данных может осуществляться в любом из трёх режимов:

    Поточный режим - данные посылаются в виде непрерывного потока, освобождая FTP от выполнения какой бы то ни было обработки. Вместо этого, вся обработка выполняется TCP. Индикатор конца файла не нужен, за исключением разделения данных на записи.

    Блочный режим - FTP разбивает данные на несколько блоков (блок заголовка, количество байт, поле данных) и затем передаёт их TCP.

    Режим сжатия - данные сжимаются единым алгоритмом (обыкновенно, кодированием длин серий).

Аутентификация

FTP-аутентификация использует обычную схему имя пользователя/пароль для предоставления доступа. Имя пользователя посылается серверу командой USER, а пароль - командой PASS. Если предоставленная клиентом информация принята сервером, то сервер отправит клиенту приглашение и начинается сессия. Пользователи могут, если сервер поддерживает эту особенность, войти в систему без предоставления учётных данных, но сервер может предоставить только ограниченный доступ для таких сессий.

Анонимный FTP

Хост, обеспечивающий FTP-сервис, может предоставить анонимный доступ к FTP. Пользователи обычно входят в систему как "anonymous" в качестве имени пользователя. Хотя обычно пользователей просят прислать адрес их электронной почты вместо пароля, никакой проверки фактически не производится. Многие FTP-хосты, предоставляющие обновления программного обеспечения, поддерживают анонимный доступ.

NAT - PT

Специально для работы FTP-протокола через межсетевые экраны было сделано расширение NAT, называемое NAT-PT (rfc2766), позволяющее транслировать входящие соединения от сервера к клиенту через NAT. В процессе такого соединения NAT подменяет передаваемые данные от клиента, указывая серверу истинный адрес и порт, с которым сможет соединиться сервер, а потом транслирует соединение от сервера от этого адреса клиенту на его адрес. Несмотря на все меры и нововведения, принятые для поддержки FTP-протокола, на практике функция NAT-PT обычно отключается во всех роутерах и маршрутизаторах с целью обеспечения дополнительной безопасности от вирусных угроз.

NAT и обход брандмауэров

FTP обычно передает данные при наличии соединения сервера с клиентом, после того как клиент отправил команду PORT. Это создает проблему как для NAT, так и для брандмауэров, которые не разрешают соединения из интернета к внутренним хостам. Для NAT дополнительной проблемой является то, что представление IP-адресов и номера порта в команде PORT относится к IP-адресу и порту внутреннего хоста, вместо публичного IP-адреса и NAT-порта. Существует два подхода к этой проблеме. Первый заключается в том, что FTP-клиент и FTP-сервер используют команду PASV, которая вызывает соединение для передачи данных, установленное от клиента к серверу. Второй подход - изменение для NAT значений команды PORT с помощью шлюза на прикладном уровне.

Поддержка веб-браузерами

Большая часть обычных веб-браузеров может извлекать файлы, расположенные на FTP-серверах, хотя они могут не поддерживать расширения протоколов вроде FTPS. Когда указан FTP-адрес, а не HTTP-адрес, доступный контент на удалённом сервере представляется аналогично остальному веб-контенту. Полностью функциональный FTP-клиент может быть запущен в Firefox как расширение FireFTP.

Безопасность

FTP не разрабатывался как защищённый (особенно по нынешним меркам) протокол и имеет многочисленные уязвимости в защите. В мае 1999 авторы RFC 2577 свели уязвимости в следующий список проблем:

    Скрытые атаки (bounce attacks)

    Спуф-атаки (spoof attacks)

    Атаки методом грубой силы (brute force attacks)

    Перехват пакетов, сниффинг (packet capture, sniffing)

    Защита имени пользователя

    Захват портов (port stealing)

FTP не может зашифровать свой трафик, все передачи - открытый текст, поэтому имена пользователей, пароли, команды и данные могут быть прочитаны кем угодно, способным перехватить пакет по сети. Эта проблема характерна для многих спецификаций Интернет-протокола (в их числе SMTP, Telnet, POP, IMAP), разработанных до создания таких механизмов шифрования, как TLS и SSL. Обычное решение этой проблемы - использовать "безопасные", TLS-защищенные версии уязвимых протоколов (FTPS для FTP, TelnetS для Telnet и т.д.) или же другой, более защищённый протокол, вроде SFTP/SCP, предоставляемого с большинством реализаций протокола Secure Shell.

Безопасный FTP

Существует несколько методов безопасной передачи файлов, в одно или другое время называемых "Безопасным FTP": FTPS, SFPS, FTP через SSH.

Явный FTPS - расширение стандарта FTP, позволяющее клиентам требовать того, чтобы FTP-сессия была зашифрована. Это реализуется отправкой команды "AUTH TLS". Сервер обладает возможностью позволить или отклонить соединения, которые не запрашивают TLS. Это расширение протокола определено в спецификации RFC 4217. Неявный FTPS - устаревший стандарт для FTP, требующий использования SSL- или TLS-соединения. Этот стандарт должен был использовать отличные от обычного FTP порты.

SFTP, или «SSH File Transfer Protocol», не связан с FTP, за исключением того, что он тоже передаёт файлы и имеет аналогичный набор команд для пользователей. SFTP, или безопасный FTP, - это программа, использующая SSH (Secure Shell) для передачи файлов. В отличие от стандартного FTP он шифрует и команды, и данные, предохраняя пароли и конфиденциальную информацию от открытой передачи через сеть. По функциональности SFTP похож на FTP, но так как он использует другой протокол, клиенты стандартного FTP не могут связаться с SFTP-сервером и наоборот.

FTP через SSH (не SFTP )

FTP через SSH (не SFTP) относится к практике туннелирования обычной FTP-сессии через SSH-соединение. Поскольку FTP использует несколько TCP-соединений, туннелирование через SSH особенно затруднительно. Когда много SSH-клиентов пытаются установить туннель для канала управления (изначальное "клиент-сервер" соединение по порту 21), защищён будет только этот канал; при передаче данных программное обеспечение FTP на любом конце установит новые TCP-соединения (каналы данных), которые обойдут SSH-соединение и, таким образом, лишатся целостной защиты.

Иначе, для клиентского программного обеспечения SSH необходимо иметь определённые знания о FTP для отслеживания и перезаписи сообщений потока управления FTP и автономного открытия новых перенаправлений для потока данных FTP.

FTP через SSH иногда относят к безопасным FTP; но не стоит путать его с другими методами, такими как SSL/TLS (FTPS). Другие методы передачи файлов с помощью SSH и не связанные с FTP - SFTP и SCP; в каждом из них и учётные и файловые данные всегда защищены протоколом SSH.

FXP (англ. File eXchange Protocol - протокол обмена файлами) - способ передачи файлов между двумя FTP-серверами напрямую, не закачивая их на свой компьютер. При FXP-сессии клиент открывает два FTP-соединения к двум разным серверам, запрашивая файл на первом сервере, указывая в команде PORT IP-адрес второго сервера.

Несомненным преимуществом поддержки стандарта FXP является то, что на конечных пользователей, желающих скопировать файлы с одного FTP-сервера на другой, уже не действует ограничение пропускной способности их собственного интернет-соединения. Нет необходимости скачивать себе файл, чтобы потом загрузить его на другой FTP-сервер. Таким образом, время передачи файлов будет зависеть только от скорости соединения между двумя удаленными FTP-серверами, которая в большинстве случаев заведомо больше «пользовательской».

FXP стал использоваться злоумышленниками для атак на другие серверы: в команде PORT указывается IP-адрес и порт атакуемого сервиса на компьютере жертвы, и командами RETR/STOR производится обращение на этот порт от лица FTP-сервера, а не атакующей машины, что позволяло устраивать масштабные DDoS-атаки с использованием сразу многих FTP-серверов, либо обходить систему безопасности компьютера жертвы, если он полагается только на проверку IP клиента и используемый для атаки FTP-сервер находится в доверенной сети или на шлюзе. В результате сейчас практически все серверы проверяют соответствие IP-адреса, указанного в команде PORT, IP-адресу FTP-клиента и по умолчанию запрещают использование там IP-адресов третьих сторон. Таким образом, использование FXP невозможно при работе с публичными FTP-серверами.

Основные команды

    ABOR - Прервать передачу файла

    CDUP - Сменить директорию на вышестоящую.

    CWD - Сменить директорию.

    DELE - Удалить файл (DELE filename).

    EPSV - Войти в расширенный пассивный режим. Применяется вместо PASV.

    HELP - Выводит список команд, принимаемых сервером.

    LIST - Возвращает список файлов директории. Список передаётся через соединение данных.

    MDTM - Возвращает время модификации файла.

    MKD - Создать директорию.

    NLST - Возвращает список файлов директории в более кратком формате, чем LIST. Список передаётся через соединение данных.

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

    PASV - Войти в пассивный режим. Сервер вернёт адрес и порт, к которому нужно подключиться, чтобы забрать данные. Передача начнётся при введении следующих команд: RETR, LIST и т.д.

    PORT - Войти в активный режим. Например PORT 12,34,45,56,78,89. В отличие от пассивного режима для передачи данных сервер сам подключается к клиенту.

    PWD - Возвращает текущую директорию.

    QUIT - Отключиться

    REIN - Реинициализировать подключение

    RETR - Скачать файл. Перед RETR должна быть команда PASV или PORT.

    RMD - Удалить директорию

    RNFR и RNTO - Переименовать файл. RNFR - что переименовывать, RNTO - во что.

    SIZE - Возвращает размер файла

    STOR - Закачать файл. Перед STOR должна быть команда PASV или PORT.

    SYST - Возвращает тип системы (UNIX, WIN, …)

    TYPE - Установить тип передачи файла (бинарный, текстовый)

    USER - Имя пользователя для входа на сервер

Электронная почта (E-mail)

Электронная почта - это сетевая служба, которая дает возможность пользователям посылать и получать электронные сообщения. Обычно сообщение посылается в виде текста, адресат получает его на своем компьютере через какой-то промежуток времени и читает тогда, когда ему будет удобно.
Электронная почта универсальна. Множество сетей во всем мире, даже построенных на совершенно других принципах и протоколах, чем Internet, могут обмениваться электронными письмами с ней, получая тем самым доступ к прочим ее ресурсам.
Почтовая служба основана на двух прикладных протоколах: SMTP и РОРЗ. По первому происходит отправка корреспонденции с компьютера на сервер, а по второму - прием поступивших сообщений. Существует большое разнообразие клиентских почтовых программ. К ним относится программа Outlook Express, входящая в состав операционной системы Windows как стандартная.
Электронное письмо состоит из заголовка, содержащего служебную информацию, и содержимого письма. Почти все программы чтения/отправки почты скрывают полный заголовок от пользователя, оставляя для просмотра только некоторые поля. Обычно это адрес и имя отправителя, тема, дата. Список полей заголовка для показа задается при конфигурировании программы, и пользователь может его пополнять или сокращать в зависимости от своего желания. За заголовком следует тело письма. Именно в нем и содержится та информация, которую хотел сообщить отправитель письма адресату.
Само послание, как правило, текстовый файл достаточно произвольной формы. При передаче нетекстовых данных (исполняемой программы, графической информации) применяется перекодировка сообщений, которая выполняется программными средствами.
Чтобы отправить письмо, необходимо знать адрес. Все E-mail-адреса Internet выглядят одинаково. Например, [email protected]. Адрес состоит из двух частей, разделенных символом @. Слева находится имя пользователя (имя почтового ящика), справа - имя домена (имя машины). При рассмотрении имени домена справа налево и разбиении его по точкам на отдельные слова получается набор, описывающий ее положение в сети.
Самое правое слово (в нашем случае RU) называется доменом верхнего уровня и чаще всего (но не всегда) указывает код страны, в которой находится адресат. Домен верхнего уровня может обозначать название сети, в которой находится адресат. BRATSK - регион (может быть название города), ISEA - фирма, IS - подразделение фирмы. Адреса и почтовые ящики обычно получают у администратора сети. Для Internet важна правая часть адреса. Имя домена - это уникальное имя, присвоенное конкретному компьютеру в Internet. Достоинствами электронной почты являются:



§ простота использования (самое сложное здесь - соединение с Internet первый раз);

§ высокая скорость передачи сообщений;

§ дешевизна (плата берется только за соединение);

§ сообщения электронной почты легко хранить (в виде файлов);

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

К недостаткам электронной почты можно отнести слабую защиту сообщений (возможность доступа третьих лиц).
Надежность электронной почты сильно зависит от того, какие используются почтовые программы, насколько удалены друг от друга отправитель и адресат письма, и особенно от того, в одной они сети, или в разных.

Телеконференции (UseNet).

Телеконференции - вторая по распространенности служба Интернета, предоставляющая отложенные услуги.
Служба телеконференций состоит из множества тематических телеконференций - групп новостей (newsgroup), поддерживаемых серверами новостей. Сервер новостей - это компьютер, который может содержать тысячи групп новостей самых разнообразных тематик.
Группа новостей - это набор сообщений по определенной теме. Новости разделены по иерархически организованным тематическим группам, и имя каждой группы состоит из имен подуровней. Существуют как глобальные иерархии, так и иерархии, локальные для какой-либо организации, страны или сети. Набор групп, получаемых сервером телеконференций, определяется его администратором и их наличием на других серверах, с которыми данный сервер обменивается новостями.
Доступ к группам новостей осуществляется через процедуру подписки, которая состоит в указании координат сервера новостей и выбора интересующих пользователя групп новостей. Следует заметить, что каждый сервер новостей имеет определенный набор конференций, и, если интересующая тематика на нем не найдена, можно попробовать использовать другой сервер. Данная процедура, а также работа с группами новостей осуществляется с помощью программного обеспечения, поддерживающего эти функции, например, широко распространенным приложением компании Microsoft - Outlook Express.
В обсуждении темы телеконференции может участвовать множество людей, независимо от того, где они находятся физически. Обычно, хотя это и не является правилом, за порядком в конференциях следят специальные люди, так называемые модераторы. В их обязанности входит поддержание порядка в конференции в соответствие с установленными в ней правилами поведения и ее тематикой.
Наряду с описанной формой служб телеконференции широкое распространение получили WWW-телеконференции, также называемые форумами. Отличие состоит в том, что они работают через web-интерфейс, и размещаются не централизованно на серверах новостей, а на web-сайтах.
Вы можете узнать больше о USENET и правилах по его использованию на большом количестве сайтов в Интернет. Помимо них в каждой группе обычно имеются собственные правила, которые периодически публикуются в самой news-группе модератором (координатором данной news группы). В зависимости от степени контроля news-группы условно можно разделить на три типа:

· модерируемые: сообщение в группу помещает модератор данной группы (он рассматривает каждое сообщение и решает, стоит ли его туда помещать);

· немодерируемые: сообщения в группу может помещать любой пользователь;

· постмодерируемые: этот тип представляет собой компромисс предыдущих двух (сообщения в группу может поместить любой пользователь, но модератор имеет право его удалить, если решит, что сообщение некорректно).

Область распространения сообщений каждой news-группы может быть ограничена каким-либо регионом, сообществом сетей и т.п.
Основной прием использования групп новостей состоит в том, чтобы задать вопрос, обращаясь ко всему миру, и получить ответ или совет от тех, кто с этим вопросом уже разобрался. При этом важно следить за тем, чтобы содержание вопроса соответствовало теме данной телеконференции. Многие квалифицированные специалисты мира регулярно просматривают сообщения телеконференций, проходящие в группах, касающихся их сфер деятельности. Такой просмотр называется мониторингом информации.
При отправке сообщений в телеконференции принято указывать свой адрес электронной почты для обратной связи.

Списки рассылки (maillists) - простой, но в то же время весьма полезный сервис Интернет. Это практически единственный сервис, не имеющий собственного протокола и программы-клиента и работающий исключительно через электронную почту.
Идея работы списка рассылки состоит в том, что существует некий адрес электронной почты, который на самом деле является общим адресом многих людей - подписчиков этого списка рассылки. Вы посылаете письмо на этот адрес, и ваше сообщение получат все люди, подписанные на этот список рассылки.
Такой сервис по задачам, которые он призван решать, похож на сетевые новости Usenet, но имеет и существенные отличия.
Во-первых, сообщения, распространяемые по электронной почте, всегда будут прочитаны подписчиком, дождавшись его в почтовом ящике, в то время как статьи в сетевых новостях стираются по прошествии определенного времени и становятся недоступны.
Во-вторых, списки рассылки более управляемы и конфиденциальны: администратор списка полностью контролирует набор подписчиков и может следить за содержанием сообщений. Каждый список рассылки ведется какой-либо организацией, и она обладает полным контролем над списком.
В-третьих, для работы со списком рассылки достаточно доступа к электронной почте, и подписчиками могут быть люди, не имеющие доступа к новостям Usenet или каким-либо группам этих новостей.
В-четвертых, такой способ передачи сообщений может быть просто быстрее, коль скоро сообщения передаются напрямую абонентам, а не по цепочке между серверами Usenet.
Однако, сравнивая списки рассылки и новости Usenet, надо отметить, что часто группы Usenet могут также быть доступны и через списки рассылки, и другими способами - через WWW-интерфейс. Это значит, что вы можете использовать тот способ работы, который более удобен для вас.
Ситуации, когда применяются списки рассылки как адекватное средство решения стоящих задач, достаточно характерны.
Во-первых, организации часто создают списки рассылки для оповещения своих клиентов, пользователей своих продуктов или просто заинтересованных лиц о выпуске новых продуктов, коммерческих предложениях, различных новостях компании.
Вторая ситуация, когда требуется заведение списка рассылки - когда обсуждается какой-то вопрос, слишком специфичный и интересующий слишком мало людей для того, чтобы заводить для него отдельную группу в новостях Usenet.
В-третьих, списки рассылки часто заводятся виртуальными рабочими группами - людьми, работающими над одной проблемой, но живущими в различных точках планеты.
В зависимости от числа подписчиков, список рассылки обслуживается на сервере программами различной сложности, которые могут обеспечивать полную функциональность.
Спискам рассылки также свойственны некоторые недостатки и сложности. Если вы подписаны на несколько оживленных списков, то в один из дней вы можете обнаружить, что ваш почтовый ящик забит письмами из списков рассылки, и в их множестве теряются личные письма, которые интересуют вас в первую очередь. Чтобы не возникало такой ситуации, полезно воспользоваться программой, раскладывающей письма из списков рассылки по отдельным папкам в момент получения (обычно такие письма можно распознать по их почтовым заголовкам).
Другая трудность состоит в том, что иногда бывает сложно отменить подписку, больше не представляющую для вас интереса.

Удаленный доступ (TelNet)

Приложения, позволяющие осуществить заход удаленным терминалом, очень популярны в Internet. TelNet – одна из самых старых информационных технологий Интернета, относящаяся к сервисам прямого обращения. Под TelNet понимают триаду, состоящую из TelNet-интерфейса пользователя, TelNet-процесса и TelNet-протокола. Эта триада обеспечивает описание и реализацию сетевого терминала для доступа к ресурсам удаленного компьютера.
TelNet строится как протокол приложения над транспортным протоколом TCP. В основу TelNet положены три фундаментальные идеи:

· Концепция сетевого виртуального терминала NVT (Network Virtual Terminal).

· Принцип договорных опций (согласование параметров взаимодействия).

· Симметрия связи «терминал-процесс».

Назначение TelNet-протокола дать общее описание двунаправленного восьмибитового взаимодействия, главной целью которого является обеспечение стандартного метода взаимодействия терминального устройства и терминал-ориентированного процесса. При этом протокол может быть использован и для организации взаимодействия «терминал-терминал» (связь) и «процесс-процесс» (распределенные вычисления).
Приложения удаленного терминала используют стандарт клиент-сервер.
1. Клиент Telnet взаимодействует и с пользователем, находящимся за терминалом, и с протоколами TCP/IP. Обычно, все что пользователь вводит с клавиатуры, отправляется по TCP соединению, а все что приходит по соединению попадает на терминал.
2. Устанавливается только одно TCP соединение. Так как существуют моменты, когда Telnet-клиент должен общаться с Telnet-сервером (и наоборот), должны существовать способы, позволяющие отделить команды, которые посылаются по соединению, от пользовательских данных.
При установке TelNet-соединения программа, работающая с реальным терминальным устройством, и процесс обслуживания этой программы используют для обмена информацией спецификацию представления правил функционирования терминального устройства NVT. Спецификация NVT – это стандартное описание наиболее широко используемых возможностей реальных физических терминальных устройств, позволяющее преобразовывать в стандартную форму способы отображения и ввода информации.
Протокол TELNET позволяет вам подсоединиться к удаленному компьютеру и работать с ним, как будто бы вы используете локальную систему.
На практике ваши возможности лимитируются тем уровнем доступа, который задал для вас администратор удаленной системы. Во всяком случае, вы должны иметь свой идентификатор ID (userid или username) и пароль для входа в систему. В сетях TCP/IP существуют два приложения, позволяющие осуществить терминальный заход.
Telnet - стандартное приложение, которое присутствует практически в каждой реализации TCP/IP. Оно может быть использовано для связи между хостами, работающими под управлением различных операционных систем.
Программа Rlogin была разработана для того, чтобы работать только между Unix системами, однако впоследствии эта программа была перенесена и на другие операционные системы.

Служба передачи файлов FTP

Прием и передача файлов составляют значительный процент от прочих Интернет-услуг.
FTP (file transfer protocol) - протокол передачи файлов, но при рассмотрении FTP как службы Интернета имеется в виду не просто протокол, а именно служба доступа к файлам в файловых архивах. Служба FTP имеет свои серверы в мировой сети, на которых хранятся архивы данных. Объемы информации в FTP-архивах очень значительны. Практически любой архив строится как иерархия каталогов. Многие архивы дублируют информацию из других архивов (зеркала).
Протокол FTP работает одновременно с двумя ТСР-соединениями между сервером и клиентом. По одному соединению идет передача данных, а второе соединение используется как управляющее. Протокол FTP также предоставляет серверу средства для идентификации обратившегося клиента. Однако существуют FTP-серверы с анонимным доступом для всех желающих.
Преимущества использования FTP:

a. Возможность передавать файлы через Интернет (при помощи данного протокола можно скачивать на свой компьютер любые файлы: MP3, ZIP архивы, текстовые и программы).

b. Возможность удалённо управлять файлами компьютера.

c. Удобство в работе с файлами.

Для работы с FTP необходимы специальные программы, которые и обеспечивают данный протокол. Есть несколько типов FTP-программ.
1. FTP-сервер - это специальная программа, запущенная на компьютере и работающая на нём в фоновом режиме. Она делает из обычного компьютера FTP-сервер, с которого можно скачать файлы или закачать. Она отслеживает все запросы приходящие от других компьютеров, обрабатывает их и даёт ответ. При установке сервера FTP указывается доступная для других программ клиентов директория. Все файлы и директории имеют свои атрибуты, которые ограничивают к ним доступ с удалённых компьютеров. Например, можно сделать так, чтобы один файл был доступен только для чтения, другой только для выполнения, третий только для записи, четвёртый полностью открыт для других машин и так далее. То же самое и с директориями.
2. FTP-клиент - это специальная программа, которая работает с FTP-серверами. Она предназначена для подачи запросов серверам и приёму информации. Фактически она устроена также как и сервер, только управляется она с локальной машины либо автоматически, либо человеком. Управлять клиентом через сеть нельзя. FTP-клиенты могут предоставлять пользователям удобный интерфейс.
Другой тип FTP-клиентов - это программы менеджеры загрузки (Go!Zilla, ReGet). Они позволяют пользователям удобно осуществлять загрузку файлов с WEB-серверов. Особенность этих программ заключается в том, что они умеют интегрироваться с браузером и автоматически перехватывать у него файлы, которые Вы скачиваете со страниц. FTP загрузчики позволяют Вам осуществлять докачку в случае обрыва связи, они обычно имеют красивый интерфейс и удобное управление. Они могут осуществлять загрузку по расписанию.
Из-за большого количества FTP-серверов очень трудно определить, на каком из них находится нужный файл. В качестве интерактивного средства поиска файлов обычно используется протокол ARCHIE.
ARCHIE - вспомогательная услуга, которая облегчает работу с FТР-серверами, организуя поиск файлов на этих серверах. Серверы ARCHIE «помнят» списки всех файлов на многих FTP-серверах во всем мире и по запросу могут искать необходимый файл по имени или по части имени. Пользователь задает шаблон для поиска, указывает характеристики поиска. В ответ он получает список имен серверов и мест расположения на них файлов, удовлетворяющих запросу.

Интерактивное общение

Интерактивная услуга - услуга, ориентированная на удовлетворение информационных потребностей пользователей путем предоставления информационных продуктов в диалоговом режиме. В 1998 году разработчики израильской компании Mirabilis создали специальное программное обеспечение ICQ и перенесли возможности вызова абонентов в сеть Интернет. Программа получила название Интернет-пейджера.
Для пользования этой службой надо зарегистрироваться на ее центральном сервере (http://www.icq.com) и получить персональный идентификационный номер UIN (Universal Internrt Number). Данный номер можно сообщить партнерам по контактам. Зная номер партнера, можно через центральный сервер службы отправить ему сообщение с предложением установить соединение.
Сервера, поддерживающие ICQ, часто объединяются в Интернет-пейджинговые сети. Сервис позволяет вести переговоры реальном времени, передавать графики, осуществлять голосовую и видео-связь, обмениваться файлами. (QIP, Miranda).
Сервисная система IRC - это многопользовательская, предназначенная для чата многоканальная сеть, с помощью которой пользователи могут беседовать в режиме реального времени независимо от своего месторасположения. Узлы IRC синхронизованы между собой, так что, подключившись к ближайшему серверу, Вы подключаетесь ко всей сети IRC. При подключении к серверу IRC с помощью программы клиента IRC пользователь видит список доступных каналов, в каждый из которых (или сразу в несколько) он может «войти». Канал в IRC - это определенная группа пользователей, имеющая имя (обычно имя начинается символом #). Сообщения, посланные в канал (адресованные группе), получают все пользователи этой группы.
Каждый канал имеет своё название и, как правило, определённую тему для обсуждения. После «входа» в канал пользователь может видеть, что пишут остальные участники канала, а также может сам принять участие. Тема, обсуждаемая на канале, обычно следует из его названия.
В IRC нет ограничения на количество людей, которые могут находиться одновременно на канале, а также нет никаких ограничений на количество каналов, которые могут формироваться на IRC.
IRC-сервер - это программа, запущенная на сервере у Интернет-провайдера (как правило) и выполняющая две основные задачи: предоставление пользователям возможности подключения к IRC-сети и ретрансляцию сообщений пользователям на других IRC-серверх в этой сети.
IRC-клиент - это программа пользователя, позволяющая ему подключаться к IRC-серверу и общаться на каналах и в привате с другими пользователями. Существует несколько популярных клиентских программ для работы с серверами и сетями, поддерживающими сервис IRC.
Не смотря на то, что IRC существует достаточно много лет, в коммерческой деятельности современных компаний, этот стандарт практически не применяется. Основным его предназначением остается обсуждение самого широкого круга вопросов между пользователями Интернета.
В свое время чаты, в основе которых лежал стандарт IRC, получили достаточно широкое распространение. Однако сегодня все более популярными становятся чаты, проводимые на отдельных web-сайтах и основывающиеся либо на языке HTML, либо на языке Java. Это позволяет пользователям Интернета участвовать в них без установки дополнительного программного обеспечения, используя только стандартный браузер: число потенциальных участников становится максимальным.
С другой стороны, возможность установки на корпоративном сайте компании системы, обеспечивающей работу чата, позволяет широко использовать эту службу в коммерческих целях, например для обсуждения с потребителями тех или иных вопросов деятельности предприятия, обсуждения продукции, системы обслуживания и т. д. Особую группу сервисов Интернет являют собой сервисы, использующие Интернет как среду передачи информации.

сценарий VBScript iisftp.vbs , обеспечивающий управление службами FTP через командную строку.

Консоль Computer Management используется администраторами, которые управляют своими серверами Windows с помощью MMC . Оснастка Computer Management применяется и для удаленного администрирования , поскольку ее можно запускать на рабочей станции и подключать к администрируемому серверу.

Сценарий iisftp.vbs обеспечивает те же самые функции по администрированию, что и Computer Management , включая возможность удаленного управления узлом. Сценарий iisftp позволяет автоматизировать задачи с помощью сценария или взаимодействия с другими сценариями. Сценарий используется для выполнения программных действий FTP -сервера, основанных на логике сценария, и может быть запущен планировщиком задач или пользователем.

Давайте подробно рассмотрим оснастку ММС Computer Management (Управление компьютером).

  1. В меню Start (Пуск) выберите All Programs\Administrative Tools\ Computer Management (Программы\Администрирование\Управление компьютером).
  2. Щелкните на значке Services And Applications (Службы и приложения).
  3. Щелкните на значке Internet Information Services (IIS) Manager (Диспетчер IIS), затем – на папке с именем FTP Sites (FTP-узлы).
  4. Если папка FTP Sites отсутствует, то, вероятно, служба FTP не установлена. Установку служб FTP нужно хорошо обдумать и спланировать, поскольку при инсталляции IIS этот компонент не устанавливается по умолчанию. Для установки службы FTP откройте Control Panel (Панель управления).
  5. Выберите Add And Remove Programs (Установка и удаление программ).
  6. В левой части окна Add And Remove Programs выберите Add And Remove Windows Components (Установка и удаление компонентов Windows). Откроется окно Windows Components Wizard (Мастер компонентов Wndows).
  7. В списке компонентов Windows Component Wizard выберите Application Server (Сервер приложений), затем нажмите на кнопку Details (Состав).
  8. В окне Application Server в списке Subcomponents Of Application Server (Компоненты сервера приложений) выберите Internet Information Services. Затем нажмите на кнопку Details (Состав).
  9. В окне Internet Information Services в списке Subcomponents Of Internet Information Services (Компоненты Internet Information Services) появится выделенный пункт File Transport Protocol (FTP) (Протокол передачи файлов FTP). Щелкните на нем для установки служб FTP.

В консоли MMC разверните все значки, связанные с нужными узлами, для отображения иерархической связи служб и вхождений конфигураций сайта. После установки службы FTP разверните узел FTP Sites ( FTP -узлы) для отображения FTP -сайтов узла. Щелкните на любом из узлов FTP (если таковые существуют) для отображения виртуальных каталогов FTP -сайта (если таковые существуют). При первоначальной установке компонента FTP Services (Службы FTP ) создается FTP - сайт по умолчанию с именем Default FTP Site ( FTP - сайт по умолчанию).

Для выполнения сценария iisftp.vbs выберите Start/Run (Пуск/Выполнить), введите в строке команду CMD и нажмите на клавишу OK. Выполните сценарий iisvbs в открывшемся командном окне. При запуске сценария iisftp.vbs непосредственно из командной строки Run откроется командное окно, команда выполнится, и окно закроется. Таким образом, исключается обратная связь , и вы не узнаете об успешном или ошибочном выполнении команды. Запуск iisvbs в открытом командном окне обеспечит вывод информации о состоянии работы. Окно останется открытым после окончания выполнения команды, и вы сможете просмотреть результаты.

В командном окне введите с клавиатуры iisftp с ключами и аргументами, определяющими действия сценария. Сценарий iisftp.vbs расположен в каталоге \Windows\System32\ ; переменная PATH , установленная на сервере, описывает данное место расположения, поэтому не нужно вводить полный путь к сценарию. Для получения справки по iisftp выполните следующую команду:

На экране отобразится справочная информация о ключах сценария, аргументах и действиях, выполняемых с помощью тех или иных ключей и аргументов.

Предварительные сведения о Windows Script Host

Windows Script Host (WSH) представляет собой программный компонент операционной системы Windows, обрабатывающий сценарии. Сценарии позволяют формировать выходные данные для диалоговых или командных окон. Исполняемый файл WSH, обрабатывающий сценарий с использованием окна, называется Wscript.exe . Исполняемый файл WSH, обрабатывающий сценарий с использованием командного окна, называется Cscript.exe . Windows использует один из этих файлов по умолчанию для обработки сценариев. Стандартную настройку можно изменить при помощи следующей команды:

<имя файла WSH для обработки сценария> //h: <имя файла WSH для обработки сценария>

Например, для настройки WSH на использование командных окон в качестве исполнителя сценариев по умолчанию выполните следующую команду:

CScript //h: CScript

Для разных сценариев требуются различные исполнители. Администраторы, как правило, отдают предпочтение исполнителю CScript . Для сценария iisftp данный исполнитель является обязательным. Если WS03 настроен на использование Wscript по умолчанию, при первом выполнении iisftp откроется диалоговое окно с сообщением, что для выполнения сценария требуется Cscript . После его закрытия появится второе диалоговое окно, предлагающее изменить стандартную настройку WS03 на использование CScript . При нажатии на кнопку Yes (Да) CScript будет установлен в качестве стандартного исполнителя WSH. При повторном запуске сценарий iisftp выполнится с использованием CScript .

Чаще всего пользователи для обмена в сети файлами небольших размеров используют почту или Скайп. Однако, когда необходимо переслать архив фотографий или фильм, размером в несколько гигабайт, этими сервисами воспользоваться нельзя. Публичный файлообменник тоже создаёт некоторые трудности, например, ожидание таймера и ограничение скорости. Наилучшее решение в таком случае - создать собственный FTP-сервер.

FTP (File Transfer Protocol) - это протокол передачи информации в интернете и локальных компьютерных сетях. Это программа, осуществляющая удалённое подключение к выделенной папке для просмотра и обмена файлами, в том числе больших размеров. Обмен данными возможен от компьютера к удалённому серверу и между другими ФТП-серверами.

Данные передаются без шифрования трафика, поэтому доступ к логинам и паролям легко могут получить злоумышленники. Для безопасной передачи файлов рекомендуется использовать протокол с TLS-защитой - FTPS, шифрующий данные.

Собственный FTP-сервер имеет определённые преимущества:

  • позволяет управлять сервером и его ресурсами;
  • предоставлять пользователям разные права доступа;
  • для него не нужен статический IP-адрес.
  • нет ограничений скорости;
  • отсутствие оплаты хостеру за его размещение;

В соответствии с тем, какой сложности будет доступ, выбирается программное обеспечение. Чтобы создать FTP-сервер для частного пользования с минимальными настройками,вполне подойдут бесплатные программные пакеты.

Компанией Майкрософт в Windows 7 добавлена функция Internet Information Services (IIS), осуществляющая общий доступ из сети к выделенной для этой цели папке. Поэтому, чтобы создать FTP-сервер для Windows 7, не требуется дополнительно устанавливать ПО.

Установка FTP-сервера

Некоторые стандартные возможности, которыми пользуются не так часто, в Windows 7 отключены по умолчанию. Поэтому, чтобы их активировать, необходимо выполнить ряд шагов.

Для создания ФТП-сервера на Windows 7 необходимо:

  • Нажать «Пуск» и открыть раздел «Панель управления». Для удобства просмотра можно выбрать режим «Мелкие значки».

  • Перейти в раздел «Программы и компоненты», где выбрать «Включение или отключение компонентов Windows».

  • В списке открывшегося меню нужно отметить компоненты, которые следует активировать, поставив рядом галочку. Это папка «FTP-сервер», в ней два пункта: «Расширяемость FTP» и «Служба FTP», а также папка «Средства управления веб-сайтом», а в ней- «Консоль управления IIS». Для запуска нажать OK.

Настройка ФТП-сервера

  1. Теперь нужно снова зайти через «Пуск» в «Панель управления».
  2. Найти раздел «Администрирование» и открыть в этом разделе «Диспетчер служб IIS».
  3. Перейти во вкладку «Сайты», щёлкнув на название правой кнопкой, выбрать из списка «Добавить FTP сайты».
  4. В новом окне требуется указать имя будущего ФТП-сервера, и путь к каталогу с его данными. К следующему этапу настройки можно перейти, нажав кнопку «Далее».
  5. Теперь устанавливаются параметры сервера. В поле IP-адреса выбрать нужный из списка. Можно привязать его к определённому адресу или сделать расширенный доступ, выбрав пункт «Все свободные». При этом должен быть отмечен стандартный порт- 21. Если планируется постоянно использовать FTP-сервер, то следует поставить отметку галочкой «Запускать FTP-сайт автоматически». Выбрать опцию «Без SSL», её можно включить в случае необходимости позже. Снова нажать «Далее».
  6. В новом окне задаётся тип авторизации. В пункте «Проверка подлинности» можно разрешить вход для обычных или анонимных пользователей. Здесь же можно настроить для них права. Нажать«Готово».

После завершения установки в разделе «Сайты» появится новый ФТП-сервер.

Настройка брандмауэра Windows

Теперь обязательно необходимо настроить брандмауэр Windows для открытия портов и функционирования служб.

Снова войти в «Панель управления», затем «Брандмауэр Windows». Найти раздел «Дополнительные параметры».

В нём выбрать «Правила для входящих соединений». Для них рекомендуется установить пассивный режим. Для этого правой кнопкой мыши нажать и включить правила «FTP Server Passive» и «FTP-сервер (входящий трафик)». Таким же образом для исходящих подключений включить в соответствующем разделе правило «FTP-Server».

Подключение пользователей

Чтобы на сервер могли заходить пользователи, их необходимо подключить.

  • Во вкладке «Панель управления» открыть папку «Администрирование».

Раздел Администрирование

  • Найти раздел «Управление компьютером», затем перейти к папке «Локальные пользователи». Нажав правой кнопкой на строку «Группы», выбрать функцию «Создать группу». В новом окне указать имя и короткое описание группы, нажать «Создать».
  • Теперь можно подключить пользователей к созданной группе. В папке «Локальные пользователи» нажать правой кнопкой на строку «Пользователи» и выбрать из списка меню «Новый». Заполнить поля, введя имя и пароль, здесь же следует установить галочкой запрет на смену пароля.
  • Для подключения пользователя нажать правой кнопкой на его учётную запись и выбрать из списка меню пункт «Свойства», далее - вкладка «Членство в группах» и кнопка «Добавить». Найти созданную группу, добавить и нажать OK. Эту процедуру нужно выполнить для всех пользователей сервера.
  • На следующем этапе определяются права доступа пользователей группы к рабочему каталогу. Для этого нужно перейти к каталогу «Сайт», щёлкнуть по названию правой кнопкой и открыть «Свойства». Далее - вкладка «Безопасность», в пункте «Изменить» указать название группы и нажать ОК. Затем нужно настроить права для пользователей.
  • Войти в «Диспетчер служб IIS», нажав правой кнопкой на строку «Правила авторизации FTP», добавить разрешающее правило. Можно позволить пользователям запись и удаление данных, а можно только чтение.

Установка и настройка сервера завершена. Однако, теперь нужно знать, как зайти на FTP-сервер.

Стандартные функции Windows позволяют сделать это просто. Достаточно открыть папку «Мой компьютер», затем в адресной строке указать путь к серверу.

Другой способ - создать ярлык подключения к ФТП на рабочем столе компьютера.

Для этого открыть«Панель управления», кликнуть правой кнопкой раздел «Сетевое окружение». В задачах выбрать «Добавить новый элемент в сетевое окружение», затем щёлкнуть на пункт «Выберите другое сетевое размещение» и «Далее». Теперь в разделе «Сетевое размещение» появится ярлык, который нужно просто перетащить мышью на рабочий стол.

Как видно, полезно знать, как настроить FTP-сервер на , чтобы сделать обмен данными между пользователями удобным и без ограничений.



error: Контент защищен !!