Как работать с анализатором TShark. Часть 2

Как работать с анализатором TShark. Часть 2

Cегодня мы продолжаем разбираться как правильно и эффективно работать с анализатором трафика Tshark.Мы продолжим анализировать функции данного анализатора и рассмотрим перечень команд употребляемых в нем.

Распределение пакетов

Эта опция предполагает, что человек берет трафик из уже полученного пакета и выполняет его с помощью опции «ttp, tree» с параметром «-z» для подсчета количества HTTP-запросов, их модов и состояния кода. Его легко понять, а затем проанализировать, проанализировав свои действия на основе модульного подхода. Здесь пользователь получил пакет, который он захватил ранее, и запустил его через опцию, которая сообщила ему, что всего было сгенерировано 126 запросов, из которых 14 вернули 200 OK.А это означает, что другие из них либо ошиблись в ответе или были перенаправлены на другой сервер для ответа серии 3XX.

tshark -r wlan.pcap -z http,tree -q

Как работать с анализатором TShark. Часть 2

Длина пакетов

Если мы говорим о древовидной структуре, следует ее немного изучить. Есть много способов использовать опцию «tree» в сочетании с другими функциями. Чтобы показать это, человек решил использовать параметр длины пакета с заданным параметром «tree». Эта функция поможет вам отсортировать данные по размеру пакетов, а затем сгенерировать с ними таблицу. Теперь эта таблица будет содержать не только длину пакетов, но и их количество. Минимальная длина соответствует размеров пакетов. Кроме того, инструмент рассчитает размер и процент пакетов в указанном диапазоне длины.

tshark -r wlan.pcap -z plen,tree -q

Как работать с анализатором TShark. Часть 2

Анализ выходных данных на основе цвета

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

tshark -r color.pcap --color

Как работать с анализатором TShark. Часть 2

Анализ циклического буфера

По умолчанию TShark работает в «многофайловом» режиме. Поэтому TShark записывает данные в несколько файлов захвата. Когда первый файл захвата несколько заполнен, инструмент переключается на следующий файл и так далее. Вы можете указать имена файлов, которые хотите создать, с помощью опции «-w». Количество файлов и время их появления будут объединены с именем, указанным с параметром «-w», чтобы сформировать полное имя файла.

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

Есть много критериев, по которым работает кольцевой буфер, но в этом случае человек использовал только 2. Файлы и размер файла. Файлы: значение начинается с первого файла после записи значения количества файлов (образуется кольцевой буфер). Это значение должно быть меньше 100 000. Размер файла: значение перемещается к следующему файлу после того, как первый достигает указанного размера (КБ). Обратите внимание, что максимальный размер файла ограничен 2 гигабайтами.

tshark -I eth0 -w packetsbuffer.pcap -b filesize:1 -b file:3

Как работать с анализатором TShark. Часть 2

Автоматическая остановка работы

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

Длина

Есть несколько возможностей, и в этом случае человек использовал критерий продолжительности. Он указал продолжительность и ограничил ее до 10. Это значение выражается в секундах. После захвата пользователь видит, что он захватил 9 пакетов за 10 секунд.

tshark -i eth0 -a duration:10

Как работать с анализатором TShark. Часть 2

Размер файла

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

tshark -i eth0 -w 1.pcap -a filesize:1

Как работать с анализатором TShark. Часть 2

Каналы для передачи данных

Пользователь также может изменять статистику данных трафика, полученных в соответствии с типами носителей данных. Для этого придется использовать независимый параметр «-l». В этом случае человек использовал его, чтобы указать, что у него есть каналы передачи данных, такие как EN10MB, указанные для трафика Ethernet.

tshark -L

Как работать с анализатором TShark. Часть 2

Сведения о версии

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

tshark -v

Как работать с анализатором TShark. Часть 2

Функции отчетности

Во время любого подключения к сети возникает острая необходимость в подотчетности, чтобы человек мог делиться результатами с командой, а также с начальством и иметь подтвержденные свидетельства любой активности внутри нее. По тем же причинам TShark предоставил людям отличный вариант (-G). С помощью этой опции TShark может распечатать список различных типов отчетов, которые будут созданы. В официальном руководстве TShark для описания этих типов отчетов используется слово «Глоссарии».

tshark -G help

Как работать с анализатором TShark. Часть 2

Форматы столбцов

