Измерение времени отклика службы в Tshark

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

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

Введение

В этом практическом занятии (лабораторной работе) вы научитесь измерять время отклика службы SMB с помощью Tshark, командной строковой утилиты Wireshark. Вы будете захватывать сетевой трафик на TCP-порту 445, анализировать время отклика сессий и применять фильтры для изучения конкретных коммуникаций между хостами.

Практические упражнения помогут вам сгенерировать тестовый трафик, рассчитать метрики производительности SMB с использованием команд, таких как -z smb,srt, и проанализировать результаты с помощью статистических функций Tshark. Вы получите практический опыт работы с фильтрами захвата (-f "tcp port 445") и фильтрами отображения (-Y "ip.addr==10.0.0.1") в среде Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/display_filters("Display Filters") wireshark/WiresharkGroup -.-> wireshark/capture_filters("Capture Filters") wireshark/WiresharkGroup -.-> wireshark/export_packets("Exporting Packets") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/packet_capture -.-> lab-548933{{"Измерение времени отклика службы в Tshark"}} wireshark/display_filters -.-> lab-548933{{"Измерение времени отклика службы в Tshark"}} wireshark/capture_filters -.-> lab-548933{{"Измерение времени отклика службы в Tshark"}} wireshark/export_packets -.-> lab-548933{{"Измерение времени отклика службы в Tshark"}} wireshark/packet_analysis -.-> lab-548933{{"Измерение времени отклика службы в Tshark"}} wireshark/commandline_usage -.-> lab-548933{{"Измерение времени отклика службы в Tshark"}} end

Захват SMB-трафика с использованием фильтра -f "tcp port 445"

На этом этапе вы научитесь захватывать сетевой трафик SMB (Server Message Block) с использованием фильтра захвата Wireshark. SMB - это сетеевой протокол, в основном используемый для обмена файлами, доступа к принтерам и межпроцессорного взаимодействия между компьютерами под управлением Windows. Обычно он использует TCP-порт 445 для связи, поэтому мы будем концентрироваться на этом конкретном порте при захвате трафика.

Начнем с настройки нашей среды:

  1. Сначала откройте терминал в виртуальной машине LabEx, нажав на значок терминала на рабочем столе Xfce или используя сочетание клавиш Ctrl+Alt+T. В терминале мы будем выполнять все наши команды.

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

cd ~/project
  1. Теперь запустим Wireshark, который является сетевым анализатором протоколов, с помощью которого мы будем захватывать и анализировать SMB-трафик. Символ & запускает Wireshark в фоновом режиме, чтобы вы могли продолжать использовать тот же терминал:
wireshark &
  1. В главном интерфейсе Wireshark нам нужно настроить параметры захвата:

    • Выберите активный сетевой интерфейс (обычно eth1). Это сетевой адаптер, который будет отслеживать трафик.
    • В поле фильтра захвата введите: tcp port 445. Это сообщает Wireshark захватывать только трафик на порте 445, на котором работает SMB.
    • Нажмите на синюю иконку акулы, чтобы начать захват. Вы увидите, как интерфейс начинает заполняться пакетами.
  2. Чтобы сгенерировать некоторый SMB-трафик для захвата, мы будем использовать команду smbclient в новом окне терминала. Эта команда пытается подключиться к локальному SMB-серверу (хотя мы знаем, что это не удастся, но она все равно сгенерирует трафик, который мы хотим захватить):

smbclient -N -L //127.0.0.1
  1. После захвата трафика в течение примерно 10 секунд (достаточного времени для генерации достаточного количества трафика) остановите захват, нажав на красную квадратную кнопку. Это заморозит отображение пакетов, чтобы мы могли проанализировать их.

  2. Посмотрите на захваченные пакеты в главном окне. Вы должны увидеть TCP-пакеты с портами назначения/источника 445. Это пакеты протокола SMB, которые нас интересуют для анализа.

  3. Наконец, сохраним наш захват для будущего использования:

    • Перейдите в меню Файл > Сохранить как
    • Назовите файл smb_capture.pcapng (формат .pcapng сохраняет всю информацию о захвате)
    • Сохраните его в каталоге ~/project, откуда мы начали работу

Вычисление SRT с использованием -z smb,srt

На этом этапе вы научитесь вычислять время отклика сеанса SMB (SMB Session Response Time, SRT) с помощью командной строковой утилиты Wireshark - tshark. SRT измеряет время между отправкой запроса SMB клиентом и получением ответа от сервера, что является важным показателем для выявления узких мест в производительности операций по обмену файлами по протоколу SMB.

  1. Сначала убедитесь, что вы находитесь в каталоге проекта, где будем работать с файлами с захваченным трафиком:
cd ~/project
  1. Мы будем использовать файл с захваченным трафиком smb_capture.pcapng, созданный на предыдущем этапе. Этот файл содержит сетевой трафик, захваченный на порте 445, который является стандартным портом для протокола SMB. Если у вас нет этого файла, вы можете создать его заново, выполнив следующую команду:
wireshark -k -i eth1 -f "tcp port 445" -w smb_capture.pcapng &

