Анализ сети с помощью Wireshark

WiresharkBeginner
Практиковаться сейчас

Введение

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

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

Установка Wireshark

На этом этапе мы установим Wireshark в систему Ubuntu. Wireshark — это анализатор сетевых протоколов, который позволяет перехватывать и просматривать сетевой трафик в интерактивном режиме. Он доступен в стандартных репозиториях Ubuntu, что делает процесс установки простым даже для новичков.

  1. Сначала откроем терминал. Найдите на рабочем столе и запустите Xfce Terminal. Именно здесь мы будем выполнять все команды для установки и настройки Wireshark.
Opening Xfce Terminal window

Примечание: Пользователи бесплатной версии не имеют доступа к интернету, поэтому Wireshark уже предустановлен в лабораторной среде. Вы можете сразу перейти к пункту 5 списка (проверка установки Wireshark). Перейдите на тариф Pro, чтобы попрактиковаться в самостоятельной установке ПО.

Только для пользователей Pro
  1. Перед установкой любого программного обеспечения рекомендуется обновить списки пакетов. Это гарантирует установку последней доступной версии Wireshark. Выполните следующую команду:
sudo apt update
  1. Теперь установим сам Wireshark. Флаг -y автоматически подтверждает все запросы во время установки, что упрощает процесс:
sudo apt install wireshark -y
  1. Во время установки появится важное окно настройки безопасности с вопросом о разрешении пользователям без прав суперпользователя перехватывать пакеты. Это ключевой момент настройки: выбор «Yes» (Да) означает, что вам не понадобятся права root для запуска Wireshark, что безопаснее для повседневного использования. Используйте клавиши со стрелками, чтобы выбрать «Yes», и нажмите Enter.
Wireshark installation prompt
  1. После завершения установки проверим правильность работы Wireshark. Проверка версии подтвердит успешную установку и покажет текущую версию программы:
wireshark --version
  1. Для перехвата сетевого трафика необходимо настроить соответствующие права доступа. Это включает добавление вашего пользователя в группу wireshark и настройку Dumpcap (инструмента перехвата пакетов Wireshark) с нужными привилегиями:

Сначала проверьте, существует ли группа wireshark (она должна была создаться при установке):

getent group wireshark

Если по какой-то причине группа отсутствует, создайте ее:

sudo groupadd wireshark

Следующие команды настроят Dumpcap для работы с повышенными привилегиями, при этом сам Wireshark будет работать от имени обычного пользователя — это лучший метод обеспечения безопасности:

sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 4755 /usr/bin/dumpcap
sudo gpasswd -a $USER wireshark

После выполнения этих команд вам потребуется выйти из системы и войти снова, чтобы изменения в группах вступили в силу. Теперь вы успешно установили и настроили Wireshark и готовы приступить к анализу сетевого трафика!

Перехват сетевого трафика

Теперь, когда Wireshark установлен, давайте перехватим немного сетевого трафика. Представьте, что это похоже на установку микрофона для записи всех разговоров в вашей сети. Каждый раз, когда ваш компьютер отправляет или получает данные, они разбиваются на мелкие части, называемые пакетами. Wireshark позволяет нам видеть и анализировать эти пакеты.

  1. Запустите Wireshark, введя wireshark в терминале и нажав Enter. Откроется графический интерфейс, в котором мы будем работать.

  2. После открытия Wireshark вы увидите список сетевых интерфейсов (соединений, которые ваш компьютер использует для связи). Ищите интерфейс с именем "eth0" или "eth1" — обычно это проводные соединения Ethernet. Если вы используете WiFi, вы можете увидеть "wlan0".

Wireshark interface selection
  1. Дважды щелкните по активному интерфейсу (тому, где счетчик пакетов увеличивается), чтобы начать перехват. В основном окне появится поток пакетов в реальном времени — каждая строка представляет собой отдельный сетевой диалог, происходящий прямо сейчас.
Wireshark packet capture window
  1. Давайте создадим сетевую активность для перехвата. Откройте новое окно терминала и введите:

    curl http://example.com

    Эта команда запрашивает главную страницу example.com, генерируя HTTP-пакеты (веб-трафик), которые Wireshark сможет зафиксировать. Вы сразу увидите новые пакеты в окне программы.

  2. После появления нескольких пакетов (достаточно 5–10 секунд) нажмите красную кнопку «Stop» (Стоп) в верхней части окна. Это остановит перехват, чтобы мы могли спокойно изучить данные без постоянного поступления новых пакетов.

  3. Поздравляем! Вы перехватили свой первый сетевой трафик. Каждая строка — это пакет с такими деталями, как адреса источника и назначения, тип протокола и время. Три основные панели показывают: список пакетов (сводка), детали пакета (технический разбор) и необработанные данные пакета (шестнадцатеричный вид).

  4. Чтобы сохранить результат, перейдите в File > Save и назовите файл myfirstcapture.pcapng в директории /home/labex. Формат .pcapng сохраняет все детали пакетов для последующего анализа.

Saving network capture file

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

Анализ данных пакетов

