Автоматизация ротации файлов в Tshark

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

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

Введение

В этом лабораторном занятии вы научитесь автоматизировать ротацию файлов в Tshark с использованием утилиты dumpcap из Wireshark для эффективного управления захватом пакетов. Вы настроите как ротацию на основе размера (ограничение 1 МБ с параметром -b filesize:1000), так и ротацию на основе количества (ограничение 5 файлов с параметром -b files:5), чтобы оптимизировать использование дискового пространства при анализе сети.

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/interface("Interface Overview") wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/interface -.-> lab-548915{{"Автоматизация ротации файлов в Tshark"}} wireshark/packet_capture -.-> lab-548915{{"Автоматизация ротации файлов в Tshark"}} wireshark/commandline_usage -.-> lab-548915{{"Автоматизация ротации файлов в Tshark"}} end

Установка размера файла в 1 МБ с помощью -b filesize:1000

На этом этапе вы настроите утилиту захвата пакетов dumpcap из Wireshark для автоматического создания новых файлов, когда размер захвата достигает 1 МБ. Этот метод называется ротацией файлов и помогает управлять дисковым пространством, предотвращая создание слишком больших отдельных файлов захвата.

Параметр -b filesize: контролирует это поведение, задав максимальный размер файла в килобайтах (КБ). Поскольку 1000 КБ примерно равно 1 МБ, при этом настройке будет создаваться новый файл каждый раз, когда текущий захват достигает этого размера. Это особенно полезно для длительных захватов, когда вы хотите поддерживать управляемые размеры файлов.

Пройдем по процессу настройки шаг за шагом:

  1. Сначала откройте терминал в виртуальной машине LabEx, если вы еще этого не сделали. В терминале мы будем выполнять все наши команды.

  2. Перед началом захвата необходимо убедиться, что мы находимся в правильной рабочей директории. Выполните эту команду, чтобы перейти в папку проекта:

    cd ~/project
  3. Теперь мы начнем захват пакетов с нашим ограничением по размеру. Выполните эту команду в терминале:

    sudo dumpcap -i eth1 -b filesize:1000 -w capture.pcapng

    Разберем, что делает каждая часть этой команды:

    • sudo предоставляет нам административные привилегии, необходимые для захвата пакетов
    • dumpcap - это инструмент командной строки для захвата из Wireshark
    • -i eth1 сообщает dumpcap прослушивать сеть на интерфейсе eth1
    • -b filesize:1000 устанавливает наш порог ротации в 1 МБ
    • -w capture.pcapng задает базовое имя файла для выходных данных

Захват будет выполняться непрерывно в терминале. Когда он соберет около 1 МБ данных, вы заметите, что система автоматически создает новый файл с увеличивающимся номером (например, capture_00001.pcapng), при этом исходный файл capture.pcapng остается активным. Эта ротация происходит незаметно в фоновом режиме.

Ограничение количества файлов до 5 с помощью -b files:5

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

Параметр -b files: позволяет установить максимальное количество ротируемых файлов захвата. В сочетании с параметром -b filesize из предыдущего урока это создает эффективную систему ротации, в которой:

  • Новые файлы создаются, когда текущий файл достигает лимита по размеру
  • Сохраняется только указанное количество файлов
  • Старый файл перезаписывается, когда достигается лимит

Реализуем это на практическом примере с ограничением до 5 файлов:

  1. Сначала, если у вас есть активный захват из предыдущих упражнений, остановите его, нажав Ctrl+C в окне терминала. Это гарантирует, что мы начнем с чистого листа.

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

    cd ~/project
  3. Теперь выполните команду захвата с ограничениями по размеру и количеству:

    sudo dumpcap -i eth1 -b filesize:1000 -b files:5 -w capture.pcapng

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

    • -i eth1 осуществляет захват с основного сетевого интерфейса
    • -b filesize:1000 ограничивает каждый файл до 1000 килобайт (1 МБ)
    • -b files:5 поддерживает ровно 5 ротируемых файлов
    • -w capture.pcapng задает базовый шаблон имени файла

По мере выполнения захвата вы увидите файлы с именами capture_00001.pcapng, capture_00002.pcapng и т.д. Система автоматически управляет этими файлами, сохраняя только 5 самых свежих и эффективно переиспользуя дисковое пространство.

Запуск захвата с использованием -i eth1

На этом этапе вы начнете захватывать сетевой трафик на интерфейсе eth1 с помощью инструмента dumpcap из Wireshark. Именно здесь начинается практический анализ сети - сбором реальных данных пакетов с вашего сетевого соединения.

Часть -i eth1 сообщает dumpcap, какой сетевой интерфейс нужно отслеживать. На большинстве систем Linux eth1 представляет основной проводной Ethernet-интерфейс. Можно представить это как выбор микрофона при записи звука - здесь мы выбираем, какой сетевой "уши" будем слушать. Мы сочетaremos это с настройками ротации файлов, которые вы узнали ранее, чтобы создать полное автоматизированное решение для захвата.

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

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

    cd ~/project
  2. Теперь выполните команду захвата. Эта команда выполняет сразу несколько действий:

    • -i eth1 отслеживает интерфейс eth1
    • -b filesize:1000 ограничивает каждый файл захвата до 1000 килобайт
    • -b files:5 сохраняет максимум 5 ротируемых файлов
    • -w capture.pcapng задает базовое имя файла для выходных данных
    sudo dumpcap -i eth1 -b filesize:1000 -b files:5 -w capture.pcapng
  3. При успешном выполнении вы увидите текущие статистические данные, показывающие:

    • Текущее имя файла захвата
    • Количество захваченных пакетов
    • Любые пакеты, которые могли быть пропущены
    File: capture_00001.pcapng
    Packets captured: 42
    Packets received/dropped on interface eth1: 42/0 (100.0%)

Захват будет выполняться непрерывно до тех пор, пока вы не остановите его, нажав Ctrl+C. В это время он автоматически управляет ротацией файлов в соответствии с вашими настройками, создавая новые файлы, когда они достигают лимита по размеру, и поддерживая ровно 5 файлов в любое время.

Проверка файлов с помощью ls/dir

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

При использовании функции ротации файлов в Tshark команда ls (или dir в Windows) становится основным инструментом для проверки выходных данных. Эта команда выводит список содержимого директории в системах Linux/Unix, и мы будем использовать ее конкретно для проверки файлов захвата в вашей проектной директории.

Вы будете проверять три ключевые характеристики файлов захвата:

  1. Существование: Убедитесь, что файлы захвата действительно создаются.
  2. Размер: Подтвердите, что размер каждого файла составляет примерно 1 МБ (как было указано на шаге 1 с помощью флага -b filesize).
  3. Количество: Убедитесь, что существует не более 5 файлов (как было ограничено на шаге 2 с помощью параметра -b files).

Вот как правильно проверить ваши файлы захвата:

  1. Сначала вам нужно остановить любой активный процесс захвата. В терминале, где запущен Tshark, нажмите Ctrl+C, чтобы корректно остановить захват. Это гарантирует, что ни один файл не будет активно записываться во время проверки.

  2. Теперь выведите список всех файлов захвата в вашей проектной директории с подробной информацией. Флаги -lh предоставляют удобочитаемый формат с размерами файлов в МБ/ГБ:

    ls -lh ~/project/capture*.pcapng
  3. Вы должны увидеть вывод, похожий на этот, показывающий несколько файлов захвата с правильным размером:

    -rw-r--r-- 1 root root 1.0M Mar 1 10:15 capture_00001.pcapng
    -rw-r--r-- 1 root root 1.0M Mar 1 10:16 capture_00002.pcapng
    -rw-r--r-- 1 root root 1.0M Mar 1 10:17 capture_00003.pcapng
  4. Наконец, чтобы проверить, что ограничение на количество файлов работает, выполните эту команду для подсчета файлов захвата. Флаг -1 выводит каждый файл на отдельной строке, а wc -l подсчитывает эти строки:

    ls -1 ~/project/capture*.pcapng | wc -l

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

Резюме

В этом практическом занятии вы научились автоматизировать ротацию файлов в Tshark с использованием утилиты dumpcap из Wireshark. Ключевые методы включали установку ограничений на размер файла с помощью -b filesize:1000 и управление количеством файлов с помощью -b files:5 для оптимизации управления хранилищем.

Практическое занятие показало, как применить эти параметры при выборе интерфейса (-i eth1) и указании выходного файла (-w), а также продемонстрировало шаги проверки. Этот метод обеспечивает эффективный захват пакетов при одновременном сохранении организованной ротации файлов и контроля хранилища.