Файл: Лабораторная работа 3 по дисциплине Операционные системы.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 29.10.2023

Просмотров: 52

Скачиваний: 9

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Министерство цифрового развития, связи и массовых коммуникаций РФ Федеральное государственное бюджетное образовательное учреждение высшего образования

«Сибирский государственный университет телекоммуникаций и информатики»

(СибГУТИ)
Лабораторная работа 3

по дисциплине:

«Операционные системы»


Выполнил:




Группа:




Вариант:

01

Проверил:

Квиткова И.Г.


Новосибирск, 2022 г.

Цель занятия: знакомство с сетевыми командами.

Изучаемые команды: ifconfig, route, traceroute, ping.
Задание 1

Создать файл, содержащий MAC-адрес сетевого интерфейса eth0 и статистику переданных и принятых пакетов для этого интерфейса.
Решение

ifconfig eth0 | egrep "ether|RX packets|TX packets" > eth0.txt
Результат:



Задание 2

Создать файл, содержащий cписок доступных IP-адресов локальной сети.
Решение

Создаем скрипт: scan.sh
#!/bin/bash

NET=192.168.0

FIRST=1

LAST=254
FILE='net.txt'
echo "" > $FILE

for ((HOST=$FIRST;HOST<=$LAST;HOST++))

do

ping -w3 -c2 "$NET.$HOST" >/dev/null && echo "$NET.$HOST" >> $FILE

done
net.txt

192.168.0.1

192.168.0.3

192.168.0.4

Результат:



Задание 3

Создать файл, содержащий IP-адрес и сетевое имя шлюза по умолчанию для выхода в Интернет.
Решение

route | grep 'UG[ \t]' | awk '{print $2}' > gateway.txt

route -n | grep 'UG[ \t]' | awk '{print $2}' >> gateway.txt
Результат:



Задание 4

Создать файл, содержащий перечень имен и IP-адресов узлов, входящих в маршрут до вашего почтового сервера (например, mail.ru, yandex.ru).
Решение

traceroute gmail.com > traceroute.txt

Результат:




Задание 5

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

Создаем скрипт ping1.sh:
#!/bin/bash

PATH=/bin:/bin/bash:/usr/bin:/sbin:/usr/sbin

IP=("192.168.0.1 212.48.195.123 94.25.18.38 87.226.183.89 89.191.239.3")

for g in ${IP[@]}; do

result=$(ping -c 2 -W 1 -q $g | grep transmitted)

pattern="0 received";

if [[ $result = $pattern ]]; then

while [[ $result = $pattern ]]

do

result=$(ping -c 2 -W 1 -q $g | grep transmitted)

echo "$result"

done

else

echo "$g is up"

fi

done
Узел 5 недоступен. Нет ответа на ICMP запросы.
Результат: