Начните захват пакетов в приложении Wireshark и затем сделайте так, чтобы ваш хост отправил и получил несколько UDP-пакетов (например, с помощью обращений DNS). Выберите один из UDP-пакетов и разверните поля UDP в окне деталей заголовка пакета. Ответьте на вопросы ниже, представив соответствующие скрины программы Wireshark.
- Выберите один UDP-пакет. По этому пакету определите, сколько полей содержит UDP-заголовок.
- Определите длину (в байтах) для каждого поля UDP-заголовка, обращаясь к отображаемой
информации о содержимом полей в данном пакете.
- Значение в поле Length (Длина) – это длина чего?
- Какое максимальное количество байт может быть включено в полезную нагрузку UDP-пакета?
- Чему равно максимально возможное значение номера порта отправителя?
- Какой номер протокола для протокола UDP? Дайте ответ и для шестнадцатеричной и
десятеричной системы. Чтобы ответить на этот вопрос, вам необходимо заглянуть в поле
Протокол в IP-дейтаграмме, содержащей UDP-сегмент.
- Проверьте UDP-пакет и ответный UDP-пакет, отправляемый вашим хостом. Определите
отношение между номерами портов в двух пакетах.
- Установите сервер и клиент FileZilla
- Создайте FTP сервер. Например, по адресу 127.0.0.1 и портом 21. Укажите директорию по умолчанию для работы с файлами.
- Создайте пользователя TestUser. Для простоты и удобства можете отключить использование сертификатов.
- Запустите FileZilla клиента (GUI) и попробуйте поработать с файлами (создать папки, добавить/удалить файлы).
Приложите скриншоты.
todo
Создайте консольное приложение FTP клиента для работы с файлами по FTP. Приложение может обращаться к FTP серверу, созданному в предыдущем задании, либо к какому-либо другому серверу (есть много публичных ftp-серверов для тестирования, вот один из них).
Приложение должно:
- Получать список всех директорий и файлов сервера и выводить его на консоль
- Загружать новый файл на сервер
- Загружать файл с сервера и сохранять его локально
Бонус: Не используйте готовые библиотеки для работы с FTP (например, ftplib для Python), а реализуйте решение на сокетах (+3 балла).
todo
Реализуйте приложение FTP клиента с графическим интерфейсом. НЕ используйте C#.
Возможный интерфейс:
В приложении должна быть поддержана следующая функциональность:
- Выбор сервера с указанием порта, логин и пароль пользователя и возможность подключиться к серверу. При подключении на экран выводится список всех доступных файлов и директорий
- Поддержаны CRUD операции для работы с файлами. Имя файла можно задавать из интерфейса. При создании нового файла или обновлении старого должно открываться окно, в котором можно редактировать содержимое файла. При команде Retrieve содержимое файла можно выводить в главном окне.
todo