Использование двухпроходного анализа в Tshark

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

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

Введение

В этом практическом занятии (лабораторной работе) вы научитесь выполнять двухпроходной анализ с использованием tshark, командной строковой утилиты Wireshark, для анализа сетевого трафика из файла PCAP. Вы будете практиковать использование ключевых параметров, таких как -r для чтения файла, -2 для двухпроходного режима и -V для подробного вывода, одновременно изучая пакеты подтверждения TCP с помощью фильтров отображения.

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


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/protocol_dissection("Protocol Dissection") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/packet_capture -.-> lab-548940{{"Использование двухпроходного анализа в Tshark"}} wireshark/display_filters -.-> lab-548940{{"Использование двухпроходного анализа в Tshark"}} wireshark/protocol_dissection -.-> lab-548940{{"Использование двухпроходного анализа в Tshark"}} wireshark/packet_analysis -.-> lab-548940{{"Использование двухпроходного анализа в Tshark"}} wireshark/commandline_usage -.-> lab-548940{{"Использование двухпроходного анализа в Tshark"}} end

Открытие файла с использованием -r capture.pcap

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

Опция -r является одним из наиболее часто используемых параметров tshark. Она означает "read" (читать) и указывает, что tshark должен обрабатывать пакеты из файла, а не захватывать текущий сетевой трафик. Мы будем работать с примером файла с именем capture.pcap, который содержит записанные данные сетевого взаимодействия.

Прежде чем приступить, разберемся, с чем мы будем работать:

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

Следуйте этим шагам внимательно:

  1. Сначала перейдите в каталог, содержащий наш файл с захваченными пакетами:
cd ~/project
  1. Убедитесь, что файл с захваченными пакетами существует и проверьте его свойства:
ls -l capture.pcap

Вы должны увидеть вывод, похожий на следующий:

-rw-r--r-- 1 labex labex 12345 Jan 1 00:00 capture.pcap

Это подтверждает существование файла и показывает его размер и права доступа.

  1. Теперь откройте и отобразите содержимое файла с захваченными пакетами:
tshark -r capture.pcap

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

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

Включение двухпроходного анализа с помощью -2

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

Для тех, кто начинает работать с анализом пакетов: Обычно tshark считывает пакеты последовательно только один раз. Двухпроходной режим изменяет это следующим образом:

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

Вы захотите использовать двухпроходной режим в следующих случаях:

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

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

  1. Сначала перейдите в каталог проекта (если вы продолжаете работу с предыдущих этапов):
cd ~/project
  1. Теперь запустите tshark с включенным двухпроходным анализом:
tshark -2 -r capture.pcap

Понятие того, что происходит: Флаг -2 запускает процесс двойного сканирования. Во время первого прохода tshark отмечает важные детали протокола, такие как номера последовательности TCP и состояния сессии. На втором проходе он использует эту информацию для правильного восстановления диалогов и точного применения фильтров. Это особенно ценно для протоколов, таких как TCP, где подтверждения влияют на то, как мы интерпретируем пакеты данных.

Фильтрация ответов с использованием -R "tcp.flags.ack==1"

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

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

Пройдемся по процессу шаг за шагом:

  1. Сначала нам нужно перейти в рабочий каталог, где хранится файл с захваченными пакетами:
cd ~/project
  1. Теперь мы будем использовать Tshark с опцией двухпроходного анализа (-2) и применить наш фильтр для ACK-пакетов:
tshark -2 -r capture.pcap -R "tcp.flags.ack==1"

Разберем, что происходит в этой команде:

  • -2 включает двухпроходной анализ для более точных результатов.
  • -r capture.pcap указывает на наш входной файл с захваченными пакетами.
  • -R "tcp.flags.ack==1" применяет наш фильтр отображения для ACK-пакетов.

Основные моменты, которые нужно понять:

  • Опция -R сообщает Tshark показывать только пакеты, соответствующие нашим критериям фильтрации.
  • tcp.flags.ack==1 точно соответствует пакетам, в которых флаг TCP ACK установлен в 1 (истина).
  • TCP ACK - это нормальное поведение протокола, они не обязательно указывают на проблемы.
  • Двухпроходной анализ (-2) помогает обеспечить точный разбор протокола и фильтрацию.

После выполнения команды вы увидите вывод, содержащий только TCP-пакеты с установленным флагом ACK. Типичная строка выглядит так:

1 0.000000 192.168.1.1 → 192.168.1.2 TCP 54 443 → 49234 [ACK] Seq=1 Ack=1 Win=64240 Len=0

Это показывает номер пакета, временную метку, IP-адреса источника и назначения, порты и специфическую для TCP информацию, включая флаг [ACK], по которому мы фильтровали.

Отображение результатов с использованием -V

На этом этапе мы рассмотрим, как просматривать подробные сведения о пакетах с помощью опции -V (verbose) в Wireshark. При анализе сетевого трафика понимание полной структуры пакетов является важным. Флаг -V помогает отобразить полную иерархию протоколов и все значения полей, что особенно полезно при изучении TCP ACK-пакетов, отфильтрованных на предыдущем этапе.

Подробный вывод (-V) раскрывает три ключевые аспекта каждого пакета:

  • Полный разбор протокола, показывающий, как разные слои оборачивают друг друга.
  • Каждое значение поля в этих протоколах, включая технические детали, часто скрытые в стандартных представлениях.
  • Ясная иерархическая структура, которая отражает, как протоколы на самом деле накладываются друг на друга в сетевом взаимодействии.

Пройдемся по этим действиям пошагово:

  1. Сначала перейдите в рабочий каталог, где хранится файл с захваченными пакетами. Это обеспечит доступ к нашим данным о захваченных пакетах:
cd ~/project
  1. Теперь выполните команду с подробным выводом для отфильтрованных ACK-пакетов. Обратите внимание, что мы комбинируем двухпроходной анализ (-2) с предыдущим фильтром (-R) и добавляем -V:
tshark -2 -r capture.pcap -R "tcp.flags.ack==1" -V

Для тех, кто начинает работать с анализом пакетов:

  • Опция -V включает "подробный" режим, аналогично переходу от оглавления книги к чтению полных глав.
  • В отличие от стандартного представления, которое показывает основные сводки о пакетах, подробный режим раскрывает все технические детали.
  • Вывод организует информацию по слоям протоколов (Ethernet → IP → TCP и т.д.), точно так, как структурированы пакеты.
  • Вы увидите конкретные значения для каждого поля протокола, что поможет понять, что именно происходит в сетевом обмене.

Вот, что можно ожидать в выводе (упрощенный пример):

Frame 1: 54 bytes on wire...
Ethernet II, Src: aa:bb:cc:dd:ee:ff...
Internet Protocol Version 4, Src: 192.168.1.1...
Transmission Control Protocol, Src Port: 443...
    [ACK] Seq=1 Ack=1 Win=64240 Len=0
    [TCP Flags: ·······A····]

Резюме

В этом практическом занятии вы научились выполнять двухпроходной анализ пакетов с использованием командной строки tshark из Wireshark. Процесс включал чтение пакетов из файла с захваченными данными (capture.pcap) с помощью опции -r и проверку его расположения перед анализом.

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