Лаб. работа "Сетевые инструменты в Linux"
Лабораторная работа по теме “Сетевые инструменты в Linux”
Цель работы
Изучить основные сетевые утилиты и инструменты для диагностики сети в операционной системе Linux. Получить практические навыки работы с сетевыми командами для проверки connectivity, анализа сетевого трафика, диагностики проблем и мониторинга сетевых соединений.
Теоретические сведения
Сетевые инструменты в Linux представляют собой мощный набор утилит для работы с сетевыми протоколами, диагностики соединений и мониторинга сетевой активности. Эти инструменты используются системными администраторами, разработчиками и DevOps-инженерами для обеспечения стабильной работы сетевых сервисов.
Основные категории сетевых инструментов:
1. Диагностика connectivity:
ping- проверка доступности узлаtraceroute- трассировка маршрутаmtr- комбинированный инструмент ping+traceroute
2. Анализ сетевых интерфейсов:
ifconfig- настройка сетевых интерфейсовip- современная замена ifconfignetstat- статистика сетевых соединенийss- современная замена netstat
3. Анализ портов и сервисов:
nmap- сканирование портовtelnet- проверка TCP соединенийnc(netcat) - универсальный инструмент для работы с TCP/UDP
4. Анализ трафика:
tcpdump- захват сетевого трафикаwireshark- графический анализатор трафикаiftop- мониторинг сетевого трафика в реальном времени
5. DNS утилиты:
nslookup- запросы к DNS серверамdig- детальный DNS анализhost- простые DNS запросы
Необходимое программное обеспечение
- Операционная система Linux (Ubuntu, CentOS, Debian)
- Терминал с доступом к интернету
- Права обычного пользователя (для большинства команд)
- Права суперпользователя (для некоторых диагностических команд)
Ход работы
Задание 1. Проверка сетевого подключения
- Откройте терминал и выполните команду для проверки подключения к интернету:
1ping -c 4 8.8.8.8
Объясните вывод команды. Что означают параметры -c 4?
- Проверьте доступность локального интерфейса:
1ping -c 3 localhost
- Проверьте доступность шлюза по умолчанию (замените IP на ваш шлюз):
1ip route | grep default
2ping -c 2 <IP_вашего_шлюза>
Задание 2. Трассировка маршрута
- Выполните трассировку до популярного сайта:
1traceroute google.com
- Сравните с результатом современного аналога:
1mtr google.com
- Проанализируйте результаты. Сколько промежуточных узлов проходит пакет до цели?
Задание 3. Анализ сетевых интерфейсов
- Просмотрите информацию о сетевых интерфейсах:
1ip addr show
- Получите информацию о маршрутизации:
1ip route show
- Проверьте статистику сетевых интерфейсов:
1ip -s link show
Задание 4. Анализ сетевых соединений
- Просмотрите все активные TCP соединения:
1ss -tuln
- Найдите процессы, использующие сетевые соединения:
1ss -tulnp
- Проверьте только установленные соединения:
1ss -tn state established
Задание 5. Работа с портами
- Проверьте, какие порты открыты на локальной машине:
1netstat -tuln
- Используйте
ncдля проверки конкретного порта:
1nc -zv localhost 22
2nc -zv localhost 80
- Проверьте доступность внешнего сервиса:
1nc -zv google.com 80
Задание 6. DNS анализ
- Выполните DNS запрос с помощью
dig:
1dig google.com
- Получите только A запись:
1dig google.com A +short
- Проверьте MX записи для домена:
1dig google.com MX
- Используйте
nslookupдля сравнения:
1nslookup google.com
Задание 7. Сканирование портов (с осторожностью!)
ВНИМАНИЕ: Сканирование портов на чужих системах может нарушать закон. Используйте только на своих системах или с разрешения.
- Установите nmap (если не установлен):
1sudo apt install nmap # для Ubuntu/Debian
2# или
3sudo yum install nmap # для CentOS/RHEL
- Сканируйте порты на локальной машине:
1nmap localhost
- Сканируйте конкретные порты:
1nmap -p 22,80,443 localhost
Задание 8. Мониторинг сетевого трафика
- Установите iftop для мониторинга трафика:
1sudo apt install iftop
- Запустите мониторинг (требует sudo):
1sudo iftop
- Для анализа трафика используйте
tcpdump(тоже требует sudo):
1sudo tcpdump -i any -c 10
Задания для самостоятельной работы
Задание 9. Создание сетевого скрипта
Создайте скрипт network_check.sh, который:
- Проверяет доступность интернета (ping до 8.8.8.8)
- Проверяет DNS разрешение имен
- Показывает активные сетевые соединения
- Выводит информацию о сетевых интерфейсах
1#!/bin/bash
2
3echo "=== Проверка сетевого подключения ==="
4echo "1. Ping до 8.8.8.8:"
5ping -c 3 8.8.8.8
6
7echo -e "\n2. DNS разрешение:"
8dig google.com +short
9
10echo -e "\n3. Активные соединения:"
11ss -tuln | head -10
12
13echo -e "\n4. Сетевые интерфейсы:"
14ip addr show | grep -E "^[0-9]|inet "
Задание 10. Анализ производительности сети
- Измерьте скорость соединения с помощью
iperf3(если доступен):
1# На сервере (если есть)
2iperf3 -s
3
4# На клиенте
5iperf3 -c <IP_сервера>
- Используйте
pingдля измерения задержки:
1ping -c 100 google.com | tail -1
Контрольные вопросы
- В чем разница между командами
pingиtraceroute? - Что показывает команда
ss -tulnp? - Как проверить, какие порты прослушивает конкретный процесс?
- В чем разница между
nslookupиdig? - Что означает результат команды
tracerouteс символами* * *? - Какой инструмент лучше использовать для анализа сетевого трафика в реальном времени?
- Что показывает TTL в результатах
pingиtraceroute? - Как проверить DNS серверы, которые использует ваша система?
- В чем разница между
netstatиss? - Какой порт используется по умолчанию для HTTP и HTTPS соединений?
Дополнительные материалы
man ping- справочная страница pingman traceroute- справочная страница tracerouteman ss- справочная страница ssman dig- справочная страница digman nmap- справочная страница nmap