Практическое руководство Capinfos: Мастер-анализ метаданных файла захвата пакетов PCAP/PCAPNG с нуля
Практическое руководство Capinfos: Мастер-анализ метаданных файла захвата пакетов PCAP/PCAPNG с нуля

1. Предисловие

capinfosдаWiresharkОдин из инструментов командной строки, установленный по умолчанию.,Судя по названию, оно соответствует своему названию.,В основном используется для отображения информации о файлах перехвата пакетов.,Например, формат файла, количество пакетов、Временной диапазон (первый и последний пакет)、Тип пакета и т. д.

Сценарии использования примерно следующие:

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

В этой статье будут подробно представлены варианты использования capinfos.

2. Установка

Linux

Дистрибутив

Команда установки

Archlinux

pacman -Sy wireshark-cli

CentOS/Redhat

yum install -y wireshark

Debian/Ubuntu

apt install -y wireshark

Gentoo

emerge --ask wireshark

Windows

После установки Wireshark,capinfosПо умолчанию вwiresharkПуть установки:

Другие вспомогательные команды также находятся по этому пути:

Вы можете выбрать, добавить ли путь к переменной среды или использовать его непосредственно под путем.

MacOS

Предварительное условие: должен быть установлен homebrew.

Установите Wireshark с помощью доморощенного продукта,По умолчанию это также будетcapinfosУстановите его:

Язык кода:bash
копировать
brew install wireshark
brew install wireshark-chmodbpf

3. Анализ вариантов использования

0. Вывод всей информации

Если никакие параметры не указаны, параметр -A будет заключен в кавычки по умолчанию и будут выведены все информационные поля.

Язык кода:bash
копировать
capinfos <имя файла>

Эта информация находится вWiresharkизСтатистика --> Захват свойств файла (Захват File Properties)Есть и то же самоеизвыход:

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

1. Общие параметры

1) Отобразить тип файла (-t)

-tПоказать захватфайл пакетаизтип формата,Суффикс файла может не совпадать с типом формата файла при фактическом сохранении.,Суффикс можно изменить произвольно, изменив суффикс имени файла.,-tпараметр Затем проанализируйте фактическоеизформат внедрения файла,Вместо анализа суффикса файла:

Язык кода:bash
копировать
capinfos -t <имя файла>

Например, приведенный выше пример,Файл http-1.txt заканчивается суффиксом txt.,Фактический формат файла — pcapng.,Команда file также может одновременно проверить формат, используемый для хранения файлов;,Используйте подстановочный знак *, чтобы сопоставить все файлы в текущем каталоге.,вsum.pcap、sum.pcapngДва файла имеют одну дополнительную строку:Packet size limit: inferred: 60bytes,Эта строка представляет собой предполагаемую длину кадра данных в файле пакета.,Эти два файла на самом деледапроходитьmergecap -s 60Чтобы усечь, объединить и сохранитьиз。

2) Отобразить тип инкапсуляции протокола канального уровня (-E).

Этот параметр отображает протокол инкапсуляции, используемый канальным уровнем. Обычно также может отображаться Ethernet. cooked-mode захват, как для Linux cooked-mode captureда Что,Вы можете обратиться к тому, что написал автор.изЭта статья。Проще говоря,это виртуальный протокол,При указании устройства захвата пакетов как all при перехвате пакетов в Linux (-i) могут возникнуть любые ситуации.

Например, следующий случай:

Язык кода:bash
копировать
capinfos -E <имя файла>

Протоколы канального уровня 1.pcap и 2.pcap являются Ethernet, а предполагаемая длина (предполагаемый) размер кадра данных в файле пакета составляет 192 байта. Протокол канального уровня http-2.pcap — Linux. cooked-mode capture,Из-за этой сумкидапроходитьtcpdump -i anyпоймать и сохранитьиз。

3) Отображение информации об интерфейсе файла пакета и протокола канального уровня (-I)

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

Язык кода:bash
копировать
capinfos -I <имя файла>

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

4) Отобразить дополнительную информацию о файлах пакета (-F)

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

Язык кода:bash
копировать
capinfos -F <имя файла>

5) Отображать хеши файлов SHA256, RIPEMD160 и SHA1 (-H)

