Лаб. работа “Сетевые инструменты в Linux”
Лабораторная работа по теме “Сетевые инструменты в Linux”
Цель работы
Изучить основные сетевые утилиты и инструменты для диагностики сети в операционной системе Linux. Получить практические навыки работы с сетевыми командами для проверки connectivity, анализа сетевого трафика, диагностики проблем и мониторинга сетевых соединений.
Теоретические сведения
Сетевые инструменты в Linux представляют собой мощный набор утилит для работы с сетевыми протоколами, диагностики соединений и мониторинга сетевой активности. Эти инструменты используются системными администраторами, разработчиками и DevOps-инженерами для обеспечения стабильной работы сетевых сервисов.
Основные категории сетевых инструментов:
1. Диагностика connectivity: - ping - проверка доступности узла - traceroute - трассировка маршрута - mtr - комбинированный инструмент ping+traceroute
2. Анализ сетевых интерфейсов: - ifconfig - настройка сетевых интерфейсов - ip - современная замена ifconfig - netstat - статистика сетевых соединений - 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. Проверка сетевого подключения
- Откройте терминал и выполните команду для проверки подключения к интернету:
Объясните вывод команды. Что означают параметры -c 4?
- Проверьте доступность локального интерфейса:
- Проверьте доступность шлюза по умолчанию (замените IP на ваш шлюз):
Задание 2. Трассировка маршрута
- Выполните трассировку до популярного сайта:
- Сравните с результатом современного аналога:
- Проанализируйте результаты. Сколько промежуточных узлов проходит пакет до цели?
Задание 3. Анализ сетевых интерфейсов
- Просмотрите информацию о сетевых интерфейсах:
- Получите информацию о маршрутизации:
- Проверьте статистику сетевых интерфейсов:
Задание 4. Анализ сетевых соединений
- Просмотрите все активные TCP соединения:
- Найдите процессы, использующие сетевые соединения:
- Проверьте только установленные соединения:
Задание 5. Работа с портами
- Проверьте, какие порты открыты на локальной машине:
- Используйте
ncдля проверки конкретного порта:
- Проверьте доступность внешнего сервиса:
Задание 6. DNS анализ
- Выполните DNS запрос с помощью
dig:
- Получите только A запись:
- Проверьте MX записи для домена:
- Используйте
nslookupдля сравнения:
Задание 7. Сканирование портов (с осторожностью!)
ВНИМАНИЕ: Сканирование портов на чужих системах может нарушать закон. Используйте только на своих системах или с разрешения.
- Установите nmap (если не установлен):
- Сканируйте порты на локальной машине:
- Сканируйте конкретные порты:
Задание 8. Мониторинг сетевого трафика
- Установите iftop для мониторинга трафика:
- Запустите мониторинг (требует sudo):
- Для анализа трафика используйте
tcpdump(тоже требует sudo):
Задания для самостоятельной работы
Задание 9. Создание сетевого скрипта
Создайте скрипт network_check.sh, который:
- Проверяет доступность интернета (ping до 8.8.8.8)
- Проверяет DNS разрешение имен
- Показывает активные сетевые соединения
- Выводит информацию о сетевых интерфейсах
Задание 10. Анализ производительности сети
- Измерьте скорость соединения с помощью
iperf3(если доступен):
- Используйте
pingдля измерения задержки:
Контрольные вопросы
- В чем разница между командами
pingиtraceroute? - Что показывает команда
ss -tulnp? - Как проверить, какие порты прослушивает конкретный процесс?
- В чем разница между
nslookupиdig? - Что означает результат команды
tracerouteс символами* * *? - Какой инструмент лучше использовать для анализа сетевого трафика в реальном времени?
- Что показывает TTL в результатах
pingиtraceroute? - Как проверить DNS серверы, которые использует ваша система?
- В чем разница между
netstatиss? - Какой порт используется по умолчанию для HTTP и HTTPS соединений?
Дополнительные материалы
man ping- справочная страница pingman traceroute- справочная страница traceroute
man ss- справочная страница ssman dig- справочная страница digman nmap- справочная страница nmap