Подождите 10 секунд, чтобы захватить некоторый SMB-трафик, затем остановите захват, нажав Ctrl+C.

  1. Основная команда вычисляет время отклика сеанса SMB. Опция -z smb,srt сообщает tshark проанализировать статистику времени отклика SMB:
tshark -r smb_capture.pcapng -z smb,srt
  1. В выводе будет отображена детальная таблица со статистикой SRT, которая поможет вам понять характеристики производительности сеанса SMB. Она включает в себя:

    • Общее количество обработанных запросов SMB
    • Минимальное время отклика (самый быстрый ответ)
    • Максимальное время отклика (самый медленный ответ)
    • Среднее время отклика
    • Распределение времени отклика по различным временным диапазонам
  2. При работе с большими файлами с захваченным трафиком вывод может быть очень длинным. Для лучшей читаемости вы можете направить вывод в программу less, которая позволяет прокручивать результаты по страницам:

tshark -r smb_capture.pcapng -z smb,srt | less
  1. Чтобы сохранить эти статистические данные для дальнейшего анализа или отчетности, перенаправьте вывод в текстовый файл:
tshark -r smb_capture.pcapng -z smb,srt > smb_srt_stats.txt
  1. Вы можете просмотреть сохраненные статистические данные в любое время, используя команду cat. Это полезно, когда вам нужно проверить результаты без повторного выполнения анализа:
cat smb_srt_stats.txt

Фильтрация по хосту с использованием -Y "ip.addr==10.0.0.1"

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

  1. Сначала убедитесь, что вы находитесь в каталоге проекта, где хранится ваш файл с захваченным трафиком:
cd ~/project
  1. Откройте ранее захваченный файл с SMB-трафиком в Wireshark. Символ & запускает программу в фоновом режиме, чтобы вы могли продолжать использовать терминал:
wireshark smb_capture.pcapng &
  1. В строке фильтра отображения Wireshark (расположенной в верхней части главного окна) введите следующий фильтр, чтобы увидеть все пакеты, связанные с IP-адресом 10.0.0.1:
ip.addr==10.0.0.1

Затем нажмите Enter или нажмите кнопку "Применить", чтобы активировать фильтр.

  1. Теперь в списке пакетов будут отображаться только те пакеты, в которых:

    • Исходный IP-адрес равен 10.0.0.1 (трафик, исходящий от этого хоста)
    • Адрес назначения равен 10.0.0.1 (трафик, направленный к этому хосту)
  2. Чтобы быть более точными, вы можете отфильтровать только пакеты, направленные к 10.0.0.1 (трафик назначения):

ip.dst==10.0.0.1
  1. Аналогично, чтобы увидеть только пакеты, исходящие от 10.0.0.1 (трафик источника):
ip.src==10.0.0.1
  1. Вы можете комбинировать фильтры с помощью логических операторов для более точного анализа. Например, чтобы увидеть только SMB-трафик (который использует TCP-порт 445) от/к 10.0.0.1:
ip.addr==10.0.0.1 && tcp.port==445
  1. Чтобы сохранить отфильтрованное представление для дальнейшего анализа:
    • Перейдите в меню "Файл" > "Экспорт указанных пакетов"
    • Выберите "Показанные", чтобы сохранить только отфильтрованные пакеты
    • Сохраните файл как filtered_host.pcapng

Просмотр статистики с использованием -q

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

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

cd ~/project

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

tshark -r smb_capture.pcapng -q

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

tshark -r smb_capture.pcapng -qz io,phs

Поскольку мы работаем с SMB-трафиком, мы можем специально проанализировать времена отклика SMB-сервиса. Это помогает определить, насколько быстро сервер отвечает на запросы клиентов:

tshark -r smb_capture.pcapng -qz smb,srt

Далее мы рассмотрим статистику конечных точек, чтобы увидеть, какие IP-адреса генерируют или получают наибольший объем трафика:

tshark -r smb_capture.pcapng -qz endpoints,ip

Для понимания моделей взаимодействия между хостами мы используем статистику сеансов. Это показывает объемы трафика между определенными парами IP-адресов:

tshark -r smb_capture.pcapng -qz conv,ip

Часто полезно сохранить статистику для дальнейшего анализа. Здесь мы сохраняем иерархию протоколов в текстовый файл:

tshark -r smb_capture.pcapng -qz io,phs > protocol_stats.txt

Наконец, мы можем просмотреть сохраненную статистику, чтобы проверить вывод:

cat protocol_stats.txt

Резюме

В этом практическом занятии вы научились измерять времена отклика SMB-сервиса с использованием Wireshark и tshark. Процесс включал захват SMB-трафика с применением фильтра "tcp port 445", а затем анализ времен отклика сессии с помощью параметра "-z smb,srt" в tshark для оценки производительности SMB.

Вы также практиковались в фильтрации трафика по IP-адресу с использованием опции "-Y" и создании статистических сводок с помощью опции "-q". Эти методы предоставляют важные навыки для анализа сетевого трафика и мониторинга протокола SMB с использованием командной строки.