Этот параметр эквивалентен инструментам слияния и вывода, таким как sha256sum, sha1sum иripemd160, используемым для расчета хеш-значений файлов, что полезно для проверки согласованности файлов и предотвращения подделки файлов перехвата пакетов:

Язык кода:bash
копировать
capinfos -H <файл пакета>

2. Параметры размера файла

1) Отображение суммы пакета (-c)

Эта опция печатает количество кадров в файле пакета:

Язык кода:bash
копировать
capinfos -c <имя файла>

Соответствует странице Wireshark Статистика --> Захват свойств файла (Захват File Properties),Также есть такая информация:

2) Отобразить размер захваченного файла(-ов)

Размер файла статистического пакета в байтах:

Язык кода:bash
копировать
capinfos -s <имя файла>

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

3) Отобразить общую длину всех пакетов (-d)

Общий размер длины всех пакетов в файле статистического пакета:

Язык кода:bash
копировать
capinfos -d <имя файла>

Возьмем http-2.pcap в качестве примера.,Статистический размер 726 байт.,мы проходимtsharkположить каждый пакетизframe.lenЗначения полей выводятся,И используйте awk для накопления,Ровно 726 байт:

Язык кода:bash
копировать
tshark -n -r <имя файла> -T fields -E header=y -e 'ip.src' -e 'ip.dst' -e 'frame.len'|column -t|awk 'NR>1{sum+=$NF}END{print sum}'

4) Отображение ограничения размера пакета (-l)

Эта опция отображает предельный размер (файл hdr) при захвате файла пакета и предполагаемую длину (предполагаемую) фрейма данных в файле пакета:

Язык кода:bash
копировать
capinfos -l <имя файла>

Значение вывода следующее:

Язык кода:bash
копировать
File name:           1.pcap
Packet size limit:   file hdr: 2048 bytes #Максимальная длина захвата пакета для каждого кадра, установленного при захвате пакета
Packet size limit:   inferred: 192 bytes  #Длина определяется на основе кадров в файле пакета

File name:           2.pcap
Packet size limit:   file hdr: 2048 bytes  #Максимальная длина захвата пакета для каждого кадра, установленного при захвате пакета
Packet size limit:   inferred: 192 bytes   #Длина определяется на основе кадров в файле пакета

File name:           http-2.pcap
Packet size limit:   file hdr: (not set)  #без ограничений

3. Параметры информации о времени

1) Продолжительность сбора статистики (-u)

В секундах отобразить продолжительность статистического захвата пакетов:

Язык кода:bash
копировать
capinfos -u <имя файла>

В качестве примера возьмем 1.pcap. Как показано на рисунке выше, временной интервал статистики -u составляет 2466,796133 секунды. Сначала мы получаем общий размер файла пакета с помощью опции -I:

Язык кода:bash
копировать
capinfos -I <имя файла>

Сумма пакета — 1911713, что означает, что номер последнего кадра — 1911713. В это время используйте tshark, чтобы увидеть временной интервал между последним кадром и первым кадром:

Язык кода:bash
копировать
tshark -n -r <имя файла> -t r -Y 'frame.number==xxx'

Выходной результат составляет 2466,796133 секунды, что соответствует ожиданиям. Таким образом, можно ясно понять, что статистический метод -u на самом деле представляет собой разницу во времени последнего пакета минус первый пакет.

2) Отобразить время и дату начала захвата пакетов (-a)

Этот параметр не нужно вводить слишком много:

Язык кода:bash
копировать
capinfos -a <имя файла>

Есть много способов проверить время начала захвата пакетов, например, вывод времени первого кадра через tshark:

Язык кода:bash
копировать
tshark -n -r <имя файла> -t ud -Y 'frame.number==1'

-t ud учитывает время UTC, поэтому для получения пекинского времени оно должно быть +8.

В свойствах файла захвата Wireshark вы также можете увидеть время первого и последнего пакета:

3) Отобразить время и дату окончания захвата пакета (-e)

начать с(-a)относительноиз Тогда это-eОтображение времени окончания захвата пакетов,Фактически это время и дата статистики последнего пакета:

Язык кода:bash
копировать
capinfos -e <файл пакета>

Как показано на рисунке, если вы используете tshark для подсчета времени UTC хвостового пакета, а затем прибавляете 8, вы можете получить тот же результат.