Конечно, в разделе отчетов TShark есть опция форматирования столбцов. Чтобы проверить его содержимое, человек выполнил команду, как показано на следующем рисунке. Читатели могут видеть, что он печатает список с определенными символами, которые можно использовать для создания отчета. Также присутствуют идентификатор VLAN, дата, время, адрес назначения, порт назначения, длина пакета, протокол и другие данные.

tshark -G column-formats

Декодирование

Эта опция способна генерировать 3 поля, связанных с уровнями, а также декодированный протокол. При использовании этой опции существует ограничение на одну запись в строке. Первое поле со значением «s1ap.process.sout» сообщает пользователю тип уровня сетевых пакетов. Затем он получает значение селектора в десятичном формате. Наконец, у человека есть стенограмма того, что было получено во время захвата. Он использовал команду head, потому что вывод был достаточно большим, чтобы поместиться на одном снимке экрана.

tshark -G decodes | head

Диссектор таблиц

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

Elastic mapping

Mapping— это схема документов, хранящихся в указателе. Elasticsearch поддерживает широкий спектр типов данных для полей в документе. Параметр elastic-mapping в TShark выводит данные, хранящиеся в файле сопоставления ElasticSearch. Из-за большого объема данных для печати пользователь решил также использовать команду head

tshark -G elastic-mapping | head

Количество полей

При построении сетевого графика бывают моменты, когда вам нужно получить количество перемещаемых полей заголовка в любой момент времени. В таких случаях может помочь TShark. С помощью опции fieldcount пользователь может легко распечатать количество полей заголовка. Как вы можете видеть на изображении ниже, у пользователя есть 2522 протокола и 215 000 предварительно сопоставленных полей.

tshark -G fieldcount

Поля

TShark также может получить содержимое регистрационной базы данных. Вывод, генерируемый этой опцией, не так легко интерпретировать, как другие. Некоторые пользователи могут использовать любой другой инструмент синтаксического анализа, чтобы получить более точный результат. Каждая запись в выходных данных представляет собой файл протокола или заголовка. Это можно отличить по первому полю записи. Если это поле P, то это протокол, а если F, то это поле заголовка. В случае протоколов есть еще 2 поля. Одно из них говорит о протоколе, а другие поля показывают аббревиатуру, используемую для указанного протокола. В случае с заголовком ситуация немного иная. Кроме того, есть еще 7 полей. Пользователь получает название, аббревиатуру, тип, аббревиатуру родительского протокола, базу для отображения файлов, поле для описания рекламы и битовую маску.

tshark -G fields | head

Основные виды

TShark также помогает человеку создавать отчеты, посвященные основным типам сетевых протоколов. Это для краткости называется ftype. Этот тип отчета состоит всего из 2 полей. Один для FTYPE и один для его описания.

tshark -G ftypes

Эвристическое декодирование

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

tshark -G heuristic-decodes

Плагины

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

tshark –G plugins

Протоколы

Если читатели хотят знать подробности протоколов, которые записываются в базу данных, они могут использовать параметр protocols. Этот вывод также немного нечитаем, поэтому пользователь может использовать любой сторонний инструмент для составления отчета. Этот параметр отображает данные в 3-х полях. У человека есть имя протокола, короткое имя и имя фильтра.

tshark –G protocols | head

Значения

Значения Отчет состоит из строк значений, строк диапазона, строк true/false. Здесь доступны три типа записей. Первое поле может состоять из одного из этих трех символов: V: строки значений; R: строки диапазона; T: true/false строки. Кроме того, в строках значений есть аббревиатура поля, значение и сама строка. В строках диапазона есть те же значения, за исключением того, что они содержат информацию, связанную с нижней и верхней границей строки.

tshark –G values | head

Предпочтения

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

tshark –G currentprefs | head

Папки

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

tshark –G folders

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

PyShark

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

Установка

Поскольку PyShark был разработан с использованием Python 3, нужно установить его, как показано на рисунке ниже.

apt install python3

PyShark доступен через pip. Но у пользователя нет pip для Рython 3, поэтому также нужно установить и его.

apt install python3-pip

Поскольку у человека уже есть Рython3 с pip, он установит Рyshark с помощью команды. Он также может установить PyShark, клонировав git и запустив программу установки.

pip3 install pyshark

Захват

Теперь, чтобы начать, нужен интерпретатор Рython. Чтобы получить его, пользователь пишет python3 и нажимает Еnter. Теперь, когда у него есть интерпретатор, самое первое, что нужно сделать, — это импортировать PyShark. Затем он определяет сетевой интерфейс для захвата. Также человек определит значение параметра timeout. Наконец, пользователь начинает захват. Здесь он видит, что были захвачены 9 пакетов.

