Анализ проблем сети с помощью wireshark

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

Введение

Wireshark является программой-анализатором сетевых пакетов с исходным кодом. Без какого-либо специального оборудования или перенастройки эта программа может перехватывать входящие и исходящие данные на любом сетевом интерфейсе компьютера: Ethernet, WiFi, PPP, loopback и даже USB. Обычно Wireshark применяется для выявления проблем в сети, таких, как перегруженность, слишком долгое время ожидания или ошибки протоколов. Но для того, чтобы изучить Wireshark, совсем не нужно ждать, когда произойдет какая-либо поломка. Давайте приступим к обзору этой программы.

Wireshark написан на библиотеках GTK+ и имеет графический интерфейс (GUI). Но помимо GUI, есть консольная реализация программы по имени TShark , обладающая тем же функционалом, что и ее графический вариант. Так как программа очень популярна в качестве административного инструмента для анализа сетей, она имеется в репозиториях практически любого дистрибутива Linux. Есть версии программы под Windows и Mac OS X. Если по каким-либо причинам вы не смогли найти ее в своих репозиториях Linux, всегда можно скачать готовые сборки под различные дистрибутивы с официального сайта. Или же скачать, собрать и установить программу из исходников.

Сразу стоит обратить внимание, что запуск Wireshark необходимо производить с правами root, так как для перехвата трафика программе нужны привилегии суперпользователя для перехода в так называемый неразборчивый режим (» promiscuous mode «). Ядром Wireshark является библиотека libpcap , с помощью которой и производится перехват данных. Программа имеет встроенную поддержку очень большого количества сетевых устройств. Проверить , будет ли ваша сетевая карта работать под этой программой, можно на странице wiki проекта Wireshark. Но практически все современные Ethernet и Wifi карты не имеют каких-либо проблем с совместимостью в этой программе.

Перехват трафика

Запуск новой сессии перехвата производится в окне программы из меню «Capture«. Чтобы увидеть весь список сетевых интерфейсов, которые смогла обнаружить Wireshark, перейдите по пути в меню «Capture > Interfaces«. Появится диалоговое окно, в котором, помимо физических устройств, будет присутствовать псевдо-устройство «any«, которое перехватывает данные со всех других устройств этого списка.
Перед началом можно задать некоторые опции, с которыми будет запускаться перехват. Перейдя по «Capture > Options«, достаточно выбрать:

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

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

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

Для анализа любого полученного пакета достаточного выбрать его в окне логов. Однако, делать это целесообразно после остановки перехвата данных. Подробная деталировка интересующего пакета будет представлена в отдельном древовидном окне, в котором все его составляющие будут рассортированы по сетевым уровням. К примеру, если у вас есть проблемы с Ethernet, вам нужно анализировать Ethernet-фреймы; если же это протокол HTTP, то вам нужно «погружаться» в уровень протокола http.

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

Анализ данных

Система фильтров является основным способом преобразования полученных данных в нужный вам формат. Для того, чтобы выбрать нужный фильтр, щелкните на кнопке «Filter» в окне программы. Появится окно с опциями на выбор: только TCP; только UDP; все IP-адреса, кроме локальных; все, кроме DNS и ARP; и многие другие. При выборе любого фильтра из списка в окне синтаксиса Wireshark будет отображена полная команда, представляющая собой фильтр в его «развернутом» виде. Это полезно для изучения синтаксиса Wireshark при написании собственных фильтров.

Например, фильтр «Не получать данные по протоколу HTTP и SMTP с адреса 192.168.0.1» будет выглядеть следующим образом:
not (tcp.port == 80) and not (tcp.port == 25) and ip.addr == 192.168.0.1
Щелкните кнопку «Применить» («Apply«) и Wireshark отфильтрует в главном окне перехваченные им данные. Конечно, вы можете написать и затем сохранить свой собственный фильтр, нажав кнопку «Расширения» («Expression«); Wireshark позволяет вручную выбрать логические операторы и известные поля, которые вы можете использовать при составлении своих собственных фильтров.

Меню «Анализ» («Analyze«) содержит набор более сложных заранее предустановленных опций фильтрации.

