Кафедра ИСиТ УО ВГТУ
  • Специальности
    • Экономика электронного бизнеса
    • Информационные системы
    • Information Control Systems
  • Каталог
  • Сайт кафедры
  • Сервисы
    • GitLab
    • ownCloud
    • JupyterHub
    • JupyterHub 2
    • VNC
    • Soft
  1. ИСиТ
  2. ПСП
  3. Практика
  4. Программное обеспечение
  • ИСиТ
    • АОС
      • Теория
        • Введение в операционные системы
        • Управление памятью
        • Управление процессами
        • Система ввода-вывода
        • Информационная безопасность
        • Виртуализация
      • Практика
    • РВПсИПП
      • Теория
        • Настройка среды разработки для PHP
        • Разработка web-приложений на базе фреймворков
        • Основы Laravel
        • Шаблоны в Laravel
        • Модели и базы данных в Laravel
        • Формы и валидация в Laravel
        • Аутентификация и авторизация в Laravel
        • Создание REST API в Laravel
        • Работа с файлами и изображениями в Laravel
        • Тестирование и отладка в Laravel
        • Введение в фреймворк Symfony
        • Маршруты и контроллеры в Symfony
        • Шаблоны и Twig в Symfony
        • Формы и валидация в Symfony
        • Доступ к базам данных в Symfony
        • Аутентификация и авторизация в Symfony
        • Сервисы и зависимости в Symfony
        • Создание REST API в Symfony
        • Работа с файлами и медиа в Symfony
        • Сравнение и выбор фреймворка
        • Развертывание веб-приложения
      • Практика
        • Лаб. работа 1 “Создание нового приложения Laravel”
        • Лаб. работа 2 “Добавление главной страницы и базовых маршрутов”
        • Лаб. работа 3 “Создание моделей, миграций и сидеров”
        • Лаб. работа 4 “Создание индексных страниц и пагинация”
        • Лаб. работа 5 “Создание форм для работы с сущностями”
        • Лаб. работа 6 “Работа с файлами (эмуляция S3-хранилища)”
        • Лаб. работа “Создание маршрутов в Laravel”
        • Лаб. работа “Работа с базами данных в Laravel”
        • Лаб. работа “Работа с формами в Laravel”
        • Лаб. работа “Аутентификация и авторизация в Laravel”
        • Лаб. работа “Работа с файлами в Laravel”
        • Лаб. работа “Тестирование и оптимизация в Laravel”
        • Лаб. работа “Создание REST API в Laravel”
        • Лаб. работа “Основы Symfony”
        • Лаб. работа “Шаблоны и представления в Symfony”
        • Лаб. работа “Работа с базами данных в Symfony”
        • Лаб. работа “Фомы и аутентификация в Symfony”
        • Лаб. работа “Сервисы и зависимости в Symfony”
        • Лаб. работа “REST API в Symfony”
        • Лаб. работа “Работа с медиа контентом в Symfony”
        • Лаб. работа “Создание и развертывание проекта”
    • ПСП
      • Теория
        • Введение
        • Протокол HTTP
        • Программирование с использованием сокетов
        • Введение в PHP
        • Работа с базами данных в PHP
        • Объектно-ориентированные возможности PHP
        • Настройка среды разработки для PHP
        • Разработка web-приложений на базе фреймворков
      • Практика
        • Программное обеспечение
        • Регистрация в JupyterHub
        • Лаб. работа “Почтовые протоколы”
        • Лаб. работа “Протокол FTP”
        • Лаб. работа “Протокол HTTP”
        • Лаб. работа “Программирование сетевых приложений с использованием сокетов”
        • Лаб. работа “Основы PHP”
        • Лаб. работа “Массивы в PHP”
        • Лаб. работа “Создание веб-приложений с использованием Slim”
    • Компьютерные сети
      • Теория
        • Введение в компьютерные сети
        • Топологии сетей
        • Кодирование и мультиплексирование
        • Стеки протоколов
        • Адресация в компьютерных сетях
        • Система доменных имен (DNS)
        • Программирование с использованием сокетов
        • Введение в PHP
        • Протокол HTTP
        • Введение в компьютерные сети
      • Практика
        • Программное обеспечение
        • Регистрация в JupyterHub
        • Лаб. работа “Почтовые протоколы”
        • Лаб. работа “Протокол FTP”
        • Лаб. работа “Протокол HTTP”
        • Лаб. работа “Программирование сетевых приложений с использованием сокетов”
        • Лаб. работа “Основы PHP”
        • Лаб работа “Массивы в PHP”
    • РиОИИС
      • Теория
        • Классификация оптимизационных задач
        • Генетические алгоритмы
        • Системы массового обслуживания
        • Теория игр
        • Машинное обучение
        • Глубокое обучение (Deep learning)
        • Основы функционального программирования
        • Основы программирования на Haskell
        • Введение в логическое программирование
        • Инференция и рассуждения в логическом программировании
        • Разработка экспертных систем
        • Интеллектуальные системы и их архитектура
        • Веб-скрэйпинг
        • Сбор данных с открытых API
      • Практика
        • JupyterHub
        • Лаб. работа “Методы одномерной оптимизации”
        • Лаб. работа “Методы многомерной оптимизации”
        • Лаб. работа “Функции в Python”
        • Лаб. работа “Рекурсия в Python”
        • Лаб. работа “Итераторы в Python”
        • Лаб. работа “Генетические алгоритмы”
        • Лаб. работа “Haskell”
        • Лаб. работа “Логическое программирование”
        • Лаб. работа “Сбор данных с помощью веб-скрейпинга”
    • КСКР
      • Практика
        • Лаб. работа “Одномерные и двумерные массивы в C#”
        • Лаб. работа “Обращение матриц в C#”
    • Системное программирование
      • Теория
        • Управление памятью в Windows
        • Файловые операции в Windows
        • Управление процессами в Windows
        • Графический интерфейс Windows
        • ОС Unix
      • Практика
        • Лаб. работа “Работа с динамической памятью в Windows”
        • Лаб. работа “Операции с файлами в Windows”
        • Лаб. работа “Управление процессами в Windows”
        • Лаб. работа “Работа с виртуальной машиной Linux”
        • Лаб. работа “Язык командного энтерпритатора Shell”
        • Лаб. работа “Работа с файлами в Linux”
        • Лаб. работа “Работа с процессами в Linux”

Содержание

  • Программное обеспечение для выполнения лабораторных работ
    • PuTTY
    • Netcat
  1. ИСиТ
  2. ПСП
  3. Практика
  4. Программное обеспечение

Программное обеспечение

Программирование сетевых приложений
Практика
Автор

Бизюк Андрей

Дата публикации

29 февраля 2024 г.

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

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

PuTTY

PuTTY – клиентская программа для работы с различными сетевыми протоколами. В основном используется для удаленного доступа к консоли сервера по протоколу SSH или Telnet, но имеет режим, в котором просто передает необработанные данные на указанный порт сервера. Этот режим можно использовать для изучения различных прикладных протоколов.

Скачать PuTTY для Windows можно по ссылке, либо с официального сайта, либо использовать менеджеры пакетов Winget или Chocolatey.

После загрузки архива нужно его распаковать в отдельный каталог.

Для работы в программе, нужно запустить исполняемый файл putty.exe.

Запуск приложения

Запуск приложения

После запуска откроется окно настроек подключения

Интерфейс окна настроек

Интерфейс окна настроек

На рисунке цифрами обозначены: 1 – поле ввода адреса сервера; 2 – поле ввода номера порта для подключения; 3 – выбор типа подключения; 4 – сохранение или загрузка настроек; 5 – настройка автоматического закрытия окна при отключении.

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

Тип подключения во всех лабораторных работах нужно установить равным RAW.

Тип подключения

Тип подключения

Рекомендуется отключить автоматическое закрытие окна при разрыве соединения, так как в окне может оставаться важная информация, которую можно потерять при автоматическом закрытии окна.

Для отключения автоматического закрытия окна, нужно выбрать пункт “never” в разделе “Close window on exit”:

Не закрывать окно автоматически

Не закрывать окно автоматически

После того, как будут установлены все параметры соединения, их можно сохранить, чтобы не нужно было вводить заново при повторном открытии приложения. Для сохранения настроек нужно ввести название набора настроек в поле под надписью “saved sessions” и нажать кнопку “save”:

Сохранение настроек

Сохранение настроек

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

Для подключения к серверу, нужно, после ввода или загрузки настроек, нажать кнопку “Open”. Должно открыться окно терминала:

Успешное подключение к серверу

Успешное подключение к серверу

В окне терминала ведется диалог с сервером. Для отправки запроса на сервер, нужно ввести команду в окне терминала и нажать Enter. При нажатии Enter происходит отправка команды на сервер. До тех пор пока не нажат Enter, данные на сервер еще не отправлены, команду можно отредактировать.

Ответы сервера будут выводиться в то же самое окно терминала.

Если нажать правой кнопкой мыши на заголовок окна терминала, появится всплывающее меню приложения:

Меню PuTTY

Меню PuTTY

В меню приложения можно создать новое подключение, не закрывая активное (New Session), перезапустить подключение с теми же настройками (Restart Session), дублировать подключение (Duplicate Session), изменить настройки активного подключения (Change Settings).

Netcat

Netcat – это очень полезная утилита, позволяющая работать с протоколами TCP или UDP, устанавливая соединения и посылая сообщения на любой порт. Netcat может служить в качестве шлюза, передавая данные, полученные из потока ввода или файлов по сети и принимать ответы от сервера, отправляя их в поток вывода или файл. Также Netcat может работать в режиме сервера, открывая указанный порт и ожидая запросов из сети. Эта особенность позволяет выполнять задачи, которые не может выполнять PuTTY, например работать по протоколу FTP в активном режиме.

Netcat разработана для ОС Unix и ей подобных, но есть и порты для Windows.

Скачать Netcat можно по ссылке или с сайта разработчика.

В архиве находится исходный код приложения и исполняемый файл nc64.exe, который мы и будем использовать.

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

Окно консоли

Окно консоли

Для подключения к серверу, нужно запустить Netcat с двумя аргументами: первый аргумент – адрес сервера, второй – номер порта.

Подключение с использованием Netcat

Подключение с использованием Netcat

После подключения можно вести диалог с сервером.

Для завершения программы нужно нажать сочетание клавиш CTRL+C.

Для запуска Netcat в режиме сервера, нужно запустить программу с ключом “-l”:

Запуск в режиме сервера

Запуск в режиме сервера

При запуске в режиме сервера, локальный порт указывается с помощью ключа “-p”.

Наверх
Практика
Регистрация в JupyterHub