Найти 5 главных (в соответствии с количеством отправленных пакетов) Источники IP-адреса

Вам необходимо добавить следующую строку в свой .muttrc :

save-hook . '=INBOX.Archives.2015'
4
15.09.2018, 22:18
2 ответа

Итак, получив подсказку из этого ответа, я придумал этот скрипт:

$ tshark -r assign1.pcap | sort -n -r -k7 | awk '!seen[$3]++' | awk '{print $3}' | head -n 5 >> result.txt

Объяснение каждой команды в строке:

  • tshark -r assign1.pcapпрочитать файл pcap
  • sort -n -r -k7числовая сортировка (-n )файл на основе (-r )обратный порядок (-k7 )столбец 7 [в этом столбце указана длина пакета для каждого IP-адреса]
  • awk '!seen[$3]++'IP-адрес источника печати (3-й столбец ), который не был замечен ранее, поэтому он печатает только уникальные IP-адреса
  • awk '{print $3}'печатать только 3-й столбец (исходный IP-адрес)
  • head -n 5 >> result.txt, так как мне нужны первые 5, поэтому я ограничил свои результаты только 5 с помощью команды head , также последняя >> result.txtдобавляет результат терминала в текстовый файл.
1
27.01.2020, 20:53

Я думаю, что если вы реорганизуете вывод из tsharkс помощью -T fields, это будет намного проще. Я смог добиться того, чего ты хочешь, вот так:

$ tshark -r blah.pcap -T fields -e frame.len -e ip.src | sort -k 1n | tail -5
92  10.0.2.2
92  10.0.2.2
92  10.0.2.2
100 10.0.2.15
156 10.0.2.15

поля тшарков

Вы можете использовать эту команду для получения списка всех полей:

$ tshark -G field

Но я нашел это немного трудным для чтения. Если вы хотите понять столбцы в выводе -G field, они описаны здесь:tshark -Дамп и анализ сетевого трафика:

 * Header Fields
 * -------------
 * Field 1 = 'F'
 * Field 2 = descriptive field name
 * Field 3 = field abbreviation
 * Field 4 = type (textual representation of the ftenum type)
 * Field 5 = parent protocol abbreviation
 * Field 6 = base for display (for integer types); "parent bitfield width" for FT_BOOLEAN
 * Field 7 = bitmask: format: hex: 0x....
 * Field 8 = blurb describing field

Вы можете использовать это grepдля фильтрации вывода, если вы смелы:

$ tshark -G fields | grep -P '\s+(ip.src|frame.len)\s+'
F   Frame length on the wire    frame.len   FT_UINT32   frame   BASE_DEC    0x0
F   Source  ip.src  FT_IPv4 ip      0x0

Ссылки

4
27.01.2020, 20:53

Теги

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