1Enable Protocols» предоставляет вам возможность включить или отключить протоколы;
2Specified Decodes» позволяет декодировать определенные протоколы, что может быть полезным при диагностике конкретно выбранного приложения;
3Follow TCP Stream» поможет выбрать отдельное соединение по TCP-протоколу и проследить его состояние от начала и до конца; подобные опции имеются для UDP и SSL-соединений;
4Expert Infos» извлекает сообщения об ошибках и флаги предупреждения (такие, как потерянный или не в очереди сегмент) для быстрого обнаружения проблемы.

Меню «Статистика» («Statistics«) предоставляет более общий обзор всего набора перехваченных данных. Это меню содержит предустановленные функции для анализа общих параметров сети и предоставляет их в удобном табличном виде. Если вы исследуете сетевой трафик вашей сети в первый раз, этот инструмент поможет вам понять основные принципы ее функционирования. Здесь вы можете проанализировать такие данные, как время ответа; размеры фрагментов, на которые разбиты пакеты; трафик на уровне ссылок и приложений.

Wireshark также может выводит полученную информацию в графическом режиме, что облегчает ее восприятие. Перейдя в «Graphs tool» в меню «Статистика» («Statistics«), вы можете выбрать пять фильтров для сравнения файлов позаголовочно с помощью выделения различными цветами.

Начало анализа

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

Конечно, если в вашей сети имеется зомби-машина, зараженная трояном, вы легко можете обнаружить его, например, как спам-бот, если видите тысячи SMTP-соединений, запущенных в течение одного часа. Обнаружение вирусов и вредоносных программ является важной задачей анализа. Но определение причины, почему один из ваших файловых серверов работает чуть медленнее, чем остальные, может потребовать от вас более глубоких исследований.

Обучающие материалы по этой программе на сайте проекта Wireshark являются незаменимым подспорьем. Wiki имеет несколько страниц, посвященных основным проблемам сети , а также ссылки на другие источники с подобной информацией. Представлена информация по другим программам сетевого анализа и анализа безопасности, таким как Nagios , EtherApe , NMap и tcpdump . Большинство исследований проблем в сети требуют понимания сути стеков протокола TCP/IP, поэтому одна или две хорошие книги по этой тематике потребуются наверняка.

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

Экстра возможности: визуализация, альтернативные перехваты

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

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

Wireshark может экспортировать захваченные данные в файл формата CSV, который в дальнейшем вы можете открыть в любом другом приложении, например, в обыкновенной электронной таблице, наподобие Gnumeric или OpenOffice, или в таком статистическом пакете, как R или gnuplot . Хорошие приложения для анализа вы можете найти на forensicswiki.org . Список этих приложений постоянно меняется. К примеру, популярный движок анализа Freebase Gridworks был преобразован в проект Google Refine , который может визуализировать сетевой трафик значительно более удобным способом.

И последнее, но не менее важное. Хотя Wireshark почти всегда позиционируется как сетевой инструмент для анализа, правда заключается в том, что он может анализировать и другие устройства, такие как USB -трафик и даже Unix-сокеты между приложениями.

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

Как пользоваться Wireshark для анализа трафика

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

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

Основные возможности Wireshark

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

  • Захват пакетов в реальном времени из проводного или любого другого типа сетевых интерфейсов, а также чтение из файла;
  • Поддерживаются такие интерфейсы захвата: Ethernet, IEEE 802.11, PPP и локальные виртуальные интерфейсы;
  • Пакеты можно отсеивать по множеству параметров с помощью фильтров;
  • Все известные протоколы подсвечиваются в списке разными цветами, например TCP, HTTP, FTP, DNS, ICMP и так далее;
  • Поддержка захвата трафика VoIP-звонков;
  • Поддерживается расшифровка HTTPS-трафика при наличии сертификата;
  • Расшифровка WEP-, WPA-трафика беспроводных сетей при наличии ключа и handshake;
  • Отображение статистики нагрузки на сеть;
  • Просмотр содержимого пакетов для всех сетевых уровней;
  • Отображение времени отправки и получения пакетов.

Программа имеет множество других функций, но это были те основные, которые могут вас заинтересовать.

Как пользоваться Wireshark

Я предполагаю, что программа у вас уже установлена, но если нет, то вы можете ее установить из официальных репозиториев. Для этого наберите команду в Ubuntu:

sudo apt install wireshark

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

А для Gnome / Unity:

Главное окно программы разделено на три части: первая колонка содержит список доступных для анализа сетевых интерфейсов, вторая — опции для открытия файлов, а третья — помощь.

Анализ сетевого трафика

