як розділити файл pcap на набір менших


47

У мене величезний файл pcap (згенерований tcpdump). Коли я намагаюсь відкрити його в дротяному накопичувачі, програма просто не відповідає. Чи є спосіб розділити файл на набір менших, щоб відкрити їх по черзі? Трафік, захоплений у файлі, генерується двома програмами на двох серверах, тому я не можу розділити файл, використовуючи фільтри tcpdump 'host' або 'port'. Я також спробував команду linux 'split' :-), але не пощастило. Wireshark не розпізнає формат.


Наскільки великий - величезний? Це набагато більше, ніж доступна оперативна пам'ять?
pehrs

2
Трохи пізно, але причина Wireshark не буде читати файли, які є результатом split, тому що спліт розділиться на точні межі байтів. Це велика ймовірність розділити пакет, який визнає недійсним частину вмісту файлу.
Бурхан Алі

Відповіді:


72

Ви можете використовувати tcpdump з параметрами -C, -r та -w

tcpdump -r old_file -w new_files -C 10

Параметр "-C" вказує розмір файлу для поділу. Напр .: у наведеному вище випадку розмір нових файлів становитиме 10 мільйонів байт кожен.


Ти дивовижна людина, Ден.
лобі

Чи є спосіб це зробити, не розриваючи сеансу? (Припустимо, що один сеанс менший, ніж аргумент обмеження розміру).
spanishgum

Швидко: tcpdump -r old_file -w new_files -C 1000 розбивається на кожні 955 МБ записаного трафіку
gies0r

18

Використовуйте editcapутиліту, яка розповсюджується за допомогою Wireshark.


5
editpcap -c 1000 input.pcap output.pcapрозділиться input.pcapна зйомки з максимум 1000 пакетами на захоплення. Виходом буде декілька файлів захоплення, відформатованих на кшталтoutput_{index}_{timestamp}.pcap
blachniet

1
Дякую блачнет за приклад! Але це просто editcap, ні editpcap, правда?
lindhe

3

Я знаю, що ця відповідь трохи пізно, але може послужити і іншим людям. Я знайшов чудовий інструмент для розбиття файлів pcap: PcapSplitter . Це частина бібліотеки PcapPlusPlus, що означає, що це кросплатформна платформа (Win32, Linux та Mac OS), і вона може розділяти файли pcap на основі різних критеріїв, таких як розмір файлу (те, що вам здається потрібно), а також за підключенням, клієнтом / сервером IP, порт сервера (подібний до протоколу), кількість пакетів тощо. Я вважаю це дуже корисним. Посилання, наведене вище, призначене для вихідного коду, але якщо ви не хочете / не знаєте, як компілювати, я створив компільовані бінарні файли для декількох платформ, з якими я використовував цей інструмент. Я дуже рекомендую цей засіб

EDIT: очевидно, випущена нова версія PcapPlusPlus, яка містить бінарні файли PcapSplitter для досить багатьох платформ (Windows, Ubuntu 12.04 / 14.04, Mac OSX Mavericks / Yosemite / El Captian). Я думаю, що краще використовувати ці двійкові файли, ніж посилання, яке я раніше надав. Ви можете знайти його тут


2

Найкращий і найшвидший спосіб - це використовувати SplitCap, який може розділяти великі файли дамп-файлів на основі, наприклад, сеансів. Таким чином, ви отримаєте кожен сеанс TCP в окремому файлі PCAP. SplitCap також може розділяти пакети у файли pcap на основі IP-адрес.

Докладніше про SplitCap можна прочитати на блозі Netresec: http://www.netresec.com/?page=Blog&month=2011-05&post=Split-or-filter-your-PCAP-files-with-SplitCap

Завантажте SplitCap звідси: http://www.netresec.com/?page=SplitCap

Удачі!


Чи є версії Linux?
ychaouche

Це хороша програма, кажучи, їй не вистачає можливості працювати з файлами pcapng.
Гунтрам Блом підтримує Моніку

0
tcpdump -w trace.pcap -W 48 -G 300 -C 100 -i any port 41110
  • -G 300 він обернеться через 5 хвилин
  • -W 48 кількість файлів
  • -C 100 розмір файлу 100 Мб
  • port ви можете вказати порт на основі програми
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.