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

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

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

По окончанию этого практического занятия у вас будет практический опыт в следующих аспектах:

  1. Установке и настройке Wireshark
  2. Захвате сетевого трафика
  3. Анализе данных пакетов
  4. Фильтрации сетевых захватов
  5. Идентификации распространенных протоколов

Погрузимся в увлекательный мир сетевого анализа!

Установка Wireshark

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

  1. Сначала откроем терминал. На рабочем столе найдите и откройте терминал Xfce.
Открытие окна терминала Xfce

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

Только для профессиональных пользователей
  1. Обновим список пакетов, чтобы убедиться, что у нас есть актуальная информация о доступном программном обеспечении. Выполните следующую команду:
sudo apt update
  1. Теперь, когда наш список пакетов обновлен, установим Wireshark. Введите следующую команду:
sudo apt install wireshark -y
  1. Во время установки вас спросят, хотите ли вы разрешить обычным пользователям захватывать пакеты. Выберите "Да" с помощью стрелок на клавиатуре и нажмите Enter. Это позволит вам использовать Wireshark без необходимости запускать его от имени суперпользователя, что более безопасно.
Запрос при установке Wireshark
  1. После завершения установки убедитесь, что Wireshark был установлен правильно, проверив его версию:
wireshark --version

Вы должны увидеть вывод, показывающий номер версии Wireshark.

  1. Чтобы убедиться, что у вас есть необходимые разрешения для захвата пакетов, добавьте своего пользователя в группу wireshark:

Сначала проверим, существует ли группа wireshark:

getent group wireshark

Если группа wireshark не существует, создайте ее с помощью следующей команды:

sudo groupadd wireshark

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

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

Поздравляем! Вы только что установили один из самых мощных инструментов в арсенале сетевого аналитика.

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

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

  1. Откройте Wireshark, введя wireshark в терминале и нажав Enter.

  2. Когда Wireshark откроется, вы увидите список сетевых интерфейсов. Найдите интерфейс с именем "eth0" или "eth1" - обычно это основные сетевые интерфейсы.

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

    curl http://example.com

    Эта команда загрузит веб - страницу example.com, создав некоторый HTTP - трафик.

  2. После нескольких секунд захвата нажмите красную квадратную кнопку "Стоп" в верхней части окна Wireshark, чтобы остановить захват.

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

  4. Чтобы сохранить этот захват для дальнейшего анализа, перейдите в меню Файл > Сохранить и сохраните файл как myfirstcapture.pcapng в вашем домашнем каталоге (/home/labex).

Сохранение файла с захваченным сетевым трафиком

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

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

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

  1. Откройте сохраненный файл с захваченными данными в Wireshark, выбрав в меню Файл > Открыть и выбрав myfirstcapture.pcapng из вашего домашнего каталога. Или дважды щелкните по файлу, чтобы открыть его.

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

  3. Щелкните по пакету, чтобы выбрать его. В средней панели вы увидите детали пакета, разбитые на разные протоколовые слои. Это похоже на очистку луковицы – каждый слой раскрывает больше информации о пакете.

  4. Найдем HTTP - трафик (веб - просмотр). В строке фильтра в верхней части окна введите http и нажмите Enter. Это покажет только HTTP - пакеты.

Фильтр HTTP - пакетов в Wireshark
  1. Найдите пакет с "GET" в поле описания. Это представляет запрос на веб - страницу. Щелкните по нему, чтобы рассмотреть детали.
Детали HTTP - пакета GET
  1. В панели с деталями пакета (средняя) разверните раздел "Hypertext Transfer Protocol" (Протокол передачи гипертекста). Здесь вы можете увидеть детали HTTP - запроса, включая запрошенную страницу.

  2. Теперь найдем ответ сервера. Найдите пакет с "HTTP/1.1 200 OK" в поле описания. Это представляет успешный ответ от веб - сервера.

Пакет успешного ответа веб - сервера HTTP
  1. Рассмотрите детали этого пакета. Возможно, вы сможете увидеть содержимое веб - страницы в разделе "Line-based text data" (Текстовые данные, основанные на строках).

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

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

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

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

    • Чтобы показать только TCP - трафик, введите tcp в строке фильтра и нажмите Enter.
    • Чтобы показать трафик, направленный к определенному IP - адресу или исходящий от него, введите ip.addr == 93.184.215.14 (это IP - адрес example.com, но вы можете заменить его на любой IP - адрес, который вы видите в своих захваченных данных).
Пример фильтра TCP в Wireshark
  • Чтобы показать все HTTP - запросы GET, введите http.request.method == "GET".
  1. Создадим более сложный фильтр. Найдем все HTTP - запросы GET к example.com:

    • В строке фильтра введите: http.request.method == "GET" && http.host contains "example.com"
Фильтр HTTP GET в Wireshark
  • Этот фильтр показывает все запросы GET к любому домену, содержащему "example.com".
  1. Wireshark также позволяет сохранять фильтры для дальнейшего использования. Сохраним наш фильтр для HTTP - запросов GET:

    • Щелкните на плюсе ("+") рядом со строкой фильтра.
    • Назовите фильтр "HTTP GETs" и нажмите Сохранить.
    • Теперь вы можете быстро применить этот фильтр в любое время, выбрав его из списка сохраненных фильтров.
  2. Наконец, экспортируем некоторые наши результаты. Перейдите в Статистика > HTTP > Запросы, затем нажмите "Сохранить как", чтобы экспортировать список HTTP - запросов в файл.

    • Выберите /home/labex и сохраните файл как http_requests.txt.
Экспорт списка HTTP - запросов

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

Резюме

В этой лабораторной работе вы сделали первые шаги в мир сетевого анализа с использованием Wireshark. Вы научились:

  1. Устанавливать и настраивать Wireshark на системе Linux
  2. Захватывать сетевой трафик и сохранять его для анализа
  3. Изучать данные пакетов, чтобы понять сетевые взаимодействия
  4. Использовать фильтры для фокусировки на определенных типах трафика

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

Для углубленного изучения Wireshark и сетевого анализа ознакомьтесь с курсом "Быстрый старт с Wireshark" на платформе LabEx. Этот курс охватывает продвинутые темы и включает практические упражнения, которые помогут вам овладеть этим мощным инструментом: https://labex.io/courses/quick-start-with-wireshark.

Обложка курса по Wireshark