Для начала анализа выберите сетевой интерфейс, например eth0, и нажмите кнопку Start.

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

  • Верхняя часть — это меню и панели с различными кнопками;
  • Список пакетов — дальше отображается поток сетевых пакетов, которые вы будете анализировать;
  • Содержимое пакета — чуть ниже расположено содержимое выбранного пакета, оно разбито по категориям в зависимости от транспортного уровня;
  • Реальное представление — в самом низу отображается содержимое пакета в реальном виде, а также в виде HEX.

Вы можете кликнуть по любому пакету, чтобы проанализировать его содержимое:

Здесь мы видим пакет запроса к DNS, чтобы получить IP-адрес сайта, в самом запросе отправляется домен, а в пакете ответа мы получаем наш вопрос, а также ответ.

Для более удобного просмотра можно открыть пакет в новом окне, выполнив двойной клик по записи:

Фильтры Wireshark

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

  • ip.dst — целевой IP-адрес;
  • ip.src — IP-адрес отправителя;
  • ip.addr — IP отправителя или получателя;
  • ip.proto — протокол;
  • tcp.dstport — порт назначения;
  • tcp.srcport — порт отправителя;
  • ip.ttl — фильтр по ttl, определяет сетевое расстояние;
  • http.request_uri — запрашиваемый адрес сайта.

Для указания отношения между полем и значением в фильтре можно использовать такие операторы:

  • == — равно;
  • != — не равно;
  • — больше;
  • = — больше или равно;
  • matches — регулярное выражение;
  • contains — содержит.

Для объединения нескольких выражений можно применять:

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

Сначала отфильтруем все пакеты, отправленные на 194.67.215.125 (losst.ru). Наберите строку в поле фильтра и нажмите Apply. Для удобства фильтры Wireshark можно сохранять с помощью кнопки Save:

А чтобы получить не только отправленные пакеты, но и полученные в ответ от этого узла, можно объединить два условия:

ip.dst == 194.67.215.125 || ip.src == 194.67.215.125

Дальше отберём пакеты с ttl меньше 10:

Также мы можем отобрать переданные большие файлы:

Отфильтровав Content-Type, мы можем выбрать все картинки, которые были загружены; выполним анализ трафика Wireshark, пакеты, которого содержат слово image:

http.content_type contains image

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

Например, я хочу вывести в виде колонки ttl (время жизни) пакета. Для этого откройте информацию о пакете, найдите это поле в разделе IP. Затем вызовите контекстное меню и выберите опцию Apply As Column:

Далее вы увидите нужную колонку после обновления:

Таким же образом можно создать фильтр на основе любого нужного поля. Выберите его и вызовите контекстное меню, затем нажмите Apply as filter или Prepare as filter, затем выбираем Selected, чтобы вывести только выбранные значения, или Not selected, чтобы их убрать:

Указанное поле и его значение будет применено или во втором случае подставлено в поле фильтра:

Таким способом вы можете добавить в фильтр поле любого пакета или колонку. Там тоже есть эта опция в контекстном меню. Для фильтрации протоколов вы можете использовать и более простые условия. Например, выполним анализ трафика Wireshark для протоколов HTTP и DNS:

Еще одна интересная возможность программы — использование Wireshark для отслеживания определённого сеанса между компьютером пользователя и сервером. Для этого откройте контекстное меню для пакета и выберите Follow TCP stream.

Затем откроется окно, в котором вы найдете все данные, переданные между сервером и клиентом:

Диагностика проблем Wireshark

Возможно, вам интересно, как пользоваться Wireshark 2.0 для обнаружения проблем в сети. Для этого в левом нижнем углу окна есть круглая кнопка, при нажатии на неё открывается окно Expet Tools. В нём Wireshark собирает все сообщения об ошибках и неполадках в сети:

Окно разделено на такие вкладки, как Errors, Warnings, Notices, Chats. Программа умеет фильтровать и находить множество проблем с сетью, и тут вы можете их очень быстро увидеть. Здесь тоже поддерживаются фильтры Wireshark.

Анализ трафика Wireshark

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

Для этого сначала нужно остановить захват трафика с помощью красного квадрата на панели. Затем откройте меню File -> Export Objects -> HTTP:

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

Дальше вы можете выполнить анализ сетевого трафика Wireshark или сразу открыть полученный файл другой программой, например плеером.

Выводы

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

Поиск и анализ хостов и пользователей в сетевом трафике при помощи WireShark