Теперь, когда мы перехватили сетевой трафик, давайте изучим его шаг за шагом. Представьте, что это чтение цифровой переписки — мы научимся понимать «язык», на котором общаются компьютеры.

  1. Открытие файла перехвата:
    Запустите Wireshark и откройте сохраненный файл (myfirstcapture.pcapng) через File > Open или дважды щелкнув по самому файлу. Этот файл содержит весь записанный ранее трафик, подобно записи телефонных разговоров.

  2. Понимание списка пакетов:
    Верхняя панель отображает все перехваченные пакеты в хронологическом порядке. Каждая строка — это одно сетевое сообщение, в котором указано:

    • Кто отправил (Source IP)
    • Кто получил (Destination IP)
    • Тип связи (Protocol)
    • Краткая информация (Info)
  3. Изучение деталей пакета:
    При нажатии на любой пакет в средней панели раскрывается его внутренняя структура по уровням протоколов:

    • Frame: Физические детали сети
    • Ethernet: Аппаратная адресация
    • IP: Информация о маршрутизации в интернете
    • TCP/UDP: Транспортные детали
    • Application data: Данные приложения (например, HTTP)
  4. Фильтрация HTTP-трафика:
    В строке фильтра (сверху) введите http и нажмите Enter. Это изолирует веб-трафик, подобно поиску только текстовых сообщений в журнале звонков. HTTP — это протокол, который браузеры используют для связи с серверами.

Wireshark HTTP packet filter
  1. Идентификация веб-запросов:
    Найдите пакеты с пометкой "GET" в колонке Info. Они означают, что ваш браузер запрашивает веб-страницы. Нажмите на один из них, чтобы увидеть:
    • Точный запрашиваемый URL
    • Сайт, к которому было обращение
    • Технические детали запроса
HTTP GET packet details
  1. Анализ HTTP-заголовков:
    Разверните раздел "Hypertext Transfer Protocol", чтобы увидеть:

    • Метод запроса (GET/POST)
    • Запрашиваемый ресурс (/index.html)
    • Информацию о браузере
    • Cookies и другие метаданные
  2. Поиск ответов сервера:
    Найдите пакеты "HTTP/1.1 200 OK". Они свидетельствуют об успешной доставке веб-страницы. Обратите внимание на:

    • Коды ответов (200 = успех, 404 = не найдено)
    • Тип сервера (Apache/Nginx)
    • Тип контента (HTML, изображения и т. д.)
HTTP server successful response packet
  1. Просмотр веб-контента:
    В успешных ответах проверьте раздел "Line-based text data", чтобы увидеть фактическое содержимое веб-страницы. Там отображается HTML-код, который сервер отправил вашему браузеру.

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

Использование фильтров

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

  1. Откройте файл перехвата в Wireshark и начнем с простых фильтров отображения. Строка фильтра находится сразу под основной панелью инструментов:

    • Чтобы показать только TCP-трафик (самый распространенный транспортный протокол), введите tcp в строке фильтра и нажмите Enter. Это скроет все пакеты, не относящиеся к TCP.
    • Чтобы увидеть трафик к определенному IP-адресу или от него, введите ip.addr == 93.184.215.14 (это IP-адрес example.com, но вы можете заменить его на любой IP из вашего перехвата). Двойное равно (==) означает «точное соответствие».
    Wireshark TCP filter example
    • Чтобы увидеть все HTTP GET-запросы (самый частый тип веб-запросов), введите http.request.method == "GET". Это поможет понять, какие именно страницы запрашиваются.
  2. Теперь создадим более сложный фильтр, комбинируя условия. Мы найдем все HTTP GET-запросы, направленные именно к example.com:

    • В строке фильтра введите: http.request.method == "GET" && http.host contains "example.com"
    • Символ && означает логическое «И» (оба условия должны выполняться).
    • Оператор contains позволяет найти любой домен, содержащий строку "example.com".
    Wireshark HTTP GET filter
    • Этот фильтр покажет все GET-запросы к любому домену, содержащему "example.com", что полезно для мониторинга трафика на конкретные сайты.
  3. Поскольку некоторые фильтры вы будете использовать постоянно, Wireshark позволяет их сохранять. Давайте сохраним наш фильтр для HTTP GET:

    • Нажмите на знак плюса («+») рядом со строкой фильтра. Откроется окно управления фильтрами.
    • Назовите фильтр "HTTP GETs" и нажмите Save. Выбирайте понятные названия, которые легко запомнить.
    • Теперь вы можете быстро применить этот фильтр в любое время, выбрав его из списка сохраненных фильтров (значок закладки рядом со строкой фильтра).
  4. Наконец, экспортируем некоторые результаты для документации или дальнейшего анализа:

    • Перейдите в Statistics > HTTP > Requests, чтобы увидеть сводку всех HTTP-запросов.
    • Нажмите «Save as», чтобы экспортировать список в файл.
    • Выберите путь /home/labex и сохраните файл под именем http_requests.txt.
    Exporting HTTP requests list

Использование фильтров позволяет быстро просеивать большие массивы данных и фокусироваться на важном. Это похоже на сверхмощное увеличительное стекло, которое мгновенно показывает нужные типы сетевого трафика. Освоение фильтров сэкономит вам часы работы при поиске сетевых проблем или анализе инцидентов безопасности.

Резюме

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

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