-a и -e можно использовать вместе для отображения как времени начала, так и времени окончания:

Язык кода:bash
копировать
capinfos -a -e <файл пакета>

4) Отобразить хронологический порядок захваченных файлов пакетов (-o)

Если порядок кадров данных не соответствует строго хронологическому порядку, он будет оценен как ложный, в противном случае он будет оценен как истинный:

Язык кода:bash
копировать
capinfos -o <имя файла>

В качестве примера возьмем следующий пример:

Порядок пакетов sum-desc.pcap,Не отсортировано строго по абсолютному времени,-oПараметрыидентифицирован какFalse:

С другой стороны, порядок пакетов sum.pcap строго отсортирован по абсолютному времени и признан True:

В пути также есть 1.pcap и 2.pcap, которые распознаются как False:

Об этом также можно судить по временной метке,tsharkФормат времени установлен на-t d(deltaвремя,интервал времени относительно предыдущего кадра),Если возникает отрицательное значение,Это означает, что последовательность пакетов неправильная (то есть: они явно были получены раньше.,Но отсортировано позже):

Таким образом, -o оценивается как False.

4. Возможности статистического анализа

1) Средняя скорость передачи статистических данных (-y/-i)

Единица вывода — байт/сек:

Язык кода:bash
копировать
capinfos -y <имя файла>

Data byte rateПоле — передача данныхизсредняя ставка。

Единицы вывода — бит в секунду (бит/сек).,Тогда это-iПараметры:

Язык кода:bash
копировать
capinfos -i <имя файла>

2) Посчитайте средний размер каждого кадра (-z)

По умолчанию в байтах:

Язык кода:bash
копировать
capinfos -z <имя файла>

Average packet sizeполе для каждого кадраизсредний размер。

3) Статистическая средняя скорость отправки и получения пакетов (-x)

Единица измерения — пакет в секунду:

Язык кода:bash
копировать
capinfos -x <имя файла>

Статистическая логика также очень проста: средняя скорость пакетов = общий объем пакетов / общее время, например sum.pcap:

5.Параметры формата вывода

Параметры

значение

-L

Создать отчет о росте, поведение по умолчанию

-T

Генерировать в табличной форме

-M

Отображать машиночитаемые значения в длинных отчетах

стоит поговорить оизда-Tпараметр,-TНиже также представлен ряд подпараметров.Параметры:

Параметры

значение

-R

Создание записей заголовков, поведение по умолчанию

-r

Не создавать записи заголовков

-B

Используйте символ TAB для разделения полей, поведение по умолчанию.

-m

Используйте запятые (,) для разделения полей.

-b

Используйте пробелы для разделения полей

-N

Не цитировать информацию, поведение по умолчанию

-q

Используйте одинарные кавычки для цитирования информации

-Q

Используйте двойные кавычки для цитирования информации

-TДальнейшие действия можно корректировать по мере необходимости.,Если вам нужно прочитать много информации о упаковке за один раз,Рассмотрите возможность перенаправления выходного содержимого в файл Excel.,например:

Язык кода:bash
копировать
capinfos -T <имя файла> > output.xlsx

Эффект открытия с помощью Excel:

Поля вывода содержат всю информацию,Потому что я не подобрал никаких других параметров.,По умолчанию — -А,То есть выводим всю информацию:

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

Язык кода:bash
копировать
capinfos -c -t -H -u -y -T <имя файла> > output.xlsx

Поля вывода на данный момент такие, какие мы хотим:

4. Резюме

В этой статье описывается использование capinfos и примеры его практического применения, а также анализ использования всех важных параметров. Если нет особых потребностей, самый быстрый и эффективный способ не добавлять какие-либо параметры. В то же время capinfos — это практичный инструмент командной строки в пакете Wireshark, который удобен для быстрого просмотра метаданных файлов захвата пакетов (включая, помимо прочего, pcap, pcapng и т. д.), включая тип файла, канал передачи данных. тип слоя, количество пакетов, размер файлов, продолжительность захвата и т. д., что помогает быстро определить, охватывает ли захваченный файл пакета аномальный момент времени.

Поставляется с PDF-версией:

Практическое руководство Capinfos: Анализ метаданных файла перехвата пакетов PCAP/PCAPNG с нуля.pdf
boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.