Когда хост заражен или любым другим образом угрожает вашей информационной безопасности, сетевым специалистам необходимо быстро проанализировать захваченные пакеты подозрительного сетевого трафика (захваченные и хранящиеся в файлах с расширением «.pcap» библиотеки libpcap), чтобы оперативно идентифицировать затронутые угрозой хосты и пользователей. В рамках данного руководства мы подробно, используя практические примеры, расскажем вам, как получить необходимую вам информацию об интересующих вас хостах и пользователях с помощью самой популярной программы-анализатора сетевого трафика Wireshark.

Итак, данные, которые вы, скорее всего, захотите извлечь для этих целей из захваченного трафика IPv4, можно разделить на четыре типа:

  • Информация о хосте из трафика DHCP;
  • Информация о хосте из трафика NetBIOS Name Service (NBNS);
  • Модели и операционные системы устройств из трафика HTTP;
  • Учетная запись пользователя Windows из трафика Kerberos.

Информация о хосте из трафика DHCP

Любой хост, генерирующий трафик в вашей сети, должен иметь три идентификатора: MAC-адрес, IP-адрес и имя хоста.

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

Как же нам добыть эту информацию, используя Wireshark? Для этого нам необходимо использовать фильтр по одному из видов сетевой активности: DHCP или NBNS. Трафик DHCP может помочь идентифицировать хосты практически для любого типа компьютеров, подключенных к вашей сети. Трафик NBNS генерируется в основном компьютерами под управлением Microsoft Windows или хостами Apple под управлением MacOS.

Первый тренировочный pcap-файл «host-and-user-ID-pcap-01.pcap» для нашего практического руководства доступен для скачивания по этой ссылке: https://www.malware-traffic-analysis.net/training/host-and-user-ID.html (все остальные файлы мы также берем отсюда). Он содержит информацию о трафике для внутреннего IP-адреса «172.16.1.207». Открыв pcap-файл в Wireshark и применив фильтр «bootp», как показано на рисунке 1, вы получите отображение трафика DHCP. Обратите внимание, что, если вы используете новую версию Wireshark 3.0, то в качестве поискового запроса вам следует использовать значение «dhcp» вместо «bootp».

Рисунок 1: Отфильтровываем трафик DHCP в Wireshark

Выберите один из пакетов, который обозначен как DHCP-запрос («DHCP Request») в информационном столбце. Перейдите в раздел с детальной информацией о пакете и разверните пункт меню «Bootstrap Protocol (Request)», как показано на рисунке 2. Необходимая нам информация находится в подпунктах «Client Identifier» и «Host Name», что проиллюстрировано на рисунке 3. В подробной информации об идентификаторе клиента должен быть указан MAC-адрес, соответствующий IP-адресу «172.16.1.207», ну а сведения об имени хоста должны, как следует из названия, откроют нам имя хоста.

Рисунок 2: Разворачиваем пункт меню «Bootstrap Protocol (Request)» для DHCP-запроса

Рисунок 3: Находим MAC-адрес и имя хоста в запросе DHCP

В нашем практическом примере имя хоста для IP-адреса «172.16.1.207» — это «Rogers-iPad», а MAC-адрес — это «7c:6d:62:d2:e3:4f». Этот MAC-адрес зарегистрирован за корпорацией Apple, как производителя данного сетевого устройства. Судя по имени хоста, это устройство, скорее всего, является планшетом Apple iPad, но точно утверждать это, опираясь только на имя хоста, мы не можем.

Мы можем легко сопоставить MAC-адрес и IP-адрес для любого пакета с источником «172.16.1.207», как это показано на рисунке 4.

Рисунок 4: Сопоставление MAC-адреса с IP-адресом для любого пакета

Информация о хосте из трафика NBNS

В зависимости от того, как часто обновляется аренда DHCP, у вас могут возникнуть осложнения с анализом трафика DHCP в захваченном вами pcap-файле. К счастью, мы можем использовать трафик NBNS для определения имени хоста для компьютеров под управлением Microsoft Windows или устройств Apple под управлением MacOS.

Второй pcap-файл «host-and-user-ID-pcap-02.pcap» для нашего практического руководства вы можете загрузить по ссылке, которую мы уже дали выше. Этот файл от хоста Windows, использующего внутренний IP-адрес «10.2.4.101». Откройте данный pcap-файл в Wireshark и используйте фильтр «nbns». Это действие должно показать вам трафик NBNS. Выбрав первый пакет, вы можете быстро и легко сопоставить IP-адрес с MAC-адресом и именем хоста, как это показано на рисунке 5.

