Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров315K
Руководство по анализу трафика сети посредством Wireshark
1. Что такое Wireshark?
Wireshark – это широко распространённый инструмент для захвата и анализа сетевого трафика, который активно используется как для образовательных целей, так и для устранения неполадок на компьютере или в сети. Wireshark работает практически со всеми протоколами модели OSI, обладает понятным для обычного пользователя интерфейсом и удобной системой фильтрации данных. Помимо всего этого, программа является кроссплатформенной и поддерживает следующие операционные системы: Windows, Linux, Mac OS X, Solaris, FreeBSD, NetBSD, OpenBSD.
В этом руководстве мы рассмотрим основной функционал программы Wireshark, соотнесём её с моделью OSI, научимся анализировать сетевой трафик и обезопасим своё нахождение в глобальной сети Интернет.
2. Как установить Wireshark?
Для начала нам необходимо скачать и установить программу Wireshark. Так как программа распространяется под лицензией GNU GPL v2 (т.е. может свободно распространяться), то несложно найти любую версию программы в свободном доступе. В руководстве мы будем использовать функционал более ранней версии программы (1.12.3). Это вызвано тем, что в этой версии сразу встроен протокол SSL, который используется в главе 6. Установка более ранней версии облегчает подготовку к работе с программой, поэтому мы выбрали её. Найти установщик можно на официальном сайте.
Дальнейшая установка программы проста – нажимаем «Next» — «Next» — «Next».
После успешной установки на Вашем рабочем столе появится ярлык Wireshark. Мы можем приступать к рассмотрению функционала!
3. Как пользоваться программой Wireshark?
Одна из главных возможностей программы – это захват трафика сети. Поэтому для начала необходимо научиться захватывать трафик Вашей сети.
Запустим программу! Нас сразу встречает стартовое меню, на котором можно увидеть доступные для захвата интерфейсы компьютера, руководства от разработчиков программы и множество других интересных вещей.
Из всего этого нам необходимо обратить внимание на эту область программы.
Здесь нужно выбрать тот сетевой интерфейс, через который Вы подключены к Интернету.
Сетевой интерфейс – это программное обеспечение, которое взаимодействует с сетевым драйвером и с уровнем IP. Он обеспечивает уровню IP доступ ко всем имеющимся сетевым адаптерам, трафик которых мы будет перехватывать. Чаще всего в программе Wireshark можно встретить сетевой интерфейс беспроводной (Wi-Fi) и кабельный (Ethernet).
В руководстве используется Wi-Fi, поэтому мы выполняем захват «Беспроводной сети», после чего нажимаем «Start».
Если Вы выбрали правильный интерфейс, то сможете увидеть следующее.
Рассмотрим подробнее это окно по пунктам, указанным на нём:
-
Панель фильтров, позволяющая найти необходимую информацию. Подробнее о неё рассказано в пятой главе руководства.
-
Панель наименований, разделяющая информацию из пункта 3 на номер, временя с начала захвата трафика, источник и адресат, а также используемый протокол, размер пакета и небольшую информацию о сетевом пакете.
-
Панель пакетов, обновляющаяся в реальном времени. Здесь информация о пакетах разделена по столбцам, определённым на панели наименований.
-
Панель уровней, описывающая уровни модели OSI выбранного сетевого пакета.
-
Панель метаданных, представляющая данные в шестнадцатеричном коде и символах.
Поздравляем! Вы успешно захватили трафик Вашей сети. Теперь можно увидеть пакеты данных, проходящих по сети, а также некоторую информацию о них: адреса отправителя и получателя, использующиеся протоколы и содержание пакета.
Теперь можно приступить к анализу сетевого трафика.
4. Как найти скрытую информацию?
Перед началом анализа трафика необходимо иметь базовые знания о протоколах сетевой модели OSI. Достаточно прочитать статью в Википедии.
Во многих программах для передачи информации используется протокол HTTP, который позволяет получать различные ресурсы из Интернета и обратно. Рассмотрим один из пакетов, переданных по протоколу HTTP.
В протоколе HTTP для передачи данных используются запросы GET (предназначен для получения данных) и POST (предназначен для отправки данных).
На рисунке в поле 1 мы видим IP-адрес адресата (в данном случае, это адрес моего компьютера). В поле 2 мы узнаём, что сервер антивируса послал запрос GET для того, чтобы запросить некоторые данные о моём компьютере. Это необходимо для корректного обновления программы. И в поле 3 мы видим то, как выглядит этот запрос в виде URL (Интернет-ссылки).
Небольшое домашнее задание!
Для закрепления материала попробуйте проанализировать любой пакет протокола HTTP на Вашем компьютере и попытайтесь объяснить, для чего он был отправлен.
5. Как среди всех пакетов найти необходимые?
При выполнении домашнего задания у Вас могла возникнуть проблема нахождения необходимого пакета. Для её решения в программе Wireshark есть решение – фильтрация! В специальном поле «Filter» можно ввести необходимые команды или воспользоваться подсказками.
Чаще всего используется фильтрация по IP-адресам, по номерам порта и по протоколам. Давайте посмотрим, как это происходит.
Фильтрация по IP-адресу позволяет нам просматривать все пакеты, приходящие от кого-либо или уходящие кому-либо. Например, отберём все пакеты, приходящие от IP-адреса 10.1.30.46 с помощью ввода в фильтре «ip.src == x.x.x.x».
Также можно отфильтровать трафик сети по IP-адресу получателя пакетов с помощью команды «ip.dst == x.x.x.x».
Кроме того, можно увидеть пакеты вне зависимости от направления трафика с помощью «ip.addr == x.x.x.x».
Для фильтрации по номеру порта используется «.port = x» после названия протокола. Например, для просмотра TCP-порта 80, используемого для незашифрованного трафика HTTP, используем команду «tpc.port == 80».
И, наконец, для фильтрации трафика по используемым пакетами протоколам необходимо просто ввести название протокола.
Обратите внимание, что фильтры можно комбинировать при помощи логических операторов И «and/&&», ИЛИ «or/||» и НЕ «not/!»
Снова домашнее задание!
Чтобы попрактиковаться в поиске необходимой информации, попробуйте посмотреть количество пакетов того или иного протокола и подумайте, почему их так много.
6. Как перехватить данные, передающиеся по защищённым каналам связи?
Разобравшись с основным функционалом Wireshark, мы можем приступить к более сложному и полезному.
Передача данных в глобальной сети Интернет является небезопасной, особенно если никак не защищать их. В современных браузерах используется протокол SSL/TLS, который шифрует информацию и позволяет безопасно передать её.
Иногда пользователю или системного администратору необходимо проверить трафик на наличие подозрительной активности или на корректную работу программы. Из-за этого возникает необходимость расшифровывать перехваченный защищённый трафик.
Для начала разберёмся в том, как работает протокол SSL/TLS. Перед обменом шифрованными данными используется процесс установки соединения, также называемый рукопожатием.
На этапе рукопожатия клиент и сервер проходят аутентификацию (проверку подлинности), обмениваются информацией о своих возможностях и лишь после этого начинают согласование общего сеансового ключа.
Для согласования по незащищённому каналу связи существует множество алгоритмов. Выбор происходит из списка алгоритмов, которые поддерживаются клиентом, на начальной стадии рукопожатия.
Наиболее распространённым алгоритмом обмена сеансовым ключом является RSA. Рассмотрим инфографику, описывающую механизм работы алгоритма.
В момент рукопожатия клиент создаёт случайное число, называемое предварительным секретом, и отправляет его, зашифровав открытым ключом сервера. Далее обе стороны конвертируют предварительный секрет в главный и создают сеансовый ключ, который и используется для дальнейшего обмена информацией.
Теперь попробуем перехватить защищённую информацию в программе Wireshark. Выполним подготовительные действия, а именно проверим используемый для согласования сеансовых ключей алгоритм и настроим браузер. Для начала находим рукопожатие с помощью фильтра, введя «ssl.handshake», и проверяем сообщение сервера.
В поле «Cipher Suite» мы можем увитель «TLS_RSA». Это значит, что мы можем приступать к дальнейшим действиям.
Настройка браузера в операционной система Windows довольно проста. Открываем свойства компьютера, затем «Дополнительные параметры системы» и выбираем «Переменные среды…».
Добавляем новую пользовательскую переменную «SSKEYLOGFILE» и указываем путь до файла, куда мы ходим его сохранять.
Рассмотрим ответное сообщение клиента: оно содержит зашифрованное значение предварительного секрета текущей сессии.
Далее переходим к настройке программы Wireshark. Комбинацией клавиш «Ctrl+Shift+P» открываем меню «Preferences», затем раскрываем ветку «Protocols» и выбираем «SSL».
Проверяем установку необходимых полей, показанных на картинке, и жмём кнопку «Edit». В появившемся окне нажимаем на кнопку «New» и заполняем следующие поля: IP Address (IP-адрес SSL-сервера), Port (порт SSL-сервера), Protocol (протокол, использующий шифрацию SSL. При неизвестном указывать data), Key File (путь к файлу с секретным ключом сервера, который мы указывали в Переменных средах) и Password (если секретный ключ защищён паролем).
Теперь можно подтвердить настройки и приступить к просмотру расшифрованного трафика. Не забывайте использовать фильтр!
Закрепление пройденного материала!
Попробуйте самостоятельно подключиться к серверу какого-либо сайта и посмотреть, какими пакетами обменивается Вам компьютер с ним.
7. Какие возможности даёт захват защищённого трафика?
Захват защищённого трафика даёт множество возможностей. Одной из них является перехват HTTPS-запросов пользователей, подключённых к сети. Давайте рассмотрим, как это сделать и какой результат мы получим.
Для начала повторяем действия из предыдущего пункта, но в качестве IP-адреса SSL-сервера указываем адрес необходимого сайта. Для передачи паролей зачастую используется протокол передачи данных HTTP. О используемых в нём методах мы уже говорили в главе 4. Чтобы использовать фильтрацию HTTP-трафика по методам, можно использовать команду «http.request.method == “название метода”». Так как мы хотим перехватить данные, отправленные клиентом на сервер, то будем рассматривать POST-запросы. Для этого применим фильтр «http.request.method == “POST”».
Проделав эти несложные действия, мы получили важные данные другого пользователя. Поэтому следует помнить, что общедоступные сети являются небезопасными и представляют угрозу даже для защищённого трафика.
Небольшая практика!
Попробуйте захватить защищённый трафик сервера электронной почты и авторизуйтесь, используя логин и пароль. Найдите POST-запрос и посмотрите, что там находится.
Скорее всего, важные данные будут зашифрованы. Таким способом почтовый сервис защищает Ваши данные, но риск взлома всё равно остаётся.
8. Как можно соотнести модель OSI и программу Wireshark?
Рассмотрев весь функционал программы Wireshark, мы можем соотнести её с сетевой моделью OSI. Но для начала следует вспомнить, что из себя представляет эта модель.
OSI – это набор сетевых протоколов, посредством которого различные сетевые устройства взаимодействуют друг с другом. Модель определяет семь уровней взаимодействия систем. Рассмотрим таблицу уровней модели OSI.
|
Уровень |
Тип данных |
Функции |
Примеры |
|
7. Прикладной |
Данные |
Доступ к сетевым службам |
HTTP, FTP |
|
6. Представления |
Данные |
Представление и шифрование данных |
ASCII, JPEG |
|
5. Сеансовый |
Данные |
Управление сеансом связи |
RPC, PAP |
|
4. Транспортный |
Сегменты |
Прямая связь между конечными пунктами и надёжность |
TCP, UDP |
|
3. Сетевой |
Пакеты |
Определение маршрута и логическая адресация |
IPv4, IPv6, ICMP |
|
2. Канальный |
Кадры |
Физическая адресация |
Ethernet, ARP |
|
1. Физический |
Биты |
Работа со средой передачи, сигналами и двоичными данными |
USB, RJ |
Теперь соотнесём эти уровни с Wireshark. Рассмотрим наиболее часто встречающиеся при анализе трафика протоколы, а именно HTTP, TCP и ICMP.
Протокол HTTP в программе Wireshark имеет 4 уровня по модели OSI, а именно прикладной (Hypertext Transfer Protocol), транспортный (TCP), сетевой (IPv4) и канальный (Ethernet II).
Протокол TCP имеет 3 уровня по модели OSI, в которые входят транспортный (TCP), сетевой (IPv4) и канальный (Ethernet II).
Протокол ICMP вообще имеет лишь 2 уровня по модели OSI: сетевой (IPv4) и канальный (Ethernet II).
Всего в программе Wireshark определяется лишь 5 уровней модели OSI: прикладной, транспортный, сетевой, канальный и физический. В зависимости от протокола можно увидеть разные уровни.
Подведение итогов
Прочитав это руководство, мы научились анализировать трафик и искать скрытую информацию, а также перехватывать защищённую информацию. Для будущих специалистов по информационной безопасности это очень важные навыки, которые обязательно пригодятся в будущем и послужат фундаментом для будущего профессионального развития.
Системные администраторы используют массу программ для анализа трафика и поиска причин сбоев. Одной из самых популярных утилит для анализа сетевого трафика является Wireshark. Возможности программы безграничны – от захвата пакетов, передаваемых в сети, до извлечения отдельных файлов для их изучения и проверки.
Поговорим об этой программе подробнее.
Назначение программы Wireshark
Программный продукт Wireshark перехватывает входящие и исходящие TCP-пакеты. И благодаря встроенным функциям мониторит содержимое, ищет ошибки. Заметно упрощает использование программы система фильтров, а также простой и логичный графический интерфейс на фреймворке GTK+ с поддержкой открытого API (внешне окна похожи на Windows).
Особенности программы:
- Кроссплатформенность – выпускаются версии под Linux, Windows, macOS.
- Бесплатность – распространяется под лицензией GNU GPL v2.
- Простота – инсталляция заключается в нескольких нажатиях кнопки «Next».
Изначально разработчики назвали проект Ethereal, и предназначался он исключительно для Ethernet-сетей. В 2006 году из-за проблем с торговой маркой произошло переименование. По функционалу программа схожа с tcpdump, но получила большую популярность за счет интерфейса и богатых возможностей сортировки и фильтрации.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Основные возможности Wireshark
Сетевой трафик преобразуется буквально «на лету». В программу «заложена» структура различных протоколов, поэтому пользователь работает с перехватываемым информационным потоком. Единственное ограничение заключается в списке поддерживаемых стандартов – он ограничивается возможностями библиотеки pcap. Правда, функционал легко расширяется скриптами на языке Lua.
Востребованные функции сетевого анализатора Wireshark:
- Захват пакетов в реальном времени или при чтении из файла.
- Поддержка проводного интерфейса Ethernet, беспроводных IEEE 802.11, PPP и локальных виртуальных интерфейсов.
- Отсеивание сетевых пакетов по большому количеству установленных фильтров, включая расшифровку только VoIP-звонков, HTTPS-трафика.
- Подсвечивание разных протоколов при смешанном трафике, выделение TCP, HTTP, FTP, DNS, ICMP и т.д.
- Расшифровка WEP-, WPA-трафика беспроводных сетей при наличии ключа безопасности и Handshake.
Параллельно программа фиксирует нагрузку на сеть, сохраняет статистику, отображает в реальном времени отправку и получение пакетов, но это уже второстепенные функции. Основной остается перехват трафика. Здесь нужно уточнить, что использование приложения должно согласовываться с владельцем подсети, иначе это вполне сойдет за «хакерскую атаку» с вытекающими последствиями для специалиста.
Интерфейс программы
Еще одно преимущество Wireshark – русскоязычный интерфейс. Правда, встроенная справка идет только на английском, поэтому самостоятельно разбираться в программе без знания языка придется при помощи переводчика. Или ориентироваться на наименования пунктов меню, которые также переведены на русский. Главное, понимать принцип работы программы и не бояться огромного массива данных, поступающего при сниффинге трафика.
Пункты меню:
- Файл – содержит команды для открытия, сохранения, импорта/экспорта дампов данных.
- Редактирование – изменение общих параметров программы, включая интерфейс.
- Просмотр – настройка отображения отдельных блоков, масштаб, цветовое выделение.
- Запуск – подсказка по управлению работой программы при помощи клавиш.
- Захват – старт, остановка, перезапуск сниффинга трафика указанной сети.
- Анализ – система фильтров протоколов, декодирование, проверка содержимого.
- Статистика – отчеты по перехваченному трафику, детально по каждому протоколу.
- Телефония – отдельный блок функциональных модулей для расшифровки IP-телефонии.
Также выделены опции для работы с сетями Wi-Fi и Bluetooth (пункт «Беспроводные»). Если для анализа сетевого трафика понадобилось подключение дополнительных скриптов, поддержка Lua активируется в разделе «Инструменты». Тестовый запуск перехватчика затруднений не вызывает, достаточно выбрать нужную сеть и нажать «Запуск». Процесс будет идти непрерывно до ручного закрытия программы или нажатия «Стоп».
Как пользоваться Wireshark
В большинстве случаев анализ перехваченного трафика происходит в офлайн-режиме. Сначала его сохраняют в файл (дамп) и только потом проводят исследование. Такой подход позволяет снизить риск ошибок, приводящих к потере важной информации (например, когда неправильно настроили в Wireshark встроенные фильтры или была неверно поставлена задача по перехвату). Сохраненный файл доступен для повторного анализа без ограничений.
Основные приемы:
- Поиск по пакетам. Открывается панель поиска стандартной комбинацией клавиш Ctrl+F. После активации режима доступно несколько вариантов поиска. Наиболее востребованный режим «Дисплейный фильтр», он предназначен для обнаружения пакетов, отвечающих заданному выражению. Второй интересный вариант – «Строка».
- Отметка пакетов. Все интересующие нас пакеты помечаются цветовым выделением с помощью комбинации кнопок Ctrl+M (или через пункт выпадающего меню после нажатия правой кнопки мыши «Выполнить/Отменить пометку пакета»). Перемещение между ними работает комбинациями Shift+Ctrl+N (следующий) и Shift+Ctrl+B (предыдущий).
- Фильтры. Задают критерии исключения и включения в анализируемую подборку пакетов. Чем больше анализируемый дамп, тем детальнее фильтруется информация. Это упрощает работу с потоком данных и снижает риски механических ошибок пользователя.
Проще всего изучать функционал программы в «родной» сети, будет полезно попрактиковаться в переключении режимов сетевых адаптеров. Программа поддерживает 4 разных формата: управляемый, прямого подключения, ведущий и режим мониторинга. Их выбор позволяет менять способ подключения в зависимости от типа адаптера и поставленной задачи.
В любом случае оптимально сначала опробовать все возможности и лишь затем пытаться применять утилиту по прямому назначению.
Как пользоваться Wireshark: инструкции по работе, настройка
Хотите узнать о появлении новых материалов? Подпишитесь на наши рассылки!
Анализ дампов TCP с помощью Wireshark
Анализ TCP-пакетов в сети — лучший способ найти и устранить общие проблемы с сетью. Этот навык рано или поздно пригодится каждому инженеру программного обеспечения, не зависимо от специфики задач, которые перед ним стоят. В этом материале мы познакомим вас с инструментарием, который понадобится вам для этой работы, включая Wireshark и другие программные средства!
Как проанализировать производительность DNS сервера с помощью WireShark?
На прошлой неделе я находился во Владивостоке и сервера DNS, который мне в отеле выдавались точкой доступа Wi-Fi, работали из рук вон плохо. Часть необходимых мне ресурсов были не доступны, другая часть открывалась медленно. Впервые ощутил насколько важный элемент сервер DNS и как с медленно и некорректно работающим сервером плохо жить и работать.
Как настроить Wireshark для поиска сложной непостоянной проблемы?
Довольно часто проблема в работе приложения или сервиса возникает не постоянно и не в одно и то же время. Но она есть, и мы знаем о ней. Пока мы выдвигаемся на место и начинаем захват и анализ трафика – проблема пропала. Спрашиваем пользователя – «Что делал?» В ответ — «Ничего – все как обычно, но ничего не работает» и так далее. Знакомая ситуация?
Обучение WireShark бесплатно
В серии вебинаров «Wireshark Week» вы узнаете о лучших практиках и стратегиях использования анализатора протоколов WireShark для решения наиболее актуальных проблем в работе сети и приложений. Это отличная возможность пройти обучение по WireShark бесплатно!
Перехват паролей с помощью Wireshark
Если сайт, на котором вы пытаетесь авторизоваться, использует HTTP протокол, то очень просто выполнить захват этого трафика, проанализировать его с помощью Wireshark и далее с помощью специальных фильтров и программ найти и расшифровать пароль.
Dumpcap: как правильно настроить?
При анализе сложных проблем, а особенно анализе кратковременных и эпизодически появляющихся проблем, необходимо выполнять захват трафика в течение длительного периода времени.
Хотите узнать о появлении новых материалов? Подпишитесь на наши рассылки!
Wireshark — один из самых популярных инструментов для анализа и записи трафика. Он позволяет перехватывать и изучать информацию, которая проходит по сети, и таким образом проверять, безопасно соединение или нет.
Рассказываем, как работает Wireshark и какие задачи можно решить с его помощью, вместе с экспертом, инженером по сетевой безопасности Алексеем Пыриновым.
Кому и для чего нужен Wireshark
С Wireshark может столкнуться любой специалист, который имеет дело с построением и настройкой компьютерных сетей. Например, сетевой инженер или архитектор. Но чаще и активнее всего этот инструмент применяют специалисты по кибербезопасности. Как именно — зависит от «команды», к которой принадлежит специалист.
Blue Team. «Синяя» команда кибербезопасности — это сотрудники, которые мониторят и анализируют угрозы, реагируют на инциденты и защищают систему. Они используют Wireshark для расследования инцидентов: смотрят с его помощью за происходящим в сети, находят различные артефакты и признаки атаки.
Red Team. «Красной» командой называют специалистов, которые имитируют действия хакеров и ищут уязвимости в системе. Они занимаются пентестом — тестированием на проникновение. Анализ трафика через Wireshark помогает им отыскать потенциальные уязвимости и перехватить информацию.
Кроме ИБ-специалистов, Wireshark пригождается сетевым инженерам. С помощью этого инструмента диагностируют проблемы с сетью, в том числе если используется нестандартный протокол.
Что позволяет узнать Wireshark
Анализ сети с помощью Wireshark позволяет получить о ней немало данных. Например, в ходе перехвата трафика можно узнать:
- об источнике трафика — кто отправил пакет информации;
- о получателе трафика — кто принял этот пакет;
- о протоколах — какие из них использовались для обмена данными;
- о соединении — было ли оно успешным, дошли ли данные до получателя;
- о проблемах — какие ошибки возникли в ходе обмена информацией, и так далее.
В зависимости от задачи и от параметров сети специалист может получить и другие сведения. В самом экстремальном случае, когда соединение не зашифровано или шифрование ненадежное, Wireshark может извлечь из пакетов реальные данные.
Как анализировать трафик с помощью Wireshark
Работу с программой можно представить как пошаговый процесс. Специалист настраивает Wireshark, подключается к сети и захватывает трафик, а потом приводит собранные данные в удобный для просмотра вид. Вот что происходит на каждом этапе работы.
Захват трафика. Специалист выбирает сетевой интерфейс, с которого Wireshark будет собирать и записывать трафик: Wi-Fi, Ethernet, интерфейсы локальных сетей и так далее. Затем настраивает фильтры захвата — ограничения, какой именно трафик собирать. Фильтрация нужна, чтобы уменьшить количество данных. Она облегчает поиск нужной информации и снижает нагрузку на систему.
Например, можно настроить перехват пакетов так, чтобы учитывались только HTTPS-запросы. Тогда остальной трафик Wireshark проигнорирует — запишет ровно то, что нужно специалисту.
Сохранение дампа. Wireshark записывает трафик в реальном времени. Но обычно специалисты сохраняют интересующий их промежуток в виде дампа — файла с информацией. Позже этот дамп анализируют в офлайн-режиме. Такой подход позволяет не потерять важную информацию, так как все нужные сведения запишутся на диск.
Настройка отображения. Перехваченный трафик — это огромное количество информации, которую нужно привести в понятный и читаемый вид. Wireshark представляет ее в виде таблицы, которая показывает:
- время отправки пакета;
- IP отправителя;
- IP получателя;
- протокол взаимодействия;
- длину пакета;
- дополнительную информацию.
Чтобы вычленить необходимые данные, специалисты могут применять фильтры отображения — они позволяют показывать только ту часть собранных сведений, которая нужна для анализа. Кроме того, можно пользоваться поиском по пакетам и помечать флажками интересующие записи.
Можно задать в Wireshark несколько фильтров с помощью логических операторов И, ИЛИ, НЕ. Например, искать только трафик, отправленный с конкретного IP-адреса на определенный порт.
Объединение пакетов. Wireshark может скомпоновать все перехваченные пакеты в единую сессию — полный набор данных, которые передавались в сети. Это поможет изучать не каждую запись по отдельности, а переданную информацию целиком. Также это необходимо для дальнейшей работы.
Декодирование информации. Объединенные данные расшифровывают — получают доступ к фактической информации, скрытой за протоколом шифрования. Этот шаг возможен не всегда, а только если информация плохо защищена или у специалиста есть доступ к TLS-ключам. Например, можно увидеть, какое сообщение отправил пользователь или какой ответ на запрос прислало приложение.
Анализ информации. Специалисты изучают сведения, полученные на каждом этапе. Что именно ищут — зависит от задачи. Например, при расследовании инцидента ИБ-сотрудники могут искать в трафике признаки подозрительной сетевой активности. А при попытке взлома в рамках пентеста — способы обойти шифрование и получить доступ к данным.
Какие инструменты используют вместе с Wireshark
Wireshark сам по себе — комбайн для работы с трафиком. Универсальный инструмент, с помощью которого можно выполнить любую задачу. Теоретически, дополнительные программы не нужны, достаточно его одного. На практике Wireshark все же используют совместно с другими инструментами. Например:
- tcpdump — простой инструмент для записи трафика, встроенный в UNIX-подобные операционные системы;
- IDS/IPS — системы обнаружения и предотвращения вторжений, специализированные ИБ-инструменты, которые мониторят подозрительную активность;
- NetworkMiner и другие снифферы трафика, более простые, чем Wireshark.
Причина, по которой для анализа трафика пользуются разными инструментами, — удобство. Некоторые функции проще и удобнее реализованы в других утилитах. А некоторые — наоборот, в Wireshark.
Что нужно знать для работы с Wireshark
Обучение Wireshark стоит начинать уже после освоения базовой теории сетевых технологий: модели OSI и ее уровней, IP-адресации и так далее. Чем глубже познания в сетях, тем эффективнее работа с этим инструментом.
Анализатор трафика лучше всего осваивать на практике. Можно выполнять лабораторные работы и задания, составленные специально для знакомства с Wireshark. Их довольно много — от основ до продвинутого уровня.
Эксперт Алексей Пыринов составил подборку для тех, кто изучает или планирует изучать кибербезопасность. В ней можно найти статьи, лекции, примеры задач с собеседований и другие материалы. В частности, список сайтов с лабораторными заданиями по Wireshark и другим ИБ-инструментам.
Коротко о Wiseshark
- Wireshark — программа для анализа трафика. С ее помощью перехватывают и изучают данные, которые передаются по сети. Обычно это нужно для задач кибербезопасности.
- ИБ-специалисты используют Wireshark, чтобы расследовать инциденты или проводить пентест — тестирование на проникновение. Системные администраторы и инженеры могут применять этот инструмент для диагностики проблем с сетью.
- С помощью Wireshark можно получать и записывать информацию о проходящих по сети пакетах данных. А в некоторых случаях — расшифровывать их и изучать саму переданную информацию.
- Работа с Wireshark требует познаний в области сетевых технологий. Специалист должен разбираться как минимум в модели OSI и IP-адресации. А сам инструмент лучше изучать на практике.
Содержание
- Введение
- Захват сетевого трафика
- Понимание интерфейса Wireshark
- Использование фильтров отображения (Display Filters)
- Отслеживание TCP-потоков (Following TCP Streams)
- Инструменты статистического анализа (Statistical Analysis Tools)
- Заключение (Summary)
Введение
В этой лабораторной работе вы научитесь захватывать и анализировать сетевой трафик с помощью Wireshark, популярного анализатора сетевых протоколов. Анализ сетевого трафика имеет важное значение в кибербезопасности, позволяя выявлять потенциальные угрозы и отслеживать сетевую активность.
К концу этой лабораторной работы вы приобретете практический опыт захвата и анализа сетевых пакетов с помощью Wireshark, что является ценным навыком для расследования инцидентов безопасности.
Это Guided Lab, который предоставляет пошаговые инструкции, чтобы помочь вам учиться и практиковаться. Внимательно следуйте инструкциям, чтобы выполнить каждый шаг и получить практический опыт. Исторические данные показывают, что это лабораторная работа уровня средний с процентом завершения 78.2%. Он получил 97.83% положительных отзывов от учащихся.
Skills Graph
%%%%{init: {‘theme’:’neutral’}}%%%%
flowchart RL
wireshark((«Wireshark»)) -.-> wireshark/WiresharkGroup([«Wireshark»])
wireshark/WiresharkGroup -.-> wireshark/interface(«Interface Overview»)
wireshark/WiresharkGroup -.-> wireshark/packet_capture(«Packet Capture»)
wireshark/WiresharkGroup -.-> wireshark/display_filters(«Display Filters»)
wireshark/WiresharkGroup -.-> wireshark/colorizing_rules(«Colorizing Rules»)
wireshark/WiresharkGroup -.-> wireshark/follow_tcp_stream(«Follow TCP Stream»)
wireshark/WiresharkGroup -.-> wireshark/export_packets(«Exporting Packets»)
wireshark/WiresharkGroup -.-> wireshark/packet_analysis(«Packet Analysis»)
subgraph Lab Skills
wireshark/interface -.-> lab-415956{{«Захват и анализ сетевого трафика с помощью Wireshark»}}
wireshark/packet_capture -.-> lab-415956{{«Захват и анализ сетевого трафика с помощью Wireshark»}}
wireshark/display_filters -.-> lab-415956{{«Захват и анализ сетевого трафика с помощью Wireshark»}}
wireshark/colorizing_rules -.-> lab-415956{{«Захват и анализ сетевого трафика с помощью Wireshark»}}
wireshark/follow_tcp_stream -.-> lab-415956{{«Захват и анализ сетевого трафика с помощью Wireshark»}}
wireshark/export_packets -.-> lab-415956{{«Захват и анализ сетевого трафика с помощью Wireshark»}}
wireshark/packet_analysis -.-> lab-415956{{«Захват и анализ сетевого трафика с помощью Wireshark»}}
end
Захват сетевого трафика
В этом шаге мы научимся запускать Wireshark, захватывать сетевой трафик и сохранять его для анализа. Захват сетевых пакетов позволяет вам видеть все данные, проходящие через ваши сетевые интерфейсы, обеспечивая видимость сетевых коммуникаций.
Что такое сетевой пакет?
Прежде чем мы начнем, давайте разберемся, что такое сетевой пакет. Пакет (packet) — это отформатированная единица данных, которая передается по сети. Когда вы выполняете какие-либо действия в Интернете (например, посещаете веб-сайт, отправляете электронное письмо или смотрите видео), данные разбиваются на более мелкие фрагменты или «пакеты» и отправляются по сети к месту назначения.
Каждый пакет содержит:
- Адреса источника и назначения (аналогично адресам отправителя и получателя на письме)
- Полезную нагрузку (payload) (фактические данные или содержание сообщения)
- Метаданные (metadata) (информация о том, как обрабатывать пакет)
Реальное применение: В кибербезопасности понимание структуры пакета имеет основополагающее значение для обнаружения подозрительного поведения. Например, пакет с необычными адресами источника или портами назначения может указывать на то, что кто-то пытается сканировать вашу сеть.
Запуск Wireshark
Сначала откроем Wireshark, выполнив следующую команду в терминале:
wireshark
После выполнения этой команды откроется приложение Wireshark. Вы должны увидеть основной интерфейс Wireshark, который отображает доступные сетевые интерфейсы.
Вывод будет выглядеть примерно так:
Примечание для начинающих: Если вы впервые используете Wireshark, не беспокойтесь обо всех параметрах, которые вы видите. Мы сосредоточимся на основных функциях, необходимых для базового захвата и анализа пакетов.
Выбор сетевого интерфейса
Прежде чем вы сможете захватывать пакеты, вам нужно выбрать, какой сетевой интерфейс (network interface) отслеживать. Каждый интерфейс представляет собой различное сетевое соединение в вашей системе.
В главном окне Wireshark вы увидите список доступных сетевых интерфейсов. Рядом с каждым интерфейсом находится небольшой график, показывающий текущую активность.
Для этой лабораторной работы дважды щелкните интерфейс eth1. Обычно это основной интерфейс Ethernet. Если вы не видите eth1, выберите любой интерфейс, который показывает активность (движущийся график).
Совет: График рядом с каждым интерфейсом показывает уровень сетевой активности на этом интерфейсе. Выбор интерфейса с большей активностью даст более интересные результаты захвата.
Что происходит: Когда вы выбираете интерфейс, вы говорите Wireshark, какой «сетевой канал» (network pipe) прослушивать. Разные интерфейсы могут показывать разные типы трафика — например, соединения Wi-Fi и Ethernet.
Запуск захвата пакетов
После того, как вы выберете интерфейс, Wireshark должен автоматически начать захват пакетов. Если этого не произошло, вы можете запустить захват вручную, щелкнув значок синего акульего плавника на панели инструментов или нажав Ctrl+E.
Во время захвата вы увидите пакеты, появляющиеся в режиме реального времени в главном окне:
Дайте захвату поработать примерно 30-60 секунд, чтобы собрать достаточно сетевого трафика для анализа.
Примечание по безопасности: Помните, Wireshark захватывает весь трафик, проходящий через выбранный сетевой интерфейс. При использовании в производственной среде или в общей сети убедитесь, что у вас есть разрешение на выполнение такого мониторинга, поскольку он может захватывать конфиденциальную информацию.
Что ожидать: Во время захвата вы, вероятно, увидите разные цветные линии, быстро появляющиеся на дисплее. Каждая линия представляет собой пакет, а цвета указывают на разные протоколы (например, синий для TCP, светло-зеленый для HTTP).
Понимание списка пакетов
Во время захвата обратите внимание на основной список пакетов в окне Wireshark. Каждая строка представляет собой один пакет с несколькими столбцами информации:
- No.: Номер пакета в этой сессии захвата
- Time: Время захвата пакета
- Source: IP-адрес или имя хоста отправляющего устройства
- Destination: IP-адрес или имя хоста принимающего устройства
- Protocol: Используемый сетевой протокол (TCP, UDP, HTTP и т. д.)
- Length: Размер пакета в байтах
- Info: Дополнительные сведения о пакете
Wireshark использует разные цвета для выделения различных протоколов, что упрощает идентификацию различных типов трафика.
Глубокое погружение: Цветовое кодирование — мощная функция Wireshark. Например, красный цвет часто используется для обозначения ошибок, светло-синий — для трафика TCP, а светло-зеленый — для трафика HTTP. Эта визуальная подсказка помогает быстро идентифицировать интересующий вас трафик.
Совет по сортировке: Вы можете щелкнуть заголовок любого столбца, чтобы отсортировать список пакетов. Например, щелчок по заголовку «Protocol» сгруппирует вместе похожие протоколы, что полезно при поиске определенных типов трафика.
Остановка захвата
После захвата в течение 30-60 секунд остановите захват, щелкнув значок красного квадрата на панели инструментов или снова нажав Ctrl+E.
Зачем останавливать?: Хотя Wireshark может захватывать пакеты неограниченно долго, остановка через разумный период помогает поддерживать управляемый размер файла и упрощает анализ. Для конкретных исследований вы можете запускать захват на более длительные периоды.
Сохранение захваченных пакетов
Теперь давайте сохраним захваченный сетевой трафик для последующего анализа:
- Щелкните
Fileв меню в верхней части окна Wireshark - Выберите
Save As - Перейдите в каталог
/home/labex/project - Введите
capture.pcapngв качестве имени файла - Нажмите кнопку
Save
Диалоговое окно сохранения будет выглядеть следующим образом:
Формат файла .pcapng является собственным форматом Wireshark для хранения захваченных пакетов. Он содержит всю информацию о ваших захваченных пакетах и может быть повторно открыт в Wireshark для дальнейшего анализа.
Расширенные знания: Wireshark также поддерживает старый формат .pcap и другие форматы для импорта/экспорта. Формат .pcapng предоставляет больше возможностей, чем старый формат .pcap, таких как поддержка захвата с нескольких интерфейсов и аннотации пакетов.
Теперь вы успешно захватили сетевой трафик и сохранили его для анализа. На следующем шаге мы рассмотрим, как анализировать эти захваченные данные.
Понимание интерфейса Wireshark
Теперь, когда вы захватили сетевой трафик, давайте научимся анализировать его с помощью интерфейса Wireshark. Понимание этого интерфейса необходимо для эффективного анализа сетевого трафика.
Структура интерфейса Wireshark
Интерфейс Wireshark разделен на три основные панели:
- Панель списка пакетов (Packet List Pane) (верхняя): Отображает все захваченные пакеты с основной информацией
- Панель деталей пакета (Packet Details Pane) (средняя): Отображает подробную информацию о выбранном пакете
- Панель байтов пакета (Packet Bytes Pane) (нижняя): Отображает необработанные данные (raw data) выбранного пакета в шестнадцатеричном (hexadecimal) и ASCII формате
Чтобы подробно изучить пакет, просто щелкните его в панели списка пакетов. Подробности об этом пакете появятся в нижних панелях.
Эта трехпанельная структура позволяет просматривать как общий обзор высокого уровня, так и детали низкого уровня, что имеет решающее значение для всестороннего сетевого анализа.
Совет по настройке: Wireshark позволяет настраивать структуру интерфейса. Вы можете изменить размер каждой панели, перетаскивая разделители между ними, или полностью скрыть панель, щелкнув правой кнопкой мыши разделитель и выбрав «Hide». Если вы случайно скроете панель, вы можете восстановить ее через View > Panes в меню.
Навигация по интерфейсу Wireshark
Чтобы подробно изучить пакет:
- Щелкните пакет в панели списка пакетов
- Подробности об этом пакете появятся в нижних панелях
- Просмотрите панель деталей пакета, чтобы просмотреть структурированную информацию о пакете
- Просмотрите панель байтов пакета, чтобы понять необработанное шестнадцатеричное и ASCII представление пакета
Совет по практике: Попробуйте выбрать разные пакеты в панели списка пакетов и понаблюдайте, как две другие панели обновляются, чтобы отображать информацию о выбранном пакете. Попробуйте пакеты с разными типами протоколов, чтобы увидеть различную информацию, которую они содержат.
Понимание панели деталей пакета
Панель деталей пакета показывает многоуровневую информацию о пакете, отражающую стек сетевых протоколов (network protocol stack):
- Уровень кадра (Frame Layer): Физическая информация о захвате пакета (время захвата, длина кадра)
- Уровень Ethernet: Содержит MAC-адрес и другую информацию канального уровня (link layer)
- Уровень IP (Internet Protocol): Содержит информацию об IP-адресе
- Транспортный уровень (TCP/UDP): Содержит номера портов и информацию о сессии
- Прикладной уровень (HTTP, DNS и т. д.): Содержит данные, специфичные для приложения
Общие знания: Это многоуровневое отражение соответствует модели OSI (Open Systems Interconnection) или модели TCP/IP, которая является стандартной моделью для сетевой коммуникации. Понимание этих уровней помогает вам понять, как работает сетевая коммуникация.
Визуализация: Представьте себе эти слои как конверт внутри конверта. Самый внешний слой (Frame) содержит все. Внутри него находится уровень Ethernet, затем уровень IP и так далее. Каждый слой добавляет свою собственную адресную и управляющую информацию, чтобы гарантировать, что данные достигнут места назначения правильно.
Проверка деталей пакета
Чтобы понять конкретный пакет в глубину:
- Щелкните пакет в панели списка пакетов
- В панели деталей пакета разверните разделы, щелкнув стрелку (►) рядом с каждым полем
- Когда вы выбираете разные поля в панели деталей пакета, соответствующие байты будут выделены в панели байтов пакета
Это позволяет вам проверить каждый аспект пакета, от низкоуровневого кадра Ethernet до высокоуровневых данных приложения.
Например, если вы выберете пакет HTTP и развернете раздел «Hypertext Transfer Protocol», вы можете увидеть детали HTTP-запроса или ответа:
- Метод запроса (GET, POST и т. д.)
- Информация заголовка (User-Agent, Content-Type и т. д.)
- Код состояния и сообщение ответа
Практическое упражнение: Попробуйте найти пакет HTTP и развернуть его детали. Проверьте URL-адрес запроса, код состояния или другую интересную информацию заголовка HTTP. Если вы не можете найти пакет HTTP, попробуйте открыть веб-сайт в сети, чтобы сгенерировать некоторый HTTP-трафик.
Совет по устранению неполадок: При исследовании сетевых проблем обратите особое внимание на поля, выделенные красным цветом или содержащие слова, такие как «error», «warning» или «malformed». Они часто указывают на потенциальные проблемы, которые могут вызывать сетевые проблемы.
Использование инструментов навигации Wireshark
Wireshark предоставляет несколько полезных инструментов навигации, которые помогут вам просматривать захват:
- Панель инструментов фильтра (Filter Toolbar): Расположена в верхней части главного окна, позволяет фильтровать отображаемые пакеты
- Инструменты масштабирования (Zoom Tools): Позволяют увеличивать или уменьшать масштаб представления оси времени
- Цветовое кодирование (Color Coding): Разные типы пакетов используют разные цвета, что упрощает визуальную идентификацию
- Функция поиска (Find Feature) (Ctrl+F): Позволяет искать конкретную информацию в содержимом пакета
Параметры отображения времени: По умолчанию Wireshark отображает время относительно начала захвата. Вы можете изменить это, щелкнув правой кнопкой мыши столбец Time и выбрав другой «Time Display Format», например, абсолютное время или дату и время.
Ярлык навигации: Нажмите Ctrl+G, чтобы перейти к определенному номеру пакета, что полезно при анализе больших захватов или при следовании ссылкам на конкретные пакеты в документации.
Ознакомившись с этими инструментами, вы сможете более эффективно просматривать и анализировать сетевые захваты.
Использование фильтров отображения (Display Filters)
Фильтры отображения (display filters) — одна из самых мощных функций Wireshark, позволяющая вам сосредоточиться на определенных типах трафика. Это делает анализ более управляемым, показывая только те пакеты, которые вас интересуют.
Почему фильтры важны
Представьте себе, что в вашем захвате тысячи или даже миллионы пакетов. Найти конкретную информацию в таком большом объеме данных может быть очень сложно. Фильтры отображения позволяют вам «сузить поиск» только до пакетов, относящихся к вашему анализу.
Реальный пример: При устранении неполадок веб-приложения вас может интересовать только HTTP-трафик к определенному серверу. Используя фильтры, вы можете мгновенно сосредоточиться только на этих пакетах, игнорируя несвязанный сетевой трафик.
Применение базовых фильтров
Чтобы применить фильтр, введите его в строку фильтра в верхней части окна. Например, чтобы отобразить только TCP-трафик, введите:
tcp
Нажмите Enter или кнопку синей стрелки, чтобы применить фильтр.
В результате будут показаны только TCP-пакеты:
Вот некоторые другие полезные фильтры, которые вы можете попробовать:
http: Отображает только HTTP-трафикdns: Отображает только DNS-трафикip.addr == 8.8.8.8: Отображает трафик к или от IP-адреса 8.8.8.8tcp.port == 443: Отображает только HTTPS-трафик
Чтобы очистить фильтр и снова увидеть все пакеты, нажмите кнопку «X» рядом со строкой фильтра.
Справка по синтаксису фильтров: Строка фильтра Wireshark имеет встроенную помощь. По мере ввода она будет выделять синтаксис зеленым цветом, если он действителен, или красным, если есть ошибка. Вы также можете нажать Ctrl+Space для получения предложений автозаполнения.
Совет по истории: Wireshark запоминает ваши ранее использованные фильтры. Щелкните стрелку вниз справа от строки фильтра, чтобы увидеть историю фильтров.
Расширенные методы фильтрации
Помимо базовых фильтров, Wireshark поддерживает более сложные выражения фильтров:
-
Операторы сравнения: Не только равно (==)
tcp.len > 100: TCP-пакеты размером более 100 байтframe.time_delta <= 0.1: Пакеты с разницей во времени ≤ 0,1 секунды от предыдущего пакета
-
Составные условия:
http && !(tcp.port == 80): HTTP-трафик, но не на стандартном HTTP-порту(ip.src == 192.168.1.100 && ip.dst == 8.8.8.8) || (ip.src == 8.8.8.8 && ip.dst == 192.168.1.100): Связь между конкретным устройством и DNS-сервером
-
Содержит и соответствует:
http contains "password": HTTP-трафик, содержащий строку «password»tcp matches "GET [^ ]+ HTTP": TCP-пакеты, соответствующие регулярному выражению для GET-запросов
Совет по эффективности: Освоение выражений фильтров может значительно повысить вашу эффективность при анализе сетевого трафика. Рассмотрите возможность сохранения часто используемых выражений фильтров для быстрого применения.
Использование построителя выражений (Expression Builder)
Если вы не уверены в точном синтаксисе фильтра, Wireshark предлагает построитель выражений (Expression builder):
- Нажмите кнопку «Expression…» рядом со строкой фильтра
- Просмотрите список имен полей или начните вводить текст для поиска
- Выберите поле, выберите отношение (==, >, contains и т. д.) и введите значение
- Нажмите «OK», чтобы применить фильтр
Это помогает вам создавать сложные фильтры без необходимости запоминать точный синтаксис.
Использование правил раскраски (Coloring Rules)
Wireshark использует цвета, чтобы помочь вам быстро идентифицировать различные типы трафика. Чтобы просмотреть правила раскраски:
- Перейдите в
View>Coloring Rulesв меню - Откроется диалоговое окно, показывающее текущие правила раскраски
Правила раскраски применяются в порядке сверху вниз. Первое правило, которое соответствует пакету, определяет его цвет. Вы можете включать или отключать правила, устанавливая или снимая флажки рядом с ними.
Закройте диалоговое окно Coloring Rules, когда закончите просмотр.
Пользовательские правила: Создание собственных правил раскраски очень полезно для тех, кто часто выполняет определенные типы анализа. Например, вы можете создать специальные цвета для трафика к внутренним серверам вашей компании или для конкретных интересующих вас приложений.
Цвет против фильтра: Помните, что правила раскраски выделяют пакеты, но по-прежнему показывают все, в то время как фильтры фактически удаляют несовпадающие пакеты из представления. Часто полезно использовать раскраску для получения обзора, а затем применять фильтры, чтобы сосредоточиться на конкретных проблемах.
Отслеживание TCP-потоков (Following TCP Streams)
Одной из самых мощных функций анализа в Wireshark является возможность отслеживать TCP-потоки (TCP streams). TCP-поток представляет собой весь разговор между двумя хостами.
Что такое TCP-поток?
TCP (Transmission Control Protocol) — один из наиболее распространенных протоколов связи, используемых в Интернете. Он обеспечивает надежную, упорядоченную передачу данных. TCP-поток — это набор всех пакетов, которыми обмениваются в одном TCP-соединении, представляющий собой полный разговор между двумя конечными точками (endpoints).
Например, когда ваш браузер подключается к веб-сайту, он устанавливает TCP-соединение, отправляет запросы и получает ответы через это соединение. Весь этот обмен представляет собой TCP-поток.
Почему это важно: Сетевые коммуникации часто включают в себя множество отдельных пакетов, которые имеют смысл только при совместном просмотре. Функция TCP-потока реконструирует эти фрагментированные коммуникации в связный разговор, что значительно облегчает понимание того, что происходит на уровне приложения.
Отслеживание TCP-потока
Чтобы отследить TCP-поток:
- Найдите TCP-пакет в вашем захвате (при необходимости вы можете использовать фильтр
tcp) - Щелкните правой кнопкой мыши на пакете
- Выберите
Follow>TCP Stream
Откроется новое окно, показывающее весь разговор. Текст красного цвета представляет данные, отправленные от клиента к серверу, а текст синего цвета представляет данные, отправленные от сервера к клиенту.
Понимание цветов: Красный текст (клиент к серверу) часто включает в себя запросы, команды или загруженные данные. Синий текст (сервер к клиенту) обычно включает в себя ответы, загруженный контент или сообщения о состоянии. Эта цветовая кодировка помогает вам быстро понять направление связи.
Анализ содержимого TCP-потока
Окно TCP-потока предоставляет несколько полезных опций для анализа:
-
Параметры отображения содержимого (Content display options) (в правом верхнем углу):
- ASCII: Отображает содержимое в виде текста, идеально подходит для HTTP и других текстовых протоколов
- Hex Dump: Отображает содержимое в шестнадцатеричном (hexadecimal) и ASCII формате, полезно для потоков, содержащих двоичные данные (binary data)
- C Arrays: Отображает данные в виде массивов языка программирования C
- Raw: Отображает только необработанные данные (raw data)
Давайте попробуем формат
YAML, чтобы увидеть данные в более читаемом формате. -
Навигация по потокам (Stream navigation) (выпадающее меню):
- Если ваш захват содержит несколько TCP-потоков, вы можете использовать это меню для навигации между ними
- Номера потоков начинаются с 0 и увеличиваются в порядке их обнаружения
-
Функция поиска:
- Используйте Ctrl+F для поиска внутри содержимого потока
- Это помогает найти конкретные строки или шаблоны в больших потоках
Совет по анализу: Различные параметры отображения могут выявить различные идеи. Например, переключитесь в режим «Hex Dump», чтобы увидеть как шестнадцатеричные значения слева, так и их ASCII-представление справа. Это полезно при анализе протоколов, которые смешивают текст и двоичные данные.
Сохранение TCP-потоков
Сохранение TCP-потоков ценно для документации или автономного анализа (offline analysis):
- Нажмите кнопку
Save Asв окне TCP-потока - Перейдите в каталог
/home/labex/project - Введите
tcp_stream.txtв качестве имени файла - Нажмите
Save
Этот сохраненный файл содержит текст всего TCP-разговора и может быть просмотрен позже или передан другим.
Поиск интересных потоков
В реальных сценариях захваты часто содержат сотни или тысячи различных TCP-потоков. Чтобы найти интересные:
- Используйте фильтры отображения (display filters), чтобы сузить область (например,
httpилиtcp.port == 3001) - Ищите ключевые пакеты (например, инициации соединения или пакеты, содержащие конкретный контент)
- Используйте функцию «Follow TCP Stream» на этих пакетах
Вы также можете отфильтровать конкретный поток, как только вы его идентифицировали. В окне TCP-потока обратите внимание на значение «Stream index» (например, «TCP Stream: 5»). Вы можете использовать фильтр tcp.stream eq 5, чтобы показать только все пакеты из этого конкретного потока.
Стратегия исследования: При анализе потенциальных инцидентов безопасности обратите внимание на необычные номера портов, соединения с неожиданными IP-адресами или коммуникации, происходящие в необычное время. Отслеживание этих потоков часто выявляет вредоносную активность.
Понимание шаблонов TCP-коммуникации
По мере изучения нескольких TCP-потоков вы начнете распознавать шаблоны в TCP-коммуникациях:
- Трехстороннее рукопожатие (Three-way handshake): Последовательность SYN, SYN-ACK, ACK, которая запускает соединение
- Передача данных (Data transfer): Основные обмены запросами и ответами
- Четырехстороннее закрытие (Four-way closure): Последовательности FIN и ACK, которые завершают соединение
Изучая эти шаблоны, вы можете определить, где возникают проблемы связи, такие как неудачные установления соединения или преждевременные завершения.
Инструменты статистического анализа (Statistical Analysis Tools)
Wireshark предлагает несколько инструментов статистического анализа, которые помогут вам проанализировать ваш захват. Эти инструменты предоставляют информацию об общих сетевых шаблонах и могут помочь выявить необычную активность.
Почему важен статистический анализ
Хотя анализ отдельных пакетов (packet-by-packet analysis) необходим для глубокого исследования, статистический анализ помогает вам:
- Определить основные модели активности в вашей сети
- Обнаружить аномальный трафик или потенциальные проблемы
- Понять использование ресурсов и производительность сети
- Определить наиболее активные хосты и сервисы
Общая картина: Думайте об анализе пакетов как об изучении отдельных деревьев, а статистический анализ дает вам представление обо всем лесе. Обе перспективы необходимы для полного анализа сети.
Использование статистических инструментов
Чтобы получить доступ к этим инструментам, изучите меню Statistics и попробуйте следующие параметры:
Иерархия протоколов (Protocol Hierarchy)
Иерархия протоколов (Protocol Hierarchy) показывает распределение протоколов в вашем захвате:
- Нажмите
Statistics>Protocol Hierarchy - Откроется окно, показывающее древовидное представление всех обнаруженных протоколов
- Проценты указывают, какая часть вашего трафика использует каждый протокол
Этот вид помогает вам быстро определить:
- Какие протоколы потребляют больше всего полосы пропускания (bandwidth)
- Неожиданный или потенциально нежелательный сетевой трафик
- Общий состав вашего сетевого трафика
Совет по анализу: Необычное распределение протоколов может указывать на сетевые проблемы или проблемы безопасности. Например, аномально большое количество DNS-трафика может указывать на активность DNS-туннелирования (DNS tunneling) или связь вредоносного ПО (malware).
Разговоры (Conversations)
Статистика разговоров (Conversations) перечисляет все соединения между конечными точками (endpoints):
- Нажмите
Statistics>Conversations - Выберите вкладку для уровня протокола, который вы хотите изучить (Ethernet, IPv4, TCP и т. д.)
- Список показывает, какие хосты обмениваются данными и сколько данных они обменяли
Этот инструмент особенно полезен для:
- Определения, какие пары устройств обмениваются наибольшим количеством данных
- Обнаружения неожиданных коммуникаций между устройствами
- Поиска потенциальных несанкционированных соединений
Интерактивная функция: Вы можете щелкнуть правой кнопкой мыши на любом разговоре и выбрать «Apply as Filter», чтобы показать только пакеты, принадлежащие этому разговору. Это упрощает исследование конкретных коммуникаций.
Конечные точки (Endpoints)
Статистика конечных точек (Endpoints) перечисляет все устройства в вашем захвате:
- Нажмите
Statistics>Endpoints - Выберите вкладку для уровня протокола, который вы хотите изучить
- Список показывает все устройства, участвующие в трафике
Используйте этот инструмент для:
- Определения наиболее активных устройств в вашей сети
- Поиска неизвестных или неожиданных устройств
- Анализа шаблонов трафика по IP-адресу или MAC-адресу
Сетевое картирование: Инструмент Endpoints по сути создает карту всех устройств, общающихся в вашей сети. В контексте безопасности это помогает выявить несанкционированные устройства или неавторизованные системы.
График ввода-вывода (I/O Graph)
График ввода-вывода (I/O Graph) отображает объем трафика с течением времени:
- Нажмите
Statistics>I/O Graph - График показывает, как объем трафика изменяется в течение захвата
- Вы можете добавить несколько графиков с разными фильтрами, чтобы сравнить разные типы трафика
Эта визуализация отлично подходит для:
- Выявления всплесков трафика или необычных шаблонов
- Соотнесения сетевых событий со временем
- Сравнения различных типов трафика за один и тот же период времени
Расширенное использование: Нажмите кнопку «+», чтобы добавить дополнительные линии графика с конкретными фильтрами отображения (display filters). Например, у вас может быть одна линия, показывающая весь трафик, другая — только HTTP-трафик, а третья — DNS-трафик. Это упрощает просмотр взаимосвязей между различными протоколами.
Практическое применение статистического анализа
Эти инструменты статистического анализа особенно ценны в таких сценариях, как:
- Устранение неполадок сети: Определение, какие приложения или устройства потребляют чрезмерную полосу пропускания
- Мониторинг безопасности: Обнаружение необычных шаблонов трафика, которые могут указывать на вторжения или вредоносное ПО
- Базовая линия сети (Network baseline): Установление нормальных шаблонов трафика, чтобы помочь выявить будущие аномалии
- Оптимизация производительности: Определение, какие протоколы или соединения доминируют в использовании сети
Расширенные статистические функции
По мере того, как вы будете чувствовать себя более комфортно с Wireshark, изучите эти дополнительные статистические функции:
- Service Response Time: Измеряет, сколько времени требуется службам для ответа на запросы
- HTTP Statistics: Предоставляет подробную разбивку HTTP-трафика и производительности
- DNS Statistics: Показывает шаблоны DNS-запросов и ответов
- Expert Information: Выделяет потенциальные проблемы или аномалии, обнаруженные Wireshark
Эти расширенные статистические данные предоставляют более глубокое понимание для специализированных задач анализа.
Поздравляем! Теперь вы изучили основы анализа сетевого трафика с помощью Wireshark. Эти навыки составляют основу для более продвинутого сетевого анализа и расследований в области кибербезопасности.
Заключение (Summary)
В этой лабораторной работе вы изучили основные навыки захвата и анализа сетевого трафика с помощью Wireshark. Сначала вы установили Wireshark и настроили необходимые разрешения для захвата пакетов. Затем вы захватили живой сетевой трафик (live network traffic) с вашей системы и сохранили его для дальнейшего анализа. Наконец, вы изучили различные методы анализа, такие как фильтры отображения (display filters), правила раскраски (coloring rules) и отслеживание TCP-потоков (following TCP streams).
Приобретенные вами навыки являются основополагающими для устранения неполадок в сети и расследований в области кибербезопасности. Анализ сетевого трафика позволяет выявлять угрозы безопасности, устранять неполадки в сети и приложениях, подробно понимать функции протоколов и отслеживать производительность сети. По мере продвижения в вашем путешествии по кибербезопасности вы можете опираться на эти основы для разработки более продвинутых методов анализа пакетов, включая обнаружение вредоносного ПО (malware detection), обнаружение вторжений (intrusion detection) и сетевую криминалистику (network forensics).
