FTP

Поделись знанием:
(перенаправлено с «FTP-сервер»)
Перейти к: навигация, поиск
FTP
Название:

File Transfer Protocol

Уровень (по модели OSI):

Прикладной

Семейство:

TCP/IP

Создан в:

1971 г.

Порт/ID:

21/TCP для команд, 20/TCP для данных, 49152-65534/TCP динамически

Назначение протокола:

Передача файлов

Спецификация:

RFC 959

Основные реализации (клиенты):

Смотри Сравнение FTP-клиентов

Основные реализации (серверы):

Сравнение FTP-серверов

Расширяемость:

Доп. команды

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

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

Первые клиентские FTP-приложения были интерактивными инструментами командной строки, реализующими стандартные команды и синтаксис. Графические пользовательские интерфейсы с тех пор были разработаны для многих используемых по сей день операционных систем. Среди этих интерфейсов как программы общего веб-дизайна вроде Microsoft Expression Web, так и специализированные FTP-клиенты (например, FileZilla).

FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, и даже до TCP/IP, в 1971 году. В первое время он работал поверх протокола NCP[1]. Он и сегодня широко используется для распространения ПО и доступа к удалённым хостам.





Описание протокола

Отличие от HTTP

Свойство FTP HTTP
Основан на сессиях работы Да Нет
Встроена аутентификация пользователей Да Нет
В основном предусмотрен для передачи Больших двоичных файлов Небольших текстовых файлов
Модель соединения Двойное подключение Одиночное подключение
В основном приспособлен для приёма/передачи Приёма и передачи Приёма
Поддерживает текстовый и двоичный режимы передачи Да Нет
Поддерживает указание типов передаваемых данных (MIME заголовки) Нет Да
Поддерживает операции над файловой системой (mkdir, rm, rename, и т. д.) Да Нет

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

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

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

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», и (опять же, если необходимо) в символьное представление принимающего хоста. В частности, изменяются символы перевода строки (CR /chr(13)/, LF /chr(10)/ в Windows на LF /chr(10)/ в Unix/Linux. Как следствие, этот режим не подходит для файлов, содержащих не только обычный текст.
  • Режим изображения (обычно именуемый бинарным) — устройство-отправитель посылает каждый файл байт за байтом, а получатель сохраняет поток байтов при получении. Поддержка данного режима была рекомендована для всех реализаций FTP.
  • EBCDIC — используется для передачи обычного текста между хостами в кодировке EBCDIC. В остальном, этот режим аналогичен ASCII-режиму.
  • Локальный режим — позволяет двум компьютерам с идентичными установками посылать данные в собственном формате без конвертации в ASCII.

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

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

  • Поточный режим — данные посылаются в виде непрерывного потока, освобождая FTP от выполнения какой бы то ни было обработки. Вместо этого, вся обработка выполняется TCP. Индикатор конца файла не нужен, за исключением разделения данных на записи.
  • Блочный режим — FTP разбивает данные на несколько блоков (блок заголовка, количество байт, поле данных) и затем передаёт их TCP.
  • Режим сжатия — данные сжимаются единым алгоритмом (обычно, кодированием длин серий).

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

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

Анонимный FTP

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

FTP-ALG

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

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

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

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

Большая часть обычных веб-браузеров может извлекать файлы, расположенные на FTP-серверах, хотя они могут не поддерживать расширения протоколов вроде FTPS. Когда указан FTP-адрес, а не HTTP-адрес, доступный контент на удалённом сервере представляется аналогично остальному веб-контенту. Полностью функциональный FTP-клиент может быть запущен в Firefox как расширение [addons.mozilla.org/en-US/firefox/addon/fireftp/ FireFTP].

Синтаксис

Синтаксис FTP URL описан в RFC1738, в форме: ftp://[<пользователь>[:<пароль>]@]<хост>[:<порт>]/<путь> (параметры в квадратных скобках необязательны). Например:

ftp://public.ftp-servers.example.com/mydirectory/myfile.txt

или:

ftp://user001:secretpassword@private.ftp-servers.example.com/mydirectory/myfile.txt

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

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

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

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

SFTP

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. Программные пакеты, поддерживающие этот режим:

  • [ssh.com/index.php/products/tectia-pci-point-to-point-encryption.html Tectia ConnectSecure (Win/Linux/Unix)] из пакета SSH Communications Security
  • [ssh.com/index.php/products/tectia-ssh-for-mainframes.html Tectia Server for IBM z/OS] из пакета SSH Communications Security
  • [fonc.sourceforge.net/ FONC] (под лицензией GPL)
  • [dovetail.com/products/ftpsshproxy.html Co:Z FTPSSH Proxy]

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

История

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

В 1972 г. протокол был полностью изменён, и принял вид, близкий к современному. Команды с параметрами от клиента и ответы сервера передаются по TELNET-соединению (канал управления), для передачи данных создаётся отдельное соединение (канал данных).

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

В 1980 г. FTP-протокол стал использовать TCP. Последняя редакция протокола была выпущена в 1985 г. В 1997 г. появилось дополнение к протоколу, позволяющее шифровать и подписывать информацию в канале управления и канале данных. В 1999 г. выпущено дополнение, посвящённое интернационализации протокола, которое рекомендует использовать кодировку UTF-8 для команд и ответов сервера и определяет новую команду LANG, устанавливающую язык ответов.

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

  • ABOR — Прервать передачу файла
  • CDUP — Сменить директорию на вышестоящую.
  • CWD — Сменить директорию.
  • DELE — Удалить файл (DELE filename).
  • EPSV — Войти в расширенный пассивный режим. Применяется вместо PASV.
  • HELP — Выводит список команд, принимаемых сервером.
  • LIST — Возвращает список файлов директории. Список передаётся через соединение данных.
  • MDTM — Возвращает время модификации файла.
  • MKD — Создать директорию.
  • NLST — Возвращает список файлов директории в более кратком формате, чем LIST. Список передаётся через соединение данных.
  • NOOP — Пустая операция.
  • PASS — Пароль.
  • 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 — Имя пользователя для входа на сервер.

Коды ответов FTP

Ниже представлено краткое описание кодов ответа, которые могут быть возвращены FTP-сервером. Эти коды были стандартизированы IETF в RFC 959. Как было сказано ранее, код ответа — трёхзначное число. Первая цифра отвечает за один из трёх исходов: успех, отказ или указание на ошибку либо неполный ответ.

  • 2xx — Успешный ответ
  • 4xx/5xx — Команда не может быть выполнена
  • 1xx/3xx — Ошибка или неполный ответ

Вторая цифра определяет тип ошибки:

  • x0z — Синтаксическая.
  • x1z — Информация. Соответствует информационному сообщению.
  • x2z — Соединения. Сообщение относится к управляющему соединению либо к соединению данных.
  • x3z — Соответствует сообщениям об аутентификации пользователя и его правах.
  • x4z — Не определено.
  • x5z — Файловая система. Соответствует сообщению о состоянии файловой системы.

Третья цифра окончательно специфицирует ошибку.

Пример

220 FTP server ready.
USER ftp //Анонимус
230 Login successful.
PASV
227 Entering Passive Mode (192,168,254,253,233,92)//Клиент должен открыть соединение на переданный IP
LIST
150 Here comes the directory listing. //Сервер передает список файлов в директории
226 Directory send OK.
CWD incoming
250 Directory successfully changed.
PASV
227 Entering Passive Mode (192,168,254,253,207,56)
STOR gyuyfotry.avi
150 Ok to send data. //Клиент передает содержимое файла
226 File receive OK.
QUIT
221 Goodbye.

Аргумент 192,168,254,253,207,56 означает, что соединение к серверу ожидается на узле с IP-адресом 192.168.254.253 на порту 207 << 8 + 56 = 53048 (где << — операция побитового сдвига, 207 записывается в младший разряд, а потом сдвигается в старший, чтобы в младший записать 56 или 207*256+56=53048).

На многих FTP-серверах существует каталог (под названием incoming, upload и т. п.), открытый на запись и предназначенный для закачки файлов на сервер. Это позволяет пользователям наполнять сервера свежими данными.

FXP

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-серверами.

См. также

Напишите отзыв о статье "FTP"

Примечания

  1. [www.coruscant.demon.co.uk/mike/sendmail/history.html A Brief History of Mail]
  2. 1 2 [flylib.com/books/en/3.326.1.238/1/ Chapter 27. Configuring an FTP Server]

Ссылки

  • Первоначальная спецификация FTP RFC 959
  • Расширения безопасности RFC 2228
  • Интернационализация FTP RFC 2640
  • Расширение NAT-PT для поддержки FTP RFC 2766
  • Шифрование KEA и SKIPJACK RFC 2773
  • Расширение команд FTP RFC 3659
  • Реестр команд и расширений FTP RFC 5797 [rfc2.ru/5797.rfc (есть перевод на русский)]


К:Википедия:Статьи без источников (тип: не указан)

Отрывок, характеризующий FTP

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


1 го сентября в ночь отдан приказ Кутузова об отступлении русских войск через Москву на Рязанскую дорогу.
Первые войска двинулись в ночь. Войска, шедшие ночью, не торопились и двигались медленно и степенно; но на рассвете двигавшиеся войска, подходя к Дорогомиловскому мосту, увидали впереди себя, на другой стороне, теснящиеся, спешащие по мосту и на той стороне поднимающиеся и запружающие улицы и переулки, и позади себя – напирающие, бесконечные массы войск. И беспричинная поспешность и тревога овладели войсками. Все бросилось вперед к мосту, на мост, в броды и в лодки. Кутузов велел обвезти себя задними улицами на ту сторону Москвы.
К десяти часам утра 2 го сентября в Дорогомиловском предместье оставались на просторе одни войска ариергарда. Армия была уже на той стороне Москвы и за Москвою.
В это же время, в десять часов утра 2 го сентября, Наполеон стоял между своими войсками на Поклонной горе и смотрел на открывавшееся перед ним зрелище. Начиная с 26 го августа и по 2 е сентября, от Бородинского сражения и до вступления неприятеля в Москву, во все дни этой тревожной, этой памятной недели стояла та необычайная, всегда удивляющая людей осенняя погода, когда низкое солнце греет жарче, чем весной, когда все блестит в редком, чистом воздухе так, что глаза режет, когда грудь крепнет и свежеет, вдыхая осенний пахучий воздух, когда ночи даже бывают теплые и когда в темных теплых ночах этих с неба беспрестанно, пугая и радуя, сыплются золотые звезды.
2 го сентября в десять часов утра была такая погода. Блеск утра был волшебный. Москва с Поклонной горы расстилалась просторно с своей рекой, своими садами и церквами и, казалось, жила своей жизнью, трепеща, как звезды, своими куполами в лучах солнца.
При виде странного города с невиданными формами необыкновенной архитектуры Наполеон испытывал то несколько завистливое и беспокойное любопытство, которое испытывают люди при виде форм не знающей о них, чуждой жизни. Очевидно, город этот жил всеми силами своей жизни. По тем неопределимым признакам, по которым на дальнем расстоянии безошибочно узнается живое тело от мертвого. Наполеон с Поклонной горы видел трепетание жизни в городе и чувствовал как бы дыханио этого большого и красивого тела.
– Cette ville asiatique aux innombrables eglises, Moscou la sainte. La voila donc enfin, cette fameuse ville! Il etait temps, [Этот азиатский город с бесчисленными церквами, Москва, святая их Москва! Вот он, наконец, этот знаменитый город! Пора!] – сказал Наполеон и, слезши с лошади, велел разложить перед собою план этой Moscou и подозвал переводчика Lelorgne d'Ideville. «Une ville occupee par l'ennemi ressemble a une fille qui a perdu son honneur, [Город, занятый неприятелем, подобен девушке, потерявшей невинность.] – думал он (как он и говорил это Тучкову в Смоленске). И с этой точки зрения он смотрел на лежавшую перед ним, невиданную еще им восточную красавицу. Ему странно было самому, что, наконец, свершилось его давнишнее, казавшееся ему невозможным, желание. В ясном утреннем свете он смотрел то на город, то на план, проверяя подробности этого города, и уверенность обладания волновала и ужасала его.
«Но разве могло быть иначе? – подумал он. – Вот она, эта столица, у моих ног, ожидая судьбы своей. Где теперь Александр и что думает он? Странный, красивый, величественный город! И странная и величественная эта минута! В каком свете представляюсь я им! – думал он о своих войсках. – Вот она, награда для всех этих маловерных, – думал он, оглядываясь на приближенных и на подходившие и строившиеся войска. – Одно мое слово, одно движение моей руки, и погибла эта древняя столица des Czars. Mais ma clemence est toujours prompte a descendre sur les vaincus. [царей. Но мое милосердие всегда готово низойти к побежденным.] Я должен быть великодушен и истинно велик. Но нет, это не правда, что я в Москве, – вдруг приходило ему в голову. – Однако вот она лежит у моих ног, играя и дрожа золотыми куполами и крестами в лучах солнца. Но я пощажу ее. На древних памятниках варварства и деспотизма я напишу великие слова справедливости и милосердия… Александр больнее всего поймет именно это, я знаю его. (Наполеону казалось, что главное значение того, что совершалось, заключалось в личной борьбе его с Александром.) С высот Кремля, – да, это Кремль, да, – я дам им законы справедливости, я покажу им значение истинной цивилизации, я заставлю поколения бояр с любовью поминать имя своего завоевателя. Я скажу депутации, что я не хотел и не хочу войны; что я вел войну только с ложной политикой их двора, что я люблю и уважаю Александра и что приму условия мира в Москве, достойные меня и моих народов. Я не хочу воспользоваться счастьем войны для унижения уважаемого государя. Бояре – скажу я им: я не хочу войны, а хочу мира и благоденствия всех моих подданных. Впрочем, я знаю, что присутствие их воодушевит меня, и я скажу им, как я всегда говорю: ясно, торжественно и велико. Но неужели это правда, что я в Москве? Да, вот она!»
– Qu'on m'amene les boyards, [Приведите бояр.] – обратился он к свите. Генерал с блестящей свитой тотчас же поскакал за боярами.
Прошло два часа. Наполеон позавтракал и опять стоял на том же месте на Поклонной горе, ожидая депутацию. Речь его к боярам уже ясно сложилась в его воображении. Речь эта была исполнена достоинства и того величия, которое понимал Наполеон.
Тот тон великодушия, в котором намерен был действовать в Москве Наполеон, увлек его самого. Он в воображении своем назначал дни reunion dans le palais des Czars [собраний во дворце царей.], где должны были сходиться русские вельможи с вельможами французского императора. Он назначал мысленно губернатора, такого, который бы сумел привлечь к себе население. Узнав о том, что в Москве много богоугодных заведений, он в воображении своем решал, что все эти заведения будут осыпаны его милостями. Он думал, что как в Африке надо было сидеть в бурнусе в мечети, так в Москве надо было быть милостивым, как цари. И, чтобы окончательно тронуть сердца русских, он, как и каждый француз, не могущий себе вообразить ничего чувствительного без упоминания о ma chere, ma tendre, ma pauvre mere, [моей милой, нежной, бедной матери ,] он решил, что на всех этих заведениях он велит написать большими буквами: Etablissement dedie a ma chere Mere. Нет, просто: Maison de ma Mere, [Учреждение, посвященное моей милой матери… Дом моей матери.] – решил он сам с собою. «Но неужели я в Москве? Да, вот она передо мной. Но что же так долго не является депутация города?» – думал он.
Между тем в задах свиты императора происходило шепотом взволнованное совещание между его генералами и маршалами. Посланные за депутацией вернулись с известием, что Москва пуста, что все уехали и ушли из нее. Лица совещавшихся были бледны и взволнованны. Не то, что Москва была оставлена жителями (как ни важно казалось это событие), пугало их, но их пугало то, каким образом объявить о том императору, каким образом, не ставя его величество в то страшное, называемое французами ridicule [смешным] положение, объявить ему, что он напрасно ждал бояр так долго, что есть толпы пьяных, но никого больше. Одни говорили, что надо было во что бы то ни стало собрать хоть какую нибудь депутацию, другие оспаривали это мнение и утверждали, что надо, осторожно и умно приготовив императора, объявить ему правду.
– Il faudra le lui dire tout de meme… – говорили господа свиты. – Mais, messieurs… [Однако же надо сказать ему… Но, господа…] – Положение было тем тяжеле, что император, обдумывая свои планы великодушия, терпеливо ходил взад и вперед перед планом, посматривая изредка из под руки по дороге в Москву и весело и гордо улыбаясь.
– Mais c'est impossible… [Но неловко… Невозможно…] – пожимая плечами, говорили господа свиты, не решаясь выговорить подразумеваемое страшное слово: le ridicule…
Между тем император, уставши от тщетного ожидания и своим актерским чутьем чувствуя, что величественная минута, продолжаясь слишком долго, начинает терять свою величественность, подал рукою знак. Раздался одинокий выстрел сигнальной пушки, и войска, с разных сторон обложившие Москву, двинулись в Москву, в Тверскую, Калужскую и Дорогомиловскую заставы. Быстрее и быстрее, перегоняя одни других, беглым шагом и рысью, двигались войска, скрываясь в поднимаемых ими облаках пыли и оглашая воздух сливающимися гулами криков.
Увлеченный движением войск, Наполеон доехал с войсками до Дорогомиловской заставы, но там опять остановился и, слезши с лошади, долго ходил у Камер коллежского вала, ожидая депутации.


Москва между тем была пуста. В ней были еще люди, в ней оставалась еще пятидесятая часть всех бывших прежде жителей, но она была пуста. Она была пуста, как пуст бывает домирающий обезматочивший улей.
В обезматочившем улье уже нет жизни, но на поверхностный взгляд он кажется таким же живым, как и другие.
Так же весело в жарких лучах полуденного солнца вьются пчелы вокруг обезматочившего улья, как и вокруг других живых ульев; так же издалека пахнет от него медом, так же влетают и вылетают из него пчелы. Но стоит приглядеться к нему, чтобы понять, что в улье этом уже нет жизни. Не так, как в живых ульях, летают пчелы, не тот запах, не тот звук поражают пчеловода. На стук пчеловода в стенку больного улья вместо прежнего, мгновенного, дружного ответа, шипенья десятков тысяч пчел, грозно поджимающих зад и быстрым боем крыльев производящих этот воздушный жизненный звук, – ему отвечают разрозненные жужжания, гулко раздающиеся в разных местах пустого улья. Из летка не пахнет, как прежде, спиртовым, душистым запахом меда и яда, не несет оттуда теплом полноты, а с запахом меда сливается запах пустоты и гнили. У летка нет больше готовящихся на погибель для защиты, поднявших кверху зады, трубящих тревогу стражей. Нет больше того ровного и тихого звука, трепетанья труда, подобного звуку кипенья, а слышится нескладный, разрозненный шум беспорядка. В улей и из улья робко и увертливо влетают и вылетают черные продолговатые, смазанные медом пчелы грабительницы; они не жалят, а ускользают от опасности. Прежде только с ношами влетали, а вылетали пустые пчелы, теперь вылетают с ношами. Пчеловод открывает нижнюю колодезню и вглядывается в нижнюю часть улья. Вместо прежде висевших до уза (нижнего дна) черных, усмиренных трудом плетей сочных пчел, держащих за ноги друг друга и с непрерывным шепотом труда тянущих вощину, – сонные, ссохшиеся пчелы в разные стороны бредут рассеянно по дну и стенкам улья. Вместо чисто залепленного клеем и сметенного веерами крыльев пола на дне лежат крошки вощин, испражнения пчел, полумертвые, чуть шевелящие ножками и совершенно мертвые, неприбранные пчелы.
Пчеловод открывает верхнюю колодезню и осматривает голову улья. Вместо сплошных рядов пчел, облепивших все промежутки сотов и греющих детву, он видит искусную, сложную работу сотов, но уже не в том виде девственности, в котором она бывала прежде. Все запущено и загажено. Грабительницы – черные пчелы – шныряют быстро и украдисто по работам; свои пчелы, ссохшиеся, короткие, вялые, как будто старые, медленно бродят, никому не мешая, ничего не желая и потеряв сознание жизни. Трутни, шершни, шмели, бабочки бестолково стучатся на лету о стенки улья. Кое где между вощинами с мертвыми детьми и медом изредка слышится с разных сторон сердитое брюзжание; где нибудь две пчелы, по старой привычке и памяти очищая гнездо улья, старательно, сверх сил, тащат прочь мертвую пчелу или шмеля, сами не зная, для чего они это делают. В другом углу другие две старые пчелы лениво дерутся, или чистятся, или кормят одна другую, сами не зная, враждебно или дружелюбно они это делают. В третьем месте толпа пчел, давя друг друга, нападает на какую нибудь жертву и бьет и душит ее. И ослабевшая или убитая пчела медленно, легко, как пух, спадает сверху в кучу трупов. Пчеловод разворачивает две средние вощины, чтобы видеть гнездо. Вместо прежних сплошных черных кругов спинка с спинкой сидящих тысяч пчел и блюдущих высшие тайны родного дела, он видит сотни унылых, полуживых и заснувших остовов пчел. Они почти все умерли, сами не зная этого, сидя на святыне, которую они блюли и которой уже нет больше. От них пахнет гнилью и смертью. Только некоторые из них шевелятся, поднимаются, вяло летят и садятся на руку врагу, не в силах умереть, жаля его, – остальные, мертвые, как рыбья чешуя, легко сыплются вниз. Пчеловод закрывает колодезню, отмечает мелом колодку и, выбрав время, выламывает и выжигает ее.
Так пуста была Москва, когда Наполеон, усталый, беспокойный и нахмуренный, ходил взад и вперед у Камерколлежского вала, ожидая того хотя внешнего, но необходимого, по его понятиям, соблюдения приличий, – депутации.
В разных углах Москвы только бессмысленно еще шевелились люди, соблюдая старые привычки и не понимая того, что они делали.
Когда Наполеону с должной осторожностью было объявлено, что Москва пуста, он сердито взглянул на доносившего об этом и, отвернувшись, продолжал ходить молча.
– Подать экипаж, – сказал он. Он сел в карету рядом с дежурным адъютантом и поехал в предместье.
– «Moscou deserte. Quel evenemeDt invraisemblable!» [«Москва пуста. Какое невероятное событие!»] – говорил он сам с собой.
Он не поехал в город, а остановился на постоялом дворе Дорогомиловского предместья.
Le coup de theatre avait rate. [Не удалась развязка театрального представления.]


Русские войска проходили через Москву с двух часов ночи и до двух часов дня и увлекали за собой последних уезжавших жителей и раненых.
Самая большая давка во время движения войск происходила на мостах Каменном, Москворецком и Яузском.
В то время как, раздвоившись вокруг Кремля, войска сперлись на Москворецком и Каменном мостах, огромное число солдат, пользуясь остановкой и теснотой, возвращались назад от мостов и украдчиво и молчаливо прошныривали мимо Василия Блаженного и под Боровицкие ворота назад в гору, к Красной площади, на которой по какому то чутью они чувствовали, что можно брать без труда чужое. Такая же толпа людей, как на дешевых товарах, наполняла Гостиный двор во всех его ходах и переходах. Но не было ласково приторных, заманивающих голосов гостинодворцев, не было разносчиков и пестрой женской толпы покупателей – одни были мундиры и шинели солдат без ружей, молчаливо с ношами выходивших и без ноши входивших в ряды. Купцы и сидельцы (их было мало), как потерянные, ходили между солдатами, отпирали и запирали свои лавки и сами с молодцами куда то выносили свои товары. На площади у Гостиного двора стояли барабанщики и били сбор. Но звук барабана заставлял солдат грабителей не, как прежде, сбегаться на зов, а, напротив, заставлял их отбегать дальше от барабана. Между солдатами, по лавкам и проходам, виднелись люди в серых кафтанах и с бритыми головами. Два офицера, один в шарфе по мундиру, на худой темно серой лошади, другой в шинели, пешком, стояли у угла Ильинки и о чем то говорили. Третий офицер подскакал к ним.
– Генерал приказал во что бы то ни стало сейчас выгнать всех. Что та, это ни на что не похоже! Половина людей разбежалась.
– Ты куда?.. Вы куда?.. – крикнул он на трех пехотных солдат, которые, без ружей, подобрав полы шинелей, проскользнули мимо него в ряды. – Стой, канальи!
– Да, вот извольте их собрать! – отвечал другой офицер. – Их не соберешь; надо идти скорее, чтобы последние не ушли, вот и всё!
– Как же идти? там стали, сперлися на мосту и не двигаются. Или цепь поставить, чтобы последние не разбежались?
– Да подите же туда! Гони ж их вон! – крикнул старший офицер.
Офицер в шарфе слез с лошади, кликнул барабанщика и вошел с ним вместе под арки. Несколько солдат бросилось бежать толпой. Купец, с красными прыщами по щекам около носа, с спокойно непоколебимым выражением расчета на сытом лице, поспешно и щеголевато, размахивая руками, подошел к офицеру.
– Ваше благородие, – сказал он, – сделайте милость, защитите. Нам не расчет пустяк какой ни на есть, мы с нашим удовольствием! Пожалуйте, сукна сейчас вынесу, для благородного человека хоть два куска, с нашим удовольствием! Потому мы чувствуем, а это что ж, один разбой! Пожалуйте! Караул, что ли, бы приставили, хоть запереть дали бы…
Несколько купцов столпилось около офицера.
– Э! попусту брехать то! – сказал один из них, худощавый, с строгим лицом. – Снявши голову, по волосам не плачут. Бери, что кому любо! – И он энергическим жестом махнул рукой и боком повернулся к офицеру.
– Тебе, Иван Сидорыч, хорошо говорить, – сердито заговорил первый купец. – Вы пожалуйте, ваше благородие.
– Что говорить! – крикнул худощавый. – У меня тут в трех лавках на сто тысяч товару. Разве убережешь, когда войско ушло. Эх, народ, божью власть не руками скласть!
– Пожалуйте, ваше благородие, – говорил первый купец, кланяясь. Офицер стоял в недоумении, и на лице его видна была нерешительность.
– Да мне что за дело! – крикнул он вдруг и пошел быстрыми шагами вперед по ряду. В одной отпертой лавке слышались удары и ругательства, и в то время как офицер подходил к ней, из двери выскочил вытолкнутый человек в сером армяке и с бритой головой.
Человек этот, согнувшись, проскочил мимо купцов и офицера. Офицер напустился на солдат, бывших в лавке. Но в это время страшные крики огромной толпы послышались на Москворецком мосту, и офицер выбежал на площадь.
– Что такое? Что такое? – спрашивал он, но товарищ его уже скакал по направлению к крикам, мимо Василия Блаженного. Офицер сел верхом и поехал за ним. Когда он подъехал к мосту, он увидал снятые с передков две пушки, пехоту, идущую по мосту, несколько поваленных телег, несколько испуганных лиц и смеющиеся лица солдат. Подле пушек стояла одна повозка, запряженная парой. За повозкой сзади колес жались четыре борзые собаки в ошейниках. На повозке была гора вещей, и на самом верху, рядом с детским, кверху ножками перевернутым стульчиком сидела баба, пронзительно и отчаянно визжавшая. Товарищи рассказывали офицеру, что крик толпы и визги бабы произошли оттого, что наехавший на эту толпу генерал Ермолов, узнав, что солдаты разбредаются по лавкам, а толпы жителей запружают мост, приказал снять орудия с передков и сделать пример, что он будет стрелять по мосту. Толпа, валя повозки, давя друг друга, отчаянно кричала, теснясь, расчистила мост, и войска двинулись вперед.


В самом городе между тем было пусто. По улицам никого почти не было. Ворота и лавки все были заперты; кое где около кабаков слышались одинокие крики или пьяное пенье. Никто не ездил по улицам, и редко слышались шаги пешеходов. На Поварской было совершенно тихо и пустынно. На огромном дворе дома Ростовых валялись объедки сена, помет съехавшего обоза и не было видно ни одного человека. В оставшемся со всем своим добром доме Ростовых два человека были в большой гостиной. Это были дворник Игнат и казачок Мишка, внук Васильича, оставшийся в Москве с дедом. Мишка, открыв клавикорды, играл на них одним пальцем. Дворник, подбоченившись и радостно улыбаясь, стоял пред большим зеркалом.
– Вот ловко то! А? Дядюшка Игнат! – говорил мальчик, вдруг начиная хлопать обеими руками по клавишам.
– Ишь ты! – отвечал Игнат, дивуясь на то, как все более и более улыбалось его лицо в зеркале.
– Бессовестные! Право, бессовестные! – заговорил сзади их голос тихо вошедшей Мавры Кузминишны. – Эка, толсторожий, зубы то скалит. На это вас взять! Там все не прибрано, Васильич с ног сбился. Дай срок!