Рисунок 5: Сопоставление имени хоста с IP-адресом и MAC-адресом, используя трафик NBNS

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

Рисунок 6: Детальная информация о пакете для трафика NBNS, где вы можете найти имя хоста, соответствующее IP-адресу

Модели и операционные системы устройств из трафика HTTP

Текстовые строки User-agent из заголовков HTTP-трафика могут помочь определить операционную систему. А если HTTP-трафик поступает с устройства под управлением Android, вы также можете определить производителя и модель устройства.

Теперь скачиваем третий pcap-файл «host-and-user-ID-pcap-03.pcap». Он от хоста Windows, использующего внутренний IP-адрес «192.168.1.97». Откройте данный pcap-файл в Wireshark и используйте фильтр «http.request and !(ssdp)». Выберите второй пакет, который является первым HTTP-запросом к сайту «www.ucla.edu», задав опцию меню «Follow —> TCP stream», как показано на рисунке 7.

TCP stream» для HTTP-запроса» src=»https://networkguru.ru/image/analiz-hostov-i-polzovatelej-v-setevom-trafike-pri-pomoshchi-wireshark-08.jpg» style=»width: 800px; height: 554px;» />

Рисунок 7: Выбор опции меню «Follow —> TCP stream» для HTTP-запроса

Собственно, опция «TCP stream» позволит увидеть заголовок HTTP-запроса, как вы можете убедиться, взглянув на картинку 8. В рассматриваемом нами примере строка «User-Agent» указывает на веб-браузер «Google Chrome версии 72.0.3626.81», работающий в операционной системе «Microsoft Windows 7 x64».

Рисунок 8: Строка User-Agent открывает, что хост находится под управлением операционной системы Windows 7 x64 и использует веб-браузер Google Chrome

Обратите внимание на рисунке 8 на следующий фрагмент в строке User-Agent: «(Windows NT 6.1; Win64; x64)».

В данном случае фрагмент «Windows NT 6.1» соответствует Windows 7. Если же отойти от нашего практического примера и копнуть глубже, то используемые версии Windows NT для строк User-Agent имеют следующее соответствия привычным нам версиям Microsoft Windows:

  • Windows NT 5.1: Windows XP;
  • Windows NT 6.0: Windows Vista;
  • Windows NT 6.1: Windows 7;
  • Windows NT 6.2: Windows 8;
  • Windows NT 6.3: Windows 8.1;
  • Windows NT 10.0: Windows 10.

Таким образом, анализируя HTTP-трафик веб-браузера устройств под управлением Windows вы можете определить операционную систему и браузер.

Тот же тип трафика с Android-устройств поможет вам получить не только эти данные, но и идентифицировать название бренда и модель устройства. Как практически это сделать мы расскажем на примере использования четвертого pcap-файла «host-and-user-ID-pcap-04.pcap». Он содержит захваченный трафик с хоста Android, использующего внутренний IP-адрес «172.16.4.119». Открываем данный файл в Wireshark и используем фильтр «http.request». Выбираем второй пакет, который представляет собой HTTP-запрос к сайту www.google.com с атрибутом «/blank.html». Задаем опцию меню «Follow —> TCP stream», как показано на рисунке 9.

TCP stream» для HTTP-запроса при анализе трафика Android-устройства» src=»https://networkguru.ru/image/analiz-hostov-i-polzovatelej-v-setevom-trafike-pri-pomoshchi-wireshark-08.jpg» style=»width: 800px; height: 554px;» />

Рисунок 9: Выбор опции меню «Follow —> TCP stream» для HTTP-запроса при анализе трафика Android-устройства

Рисунок 10: Строка User-Agent для хоста Android, использующего веб-браузер Google Chrome

Строка User-Agent на рисунке 10 указывает нам на операционную систему Android относительно старой версии 7.1.2, выпущенную в апреле 2017 года. Ну а фраза «LM-X210APM» относится к номеру модели для этого Android-устройства. Быстрый поиск в Google позволяет нам идентифицировать, что данная модель является смартфоном LG Phoenix 4.

