Лабораторная работа 7.
ОС Linux,
cетевое взаимодействие.
Информация
Для организации сетевого взаимодействия между компьютерами требуется
- наличие между ними физического или логического сетевого соединения на базе одного из стеков сетевых
протоколов
- наличие серверной службы передачи данных на одном из них
- наличие клиентской службы передачи данных - на другом
В качестве стека сетевых протоколов в последнее время чаще всего используется стек TCP/IP.
Передача данных между клиентской и серверной службами осуществляется обычно по стандартизованным протоколам
в рамках заявленного стека,
что позволяет реализовывать клиентское и серверное ПО отдельно друг от друга разным разработчикам.
В клиент-серверной передаче данных предполагается, что клиент инициирует соединение, а сервер - отвечает
на запросы клиента.
Различают следующие виды передачи данных:
- передача файлов
- удаленное выполнение процедур
- передача произвольных данных
Передача файлов подразумевает либо поддержку сетевым ПО передачу файлов между клиентской и серверной файловыми
системами, либо поддержку специализированной сетевой файловой системы.
В первом случае сеанс связи
устанавливается обычно на непродолжительное время для передачи файлов из одной файловой системы
в другую, после чего связь завершается (протоколы FTP, SSH и др.).
Во втором случае установка связи носит постоянный характер
и удаленная файловая система интегрируется в локальную файловую систему (протоколы CIFS, SMB, NFS и др.).
При этом появляется возможность любым приложениям использовать удаленные файлы средствами,
специфичными для локальной файловой системы. В ОС Windows это обеспечивается подключением сетевых дисков,
в ОС Linux - монтированием сетевой файловой системы.
Удаленное выполнение процедур предполагает наличие возможностей выполнять команды на удаленной системе.
Для этого могут использоваться как узкоспециализированные протоколы (RPC, DCOM и др.), так и протоколы,
предоставляющие администратору полноценный удаленный консольный или графический интерфейс (Telnet, SSH, RDP и др.)
Сервисы, предназначенные для передачи произвольных данных, не ассоциируют передаваемые данные с файлами и
файловой системой. Это могут быть данные любого вида и формы, регламентируемые только используемым протоколом
(HTTP, SMTP, SNMP и др.)
Задание
Проверить возможности сетевого взамодействия ОС Linux, установленной в предыдущей ЛР.
- Средствами VirtualBox создать снимок системы, чтобы впоследствии можно было отвергать изменения, произведенные в ОС и возвращаться
к ее первоначальному состоянию.
-
В VM установить утилиты lsof и nmap. Утилита lsof предназначена для вывода списка открытых файлов (lsof - LiSt Of Files).
Так как в ОС Linux сетевые соединения также считаются файлами, lsof имеет параметры для их анализа.
Утилита nmap предназначена для сканирования сетевых портов.
- Используя утилиту nmap, определить, какие TCP-порты прослушиваются на VM.
Подтвердить полученную информацию, используя утилиту lsof, и дополнительно выяснить идентификаторы слушающих процессов.
Используя утилиту ps, выяснить местоположение слушающих процессов в файловой системе. Используя утилиту rpm, выяснить, к каким
программным пакетам относятся найденные приложения. Используя утилиту apt-cache, вывести описание найденных пакетов. Определить,
для какого вида передачи данных предназначены найденные процессы.
- Используя браузер на HN, поключиться к одному из прослушиваемых сетевых портов на VM и определить, для каких целей предназначено слушающее приложение.
В случае запроса логина-пароля, использовать логин-пароль администратора VM.
- Используя Midnight Commander на HN или на другом компьютере локальной сети (если на HN используется ОС Windows), подключиться c помощью Shell-соединения к VM и скопировать свой каталог info в каталог /tmp/ на VM. Проверить результат
с консоли VM. При запросе логина-пароля, использовать логин-пароль созданного во время установки VM обычного пользователя.
- Используя утилиту ssh на HN (если на HN используется ОС Linux) или утилиту putty на HN (если на HN используется ОС Windows),
подключиться к VM и с помощью утилиты lsof определить, какой сетевой порт используется на HN для организации связи с VM.
- Запустить в VM утилиту netcat в режиме прослушивания одного из сетевых портов из диапазона от 10000 до 65535 и с перенаправлением полученного из сети содержимого
в файл /tmp/data_НСБ.txt. Используя утилиту netcat на HN или любом другом компьютере локальной сети, отправить один из своих файлов (см. ЛР№1 и ЛР№2)
на соответствующий сетевой порт VM. Проверить факт получения файла.