Как узнать, из какого файла пришел пакет после объединения файлов

Я имею дело с большим количеством файлов pcap из многочисленных источников коллекций. Мне нужно программно фильтровать, и я использую для этого tshark, поэтому сначала объединяю все файлы вместе, используя mergecap. Проблема в том, что мне также нужна информация о точке сбора, которая доступна только в имени файла захвата. Я попытался использовать editpcap для добавления комментариев к каждому пакету с указанием исходного файла, однако это неприемлемо (см. Объяснение ниже). Есть идеи, как отследить исходный файл после слияния файлов pcap?

почему решение editcap не сработает Я рассмотрел возможность использования editcap для добавления комментариев к каждому пакету перед объединением ( как добавить комментарий ко всем пакетам в многочисленных файлах pcap перед объединением в один файл), однако проблема с этим подходом заключается в том, что editcap требует, чтобы каждый комментарий к пакету был индивидуально указан в командной строке (вы не можете указать диапазон пакетов). Это сотни тысяч комментариев, и командная строка этого не поддерживает. Кроме того, если я пытаюсь запустить editpcap с несколькими комментариями за раз, он каждый раз перезаписывает весь файл, что приводит к перезаписи тысяч файлов. Также нежизнеспособен.

1 ответ

Если ваши исходные файлы захвата имеют формат.pcapng, то каждый из них содержит блок описания интерфейса или IDB. Когда ты бежишь mergecap чтобы объединить их, вы можете указать, что IDB не объединяются, используя -I noneвариант. Таким образом, номер интерфейса будет уникальным для исходного файла, и вы можете добавить столбец, который показывает эту информацию, чтобы легко различать источник каждого пакета по идентификатору интерфейса, или вы можете применить фильтр отображения, чтобы изолировать только эти пакеты от определенного файл захвата.

Используемый фильтр или столбец - это поле frame.interface_id, но вы также можете фильтровать по frame.interface_name или frame.interface_description, если все значения этих полей тоже имеют разные значения, но нет гарантии, что эти поля будут уникальными, как имя интерфейса и / или описание может содержать одинаковую информацию, даже если файлы захвата происходят с разных машин.

Другие вопросы по тегам