Однако, для смартфонов iPhone или любого другого мобильного устройства производства корпорации Apple строка User-Agent при анализе HTTP-трафика не будет столь информативной. Описанный в данном практическом руководстве способ позволит вам определить только операционную систему и тип устройства, но не его модель. Другими словами, мы сможем понять, является ли данное Apple-устройство iPhone, iPad или iPod без какой-либо большей конкретики.

Чтобы убедиться в этом на практике, протестируйте пятый pcap-файл «host-and-user-ID-pcap-05.pcap». Он содержит трафик, захваченный с устройства iPhone, использующего внутренний адрес «10.0.0.114». Откройте этот pcap-файл в Wireshark и отфильтруйте по «http.request». Выберете пакет первого по порядку HTTP-запроса к сайту «web.mta.Info» и задайте опцию меню «Follow —> TCP stream», как показано на рисунке 11.

TCP stream» для HTTP-запроса при анализе трафика Apple-устройства» src=»https://networkguru.ru/image/analiz-hostov-i-polzovatelej-v-setevom-trafike-pri-pomoshchi-wireshark-12.jpg» style=»width: 800px; height: 630px;» />

Рисунок 11: Выбор опции меню «Follow —> TCP stream» для HTTP-запроса при анализе трафика Apple-устройства

Как можно увидеть на рисунке 12, найденный фрагмент строки User-Agent звучит так: «(iPhone; CPU iPhone OS 12_1_3 like Mac OS X)». Это указывает на то, что устройством Apple является смартфоном iPhone, и он работает под управлением iOS версии 12.1.3.

Рисунок 12: Строка User-Agent для iPhone, использующего веб-браузер Safari

Закрывая часть, которая относится к использованию HTTP-трафика и строки User-Agent для получения информации о модели устройства и используемой им операционной системы, обращаем ваше внимание на то, что не вся активность HTTP является трафиком веб-браузера. Поэтому не все HTTP-запросы будут содержать необходимую вам информацию о браузере или операционной системе. Таким образом, при анализе трафика для идентификации хоста вам может потребоваться проверить несколько разных HTTP-запросов, прежде чем вы сможете обнаруживать трафик веб-браузера с искомой информацией.

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

Учетная запись пользователя Windows из трафика Kerberos

Для хостов Windows в среде Active Directory (AD) мы можем найти имена учетных записей пользователей в трафике Kerberos.

Шестой и последний учебный pcap-файл — «host-and-user-ID-pcap-06.pcap». Он получен для хоста Windows в следующей доменной среде Active Directory:

  • Domain: happycraft.org;
  • Network segment: 172.16.8.0/24 (172.16.8.0 – 172.16.8.255);
  • Domain controller IP: 172.16.8.8;
  • Domain controller hostname: Happycraft-DC;
  • Segment gateway: 172.16.8.1;
  • Broadcast address: 172.16.8.255;
  • Windows client: 172.16.8.201.

Откройте данный pcap-файл в Wireshark и задайте фильтр «kerberos.CNameString». Выберите первый пакет. Перейдите в раздел с детальной информацией и разверните поочередно линейные пункты меню, как это показано на рисунке 13. Выберите строку «CNameString: johnson-pc$» и примените к ней опцию «Apply as Column».

Рисунок 13: Поиск значения «CNameString» и применение к нему опции «Apply as Column»

Эта операция позволит вам создать новый столбец, озаглавленный «CNameString». Отсортируйте вывод информации по этому столбцу и прокрутите вниз до последних пакетов. Здесь, как показано на рисунке 14, в трафике между контроллером домена с IP-адресом «172.16.8.8» и клиентом Windows с IP-адресом «172.16.8.201» вы должны найти имя учетной записи пользователя «theresa.johnson».

Рисунок 14: Поиск имени учетной записи пользователя Windows

Значения CNameString для имен хостов всегда заканчиваются символом «$» (знаком доллара), в то время как имена учетных записей пользователей — нет. Поэтому, чтобы отфильтровать имена пользователей и исключить результаты CNameString со знаком доллара, используйте следующее выражение в Wireshark: «kerberos.CNameString and !(kerberos.CNameString contains $)».

Заключение

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

Появились вопросы или нужна консультация? Обращайтесь!


источники:

http://losst.ru/kak-polzovatsya-wireshark-dlya-analiza-trafika

http://networkguru.ru/analiz-hostov-i-polzovatelej-v-setevom-trafike-pri-pomoshchi-wireshark/