На память, работа с логами

Jan 21, 2017 19:42

Пришлось тут чуточку погрепать логи для статистики левого запроса.

Выдергиваем ипы из лога:
cat 1.access.log |grep HEAD |awk '{match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/); ip = substr($0,RSTART,RLENGTH); print ip}' > 1HEAD.txt
Считаем количество вхождений, сортируем их по убыванию и пишем красивый файлик:
cat 1HEAD.txt |sort | uniq -c | sort -nr >

работа, freebsd, linux

Leave a comment

Comments 9

yakabito January 21 2017, 16:57:21 UTC
Линукс или БСД? И расшифруй, что-то я со слэшами не поняла.

Reply

thug_nick January 21 2017, 18:34:01 UTC
Линуха, но на бсде должно работать, может, чуть подкрутить регу авк надо.
По слешам - первое вхождение ($0) любое число + экранированная точка (т.е. символ) и так 4 раза, в конце символ после крайнего октета, / - закрыли строчку match.

Reply


boud January 21 2017, 17:27:21 UTC
Дядя Коля, а Ктулху уже после первой фразы призывается, или только после второй?

Reply

thug_nick January 21 2017, 18:30:56 UTC
Тут зависит от того, с выражением читаешь заклинание или без :)

Reply

boud January 21 2017, 19:10:41 UTC
Даже на табурет залез от усердия!

Reply


stifff January 21 2017, 22:23:23 UTC
это чтобы забанить, да? )

Reply

thug_nick January 22 2017, 05:50:03 UTC
Не совсем. Это чтобы понять, какая сволочь выводит систему в ЛА больше 100. То ли цмс кривая, то ли что, но пока реврайт этого head не сделали - было стабильно около 130, как забанили - около 5. А потом начали копать, кто такой умный - атака или это стандарт. Пока склоняемся к стандарту - в основном гугл это выдает.

Reply

stifff January 22 2017, 08:22:25 UTC
ну так HEAD - это тот же GET, но без тела документа. В теории оно быстрее должно быть.

попробуй nginx

Reply

thug_nick January 22 2017, 11:13:36 UTC
Сервер не наш, сам понимаешь, еще смотреть и смотреть. Там вроде стандартный нгинкс+апач, но это ж всё как обычно, через жопу, ибо панель жи есть.

Reply


Leave a comment

Up