python3

import pyshark

capture = pyshark.LiveCapture(interface=’eth0’)

capture.sniff(timeout=5)

capture

Красивая презентация

Существует несколько способов, которыми PyShark может представлять данные внутри захваченного пакета. В предыдущей практике были захвачены 9 пакетов. Стоит взглянуть на первый пакет, который был захвачен с помощью PyShark. Здесь пользователь может увидеть, что у него есть послойный анализ с уровнем ETH, уровнем IP и уровнем TCP.

capture[1].pretty_print()

Захваченное поле длины

При захвате пользователь увидел некоторые данные, которые состоят из нескольких атрибутов. Эти атрибуты нуждаются в полях для хранения. Чтобы исследовать данную область, человек будет использовать функцию dir в Python. Человек взял пакет, а затем определил переменную с именем pkt со значением этого пакета и сохранил все данные. Затем, используя функцию dir, он увидел, что исследовал поля внутри этого конкретного случая. Он понимает, что есть функция pretty_print. Также есть одно поле с именем captured_length для чтения, в которое он запишет имя переменной, за которым следует имя поля с точкой (.) между ними, как показано на рисунке ниже.

capture[2]

pkt = capture[2]

pkt

dir(pkt)

pkt.captured_length

Слои, поля Src и Dst

Когда пользователь перечислил поля, он увидел, что у него есть еще одно поле с именем layers. Человек прочитает его содержимое, чтобы узнать, что у него есть 3 слоя в этом захвате. Теперь, чтобы заглянуть в определенный слой, нужно получить его поля. Для этого пользователь снова будет использовать функцию dir. Человек уже использовал функцию dir на слое ETH, как показано на рисунке ниже. У него есть поле с именем src, что означает источник, и dst, что означает пункт назначения. Он проверил значение в этих полях, чтобы найти физический адрес источника и пункт назначения.

pkt.layers

pkt.eth.src

pkt.eth.dst

pkt.eth.type

Для следующего шага нужны поля IP-пакета. Человек использовал функцию dir на IP-слое, а затем применил поля src и dst. Он видит, что есть IP-адрес, так как это IP-уровень. Поскольку уровень Ethernet работает на MAC-адресах, он хранит MAC-адреса источника и назначения, которые изменяются, когда человек переходит к IP-уровню.

dir(pkt.ip)

pkt.ip.src

pkt.ip.dst

pkt.ip.pretty_print()

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

Захват Promisc

В предыдущих разделах читатели узнали о режиме promisc, который означает, что сетевая карта будет передавать все полученные фреймы в операционную систему для обработки, в отличие от традиционного режима работы, при котором только фреймы, предназначенные для MAC-адреса сетевой карты или широковещательного адреса, будут передаваться на компьютер. Как правило, этот режим используется для снифинга всего трафика. Но появилась загвоздка, когда пользователь настроил сетевую интерфейсную карту для работы в режиме promisc. Таким образом, при захвате трафика на TShark пользователь может переключаться между обычным захватом и захватом promisc с помощью параметра «-p», как показано на рисунке ниже.

ifconfig eth0 promisc

ifconfig eth0

tshark -i eth0 -c 10

tshark -i eth0 -c 10 -p

Заключение

Tshark находится где-то между tcpdump и Wireshark. Tcpdump отличается сбором данных и может очень быстро извлекать только те данные, которые ему нужны. Однако его полезность для анализа ограничена. Wireshark отлично справляется со сбором и анализом. Однако, поскольку он имеет богатый пользовательский интерфейс, его нельзя использовать на серверах, которые работают только в терминальном режиме. Введите tshark; Он захватывает и анализирует, но последний в командной строке. Tshark использует те же настройки фильтра, что и Wireshark, что не должно вызывать удивления, поскольку по сути это один и тот же продукт. С помощью этой команды tshark будет отслеживать IP-адреса назначения, а также некоторые другие интересные поля из HTTP-части пакета.

 

 

 

 
 

 

 

 
 

 

 

 
 

 

 

 
 

 

 
 

 

 
 

 
 

 

 

 

 
 

 

 

 

 

 

 
 

 
 

 

 

 
 

 

 
 

 

 

 

 

 

 

 

Click to rate this post!
[Total: 1 Average: 5]

Leave a reply:

Your email address will not be published.