Исследование протоколов TELNET и FTP, страница 3

 Для того, чтобы установить пассивное соединение по FTP к машине npc12.stu.neva.ru, воспользуемся файловым менеджером, сделав в нём следующие настройки:

Рис. 2.3.2. Настройка FTP соединения в FAR manager

Заметим, что стандартная утилита ftp не используется из-за того, что по умолчанию она настроена на активный режим, а это изменить у нас нет возможности.

Проанализируем, что при этом происходит в сети.

Рис. 2.3.3. Запрос на установление ftp соединения

Видно, что первым делом, клиент посылает пакет по протоколу TCP с установленным флагом SYN (запрос на установку соединения) серверу. Обратим внимание, что порт клиента равен 1056, т.е. выделен из динамической области адресов. Этот запрос (как видно из рис. 2.3.3) поступает к серверу на порт ftp (21).

Посмотрим, что происходит дальше.

Рис. 2.3.4. Подтверждение на установление ftp соединения

После того, как сервер получил запрос, он в свою очередь по командному порту (21) передаёт пакет подтверждения установления соединения на командный порт клиента (1056). При этом установлены флаги SYN и Ack. Обратим внимание, что пока не происходило настройка на пассивный режим.

После этого, клиент выдаёт подтверждение Ack, после чего можно обмениваться служебной информацией. При этом обмен информацией между клиентом и сервером всё ещё продолжается по командным портам. В нашем случае такой информацией является пароль и логин.

Рис. 2.3.5. Обмен служебной информацией

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

Рис. 2.3.6. Запрос на пассивный режим

Из рис. 2.3.6 эту команду запроса хорошо видно. Обратим внимание, что порты пока не поменялись.

В ответ на это, сервер нам посылает следующий пакет:

Рис. 2.3.7. Ответ сервера на запрос работы в пассивном режиме

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

Рис. 2.3.8. Подтверждение работы в пассивном режиме

Изменение состоит в том, что теперь клиент начинает передавать и получать данные по порту, с номером на 1 выше (1057), а сервер по тому порту, о котором нам он сообщил (37437). После того, как порты изменились, клиент даёт запрос на работу в таком режиме, а сервер выдаёт подтверждение. Дальше обмен информацией по этим портам так и продолжается.

Далее, в нашем случае, начинает происходить загрузка файла с сервера. Завершение соединения происходит по выставлению флага FIN и ACK и подтверждению завершения. После чего идёт пакет, подтверждающие удачный сеанс загрузки файла. Ниже на рис. 2.3.9 и рис. 2.3.10 показаны начало скачивания файла, и конец загрузки этого файла.

Рис. 2.3.9. Начало передачи файла

Рис. 2.3.10. Конец передачи файла

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

Протокол FTP в активном режиме