Я пытаюсь вычислить пропускную способность с выхода tcpdump с помощью python. До сих пор я вызывал tcpdump из python и умел писать вывод в текстовом файле. Образец выходного сигнала:Извлечь временную метку tcpdump из txt-файла
01: 06: 23.649464 0us IP (tos 0x0, ttl 128, id 63533, offset 0, flags [none], proto UDP (17), длина 72) 251.146.199.137.1066> 156.96.135.220 .62827: UDP, длина 44
01: 06: 23.920316 0us IP (tos 0x0, ttl 1, id 10354, offset 0, flags [none], proto IGMP (2), длина 32, опции (RA)) 251.146.198.120> fm-dyn-140-0-193-221.fast.net.id: [| igmp]
Однако я застрял на следующей части. Извлечение времени и длины (первого) и вычисление пропускной способности. Я новичок в python и не имею четкого представления о регулярном выражении. Кроме того, поскольку временные метки включают микросекунду, есть ли простой способ работать с ними для расчета пропускной способности?
Заранее спасибо.
возможно дубликат [Синтаксический больших TCPDUMP файлов в Python] (http://stackoverflow.com/questions/14410580/parsing-large-tcpdump-files-in-python) –
Неа. В этом случае они читают * текст * вывод из tcpdump; в другом вопросе они, по-видимому, читают двоичный файл pcap и, с правильным пакетом Python для чтения файлов pcap, получение временных меток довольно просто. Извлечение его из текста требует немного больше работы. –
@GuyHarris Точно. Чтобы надежно проанализировать вывод, вам необходимо использовать документированный формат, который не выводит текст. –