Linux анализ access лог файлов в командной строке, запросы в минуту, в час с одних IP

Тупой http флуд или парсинг, короче массу запросов к сайту с одних и тех же ip, можно быстро определять в командной строке стандартными командами. Да, существует много специализированных программ (log viewers), но их нужно настраивать, с ними нужно разбираться как работают и т.д. А сервера могут быть разные. Но cli у всех одна и всегда под рукой.

Например, команда отсортировать ip по количеству запросов в минуту:

cat access.log | cut -d' ' -f1-4 | sed -r 's/:[0-9]{2}$//' | sort | uniq -c | sort -n

то же самое по количеству запросов в час:

cat access.log | cut -d' ' -f1-4 | sed -r 's/:[0-9]{2}:[0-9]{2}$//' | sort | uniq -c | sort -n

Получаем вот такую картинку с раскладкой по ip, где первая колонка — количество запросов с ip в минуту:

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *