Обработка больших файлов в Tshark

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

Введение

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

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

Открыть файл с помощью -r large.pcap

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

  1. Сначала нам нужно перейти в каталог, содержащий файл с пакетным захватом. В терминале выполните следующую команду:

    cd ~/project
    

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

  2. Теперь откроем и отобразим содержимое файла large.pcap с помощью следующей команды:

    tshark -r large.pcap
    

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

  3. Вывод показывает несколько важных столбцов информации для каждого пакета:

    • Номер пакета: Порядковый номер пакета в захвате.
    • Временная метка (Timestamp): Время, когда пакет был захвачен.
    • IP-адреса источника и назначения: Откуда пришел пакет и куда он направлен.
    • Протокол: Используемый сетевой протокол (например, TCP, UDP, HTTP).
    • Длина: Размер пакета в байтах.
    • Информация (Info): Дополнительные детали о содержимом пакета.
  4. Поскольку большие файлы PCAP могут генерировать огромный объем вывода, можно упростить его чтение, используя конвейер (pipe) к less:

    tshark -r large.pcap | less
    

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

Ограничить обработку с помощью -c 10000

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

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

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

    cd ~/project
    
  2. Теперь обработаем только первые 10 000 пакетов из файла large.pcap. Структура команды проста: укажите входной файл с помощью -r и ограничение по количеству пакетов с помощью -c:

    tshark -r large.pcap -c 10000
    
  3. После завершения выполнения команды вы увидите подтверждение, что именно 10 000 пакетов были обработаны. Вывод четко будет указывать:

    10000 packets captured
    
  4. Поскольку даже 10 000 пакетов могут генерировать значительный объем вывода, мы можем направить результаты в less для более удобного просмотра. Это позволит вам прокручивать вывод по страницам:

    tshark -r large.pcap -c 10000 | less
    
  5. Практические сценарии, в которых ограничение обработки пакетов является полезным, включают:

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

Фильтровать IP-трафик с помощью -Y "ip"

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

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

    cd ~/project
    
  2. Теперь используем фильтр -Y для отображения только IP-трафика из нашего файла с захватом. Следующая команда считывает файл 'large.pcap' и применяет наш фильтр:

    tshark -r large.pcap -Y "ip"
    
  3. После выполнения этой команды вы заметите, что вывод показывает только пакеты, которые соответствуют следующим критериям:

    • Используют либо протокол IPv4, либо IPv6.
    • Содержат правильные IP-заголовки в своей структуре.
    • Исключают не-IP-трафик, такой как ARP (Address Resolution Protocol) или STP (Spanning Tree Protocol).
  4. Для более удобной работы с большими файлами мы можем комбинировать этот фильтр с другими опциями, которые мы уже изучили. В этом примере обработка ограничена 10 000 пакетами, и вывод направляется в less для более удобного просмотра:

    tshark -r large.pcap -c 10000 -Y "ip" | less
    
  5. Фильтр -Y использует синтаксис отображения фильтра Wireshark, который предоставляет множество возможностей, включая:

    • Фильтрацию на основе протокола (ip, tcp, udp).
    • Фильтрацию по адресам источника/назначения (ip.src, ip.dst).
    • Фильтрацию по номерам портов (tcp.port, udp.port).

Сохранить подмножество с помощью -w small.pcap

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

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

    cd ~/project
    
  2. Следующая команда демонстрирует, как объединить несколько функций Tshark для создания управляемого подмножества файла. Здесь мы читаем из файла 'large.pcap', но сохраняем только первые 10 000 IP - пакетов:

    tshark -r large.pcap -c 10000 -Y "ip" -w small.pcap
    

    Разберем эту команду по частям:

    • -r large.pcap указывает входной файл.
    • -c 10000 ограничивает обработку первыми 10 000 пакетами.
    • -Y "ip" применяет фильтр отображения, чтобы включить только IP - трафик.
    • -w small.pcap записывает отфильтрованные результаты в новый файл.
  3. После выполнения команды убедитесь, что выходной файл был успешно создан. Команда ls с флагами -lh показывает размер файла в человекочитаемом формате (например, КБ/МБ) вместе с другими деталями:

    ls -lh small.pcap
    
  4. Теперь вы можете работать с этим меньшим, отфильтрованным файлом более эффективно. Чтобы просмотреть его содержимое, направьте вывод в less, которое позволяет прокручивать пакеты:

    tshark -r small.pcap | less
    

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

Резюме

В этом лабораторном занятии вы изучили ключевые методы для эффективной обработки больших файлов с захватами пакетов с использованием командной строки tshark из Wireshark. Вы практиковались в открытии файлов с помощью -r, ограничении количества пакетов с помощью -c, применении фильтров отображения с помощью -Y и экспорте подмножеств с помощью -w для эффективного управления большими наборами данных.

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