извлеките 5 лучших потоков TCP или UDP из tshark, отсортированных по убыванию по общему количеству байтов

Как указано в заголовке вопроса, учитывая захват пакета, я хочу извлечь 5 основных потоков для TCP (или UDP), отсортированных по общему количеству байтов в порядке убывания.

Я придумал это до сих пор
tshark -r test.pcap -q -z conv,tcp | sed "1,5d" | head -n -1 | sort -r -k5 | head -n 5

The sedи команды заключаются в удалении первых 5 строк и последней строки с последующей сортировкой столбца 5 и усечением вывода до 5 верхних строк, используяheadснова.

Пример вывода команды tshark выглядит следующим образом (строки заголовков и последняя строка удалены):

      10.215.173.1:49248         <-> 49.44.185.78:443                84 312 kB         78 10 kB         162 323 kB      215.775760000        12.0809
10.215.173.1:49212         <-> 49.44.185.78:443                83 312 kB         76 10 kB         159 322 kB      215.740042000        12.1151
10.215.173.1:49302         <-> 49.44.185.78:443                79 211 kB         80 9876 bytes     159 221 kB      215.811485000        12.0465
10.215.173.1:49242         <-> 49.44.185.78:443                82 312 kB         76 10 kB         158 322 kB      215.771412000        12.0851
10.215.173.1:49134         <-> 49.44.185.78:443                80 311 kB         76 10 kB         156 322 kB      215.647900000        12.2038
10.215.173.1:49202         <-> 49.44.185.78:443                83 312 kB         73 10 kB         156 322 kB      215.728497000        12.1263
10.215.173.1:49290         <-> 49.44.185.78:443                77 211 kB         78 9700 bytes     155 221 kB      215.803830000        12.0538
10.215.173.1:49278         <-> 49.44.185.78:443                77 211 kB         77 9612 bytes     154 221 kB      215.797622000         7.7149
10.215.173.1:49342         <-> 49.44.185.78:443                74 211 kB         75 9436 bytes     149 220 kB      215.866905000        11.9925
10.215.173.1:49360         <-> 49.44.185.78:443                73 211 kB         74 9348 bytes     147 220 kB      215.895946000        11.9642

Столбцы по порядку:Source ip:port Destination ip:port Incoming Packets:Bytes Outgoing Packets:Bytes Total Packets:Bytes Relative start Duration of flow

Я думаю, вы можете увидеть здесь проблему: некоторые значения находятся в байтах, а другие - в байтах, поскольку сортировка работает только с числовыми значениями, результат будет неправильным. И даже если бы все значения находились вsortкажется, дает неправильный результат, то есть я использую его неправильно.

Как мне преобразовать все соответствующиеbytesзначения, связанные со столбцом, дляkBа затем правильно отсортировать вывод?

Любой другой альтернативный подход с использованиемtsharkтакже принимается.

0 ответов

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