Мне нужно обрабатывать сетевой трафик, захваченный с помощью tcpdump
. Чтение трафика не сложно, но то, что становится немного сложнее, - это обнаружение «всплесков» трафика. В основном меня интересуют пакеты TCP SYN, и я хочу найти дни, когда трафик для данного порта назначения внезапно увеличивается. Требуется обработать довольно много данных (примерно за год).
То, что я до сих пор пробовал, это использовать экспоненциальную скользящую среднюю, этого было достаточно, чтобы дать мне некоторые интересные меры, но сравнение того, что я видел с внешними источниками данных, кажется слишком агрессивным в помечать вещи как ненормальные.
Я подумал об использовании комбинации экспоненциальной скользящей средней и исторических данных (возможно, за 7 дней в прошлом, думая, что должен быть недельный цикл с тем, что я вижу), поскольку некоторые статьи, которые я прочитал похоже, с таким успехом смоделировали использование ресурсов таким способом.
Итак, кто-нибудь знает хороший метод или куда-нибудь пойти и почитать об этом?
Скользящая средняя, которую я использовал, выглядит примерно так:
avg = avg+0.96*(new-avg)
С avg
- EMA, а new
- новая мера. Я экспериментировал с тем, какие пороги использовать, но обнаружил, что комбинация «должен быть заданным фактором выше среднего значения до взвешивания нового значения в» и «должна быть как минимум на 3 выше», чтобы дать наименее плохой результат.