tcpdump: как я могу обнаружить конец пакета в захвате в реальном времени?

953
dave

Я собираю пакеты, используя tcpdump для обработки в реальном времени. Я использую заголовки IEEE_80211_RADIO и обрабатываю вывод в скрипте Python 3. Мой вызов в настоящее время выглядит так:

tcpdump -IUnSA -y IEEE802_11_RADIO -i $iface

Используя -A или -x, я могу обнаружить начало следующего пакета, так как детали заголовка отличаются от дампа пакета, но я не могу определить конец текущего пакета. Есть ли способ обнаружить конец текущего пакета в этом контексте?

(Приемлемой альтернативой для моего приложения является печать длины пакета в сводке заголовка и избегание печати дампа пакета. Это возможно при использовании флагов -e или -v в других контекстах, но, похоже, они не печатают длину пакета в сочетание с остальной частью моего вызова.)

0
Вы рассматривали обработку двоичного формата _pcap_ вместо этого? (Или даже используя libpcap или scapy непосредственно из Python?) Это то, что делает все остальное программное обеспечение. grawity 6 лет назад 0
Я пытался использовать libpcap из C, но мои C-chops не подходили для этой задачи, поэтому я переключился на это решение python / tcpdump. Хотя Scapy выглядит идеально, так что я попробую - спасибо, что упомянули об этом! dave 6 лет назад 0

0 ответов на вопрос

Похожие вопросы