У меня есть большой файл pcap, и я бы хотел создать новый pcap, который содержит только первые десять минут трафика. Могу ли я сделать это с помощью tcpdump
? Я видел editcap
, упомянутый онлайн, но я хотел бы использовать tcpdump
, если это возможно.Фильтровать первые десять минут pcap
ответ
Вы можете сделать это с помощью tcpdump
; однако было бы намного проще с editcap
, потому что единственный практический способ сделать это с помощью tcpdump
, о котором я могу думать, это использовать Wireshark (или tshark
), чтобы сначала найти номер кадра пакета, который занимает не менее 10 минут в захвате файл. После того, как у вас есть номер кадра, tcpdump
может использоваться только для сохранения пакетов до этого кадра, эффективно ограничивая выходной файл желаемой продолжительностью 10 минут. Вот как:
Во-первых, найти первый пакет, который составляет по меньшей мере 10 минут в файл захвата (здесь я иллюстрировать с tshark
, но Wireshark может быть использован, а):
tshark -r bigfile.pcap -Y "frame.time_relative <= 600.0"
Обратите внимание на номер кадра последнего отображаемого пакета. (Номер кадра является первый номер каждой строки, при стандартных tshark
столбцов.) Для наглядности, скажем, что это номер кадра 21038.
Во-вторых, использовать tcpdump
только сохранить первые 21038 кадров в новый файл:
tcpdump -r bigfile.pcap -c 21038 -w bigfile_first10min.pcap
Но поскольку editcap
поставляется с пакетом Wireshark, вы могли бы гораздо проще выполнить эквивалент, используя следующий, который будет дробить большой файл захвата в захват файлов каждый 10 минут по длительности (за исключением последнего , которые могут быть меньше):
editcap -F pcap -i 600 bigfile.pcap bigfile_split10min.pcap
Если вас интересует только первый файл, не обращайте внимания на остальные.
Конечно, как отмечает @ madmax1, можно также применить простую модификацию к вышеупомянутой tshark
команде для записи пакеты, соответствующей фильтр в новый файл:
tshark -r bigfile.pcap -Y "frame.time_relative <= 600.0" -w bigfile_first10min.pcap
Попробуйте использовать [ 'wireshark'] (https://www.wireshark.org), либо это эквивалент командной строки 'tshark'. Вы можете использовать его, чтобы открыть pcap и экспортировать выбор или диапазон пакетов. – madmax1