|
|
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Есть лог веб сервера. формат такой Код: plaintext 1. 2. 3. Выбрать из него записи, по критериям, например содержащим строки cmd.exe, thisdoesnoteesist.php, something и тд Далее составить список уникальных ip с которых эти запросы приходили ну и выполнит для этих ip что то вроде Код: plaintext grep строк c критериями как я понимаю не проблема, вот как выбрать уникальные ip - не знаю. Подскажите чего нить, или может другой путь отсекания недохакеров... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 04:13:57 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
s/\(.*\)\(\d*\.\d*.\d*\.\d*\)\(.*\)/\2/ \(что угодно\) \(цифры точка цифры точка цифры точка цифры\) \(что угодно\) заменить на второе выражение. результат после грепа пропустить через сед с таким скриптом - останутся только айпи адреса в строчке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 05:13:40 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
* заменить на то, что распознано вторым выражением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 05:15:50 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Про регексп понял, а как дублирование их исключить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 05:20:45 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
о тока нашел. sort --help unique --help ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 05:23:42 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
А кстати, что то с обратной ссылкой не так Код: plaintext 1. результат Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 05:28:39 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Простите в предыдущем посте в результатх слеша нет Выполняем Код: plaintext 1. Код: plaintext уже близко, дальше наверно xargs какой нить с ipfw ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 05:30:57 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
гм. у меня выдает айпи адресс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 05:36:22 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
можно вместо \d* \d+ поставить. в виндюках в седе плюса нет. или \d* +> \d\d* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 05:40:08 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
а так чтоли 1 будет выдаваться? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 05:41:47 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Да - выдает 1. читаю man regexp но не могу найти синтаксиса обратных ссылок. Кстати совсем забыл выполняется это на машине freebsd 5.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 05:45:27 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
замени соверменные регулярные выражения E на базик e если \d будет не понимать, то [0-9] sed -e command ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 05:47:35 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Обратные ссылки наверно не причем. Поменял звездочки на плюс, теперь это выглядит так Код: plaintext 1. Результат Код: plaintext 1. 2. 3. что то я в замешательстве... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 05:51:46 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Не пойму что то. Такое ощущение что сед вобще поиск замену не делает. Тупо вписал три раза \d Код: plaintext 1. Код: plaintext 1. результат один Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 05:57:37 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
мда. второе подвыражение явно не выбралось. похоже что с в выражении с плюсами поток после седа не изменился вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 05:59:20 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:04:17 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. это на бсд попробовал. работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:06:57 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
\2 это номер выражения в скобках \( \) поэтому числа точка - надо взять в скобки обязательно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:09:39 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Мда, кавычки помогли Код: plaintext 1. 2. 3. 4. 5. 6. Обратите внимание что первый октент или как он там называется, всегда из последней цифры состоит. Т.е. надо заставить регексп быть жадным - чтоб максимум цифр брал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:11:11 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
и двойные кавычки зачемто надо на bsd ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:11:39 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
и еще маленькая проблема с регекспом. Посмотрим на строку лога типа Код: plaintext 1. Как видно в ней два ип адреса, нам нужен самый правый. как интересно это указать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:14:01 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
1 он и так жадный пробел вставить перед цифрой Код: plaintext 1. 2. 2 втотое подвыражение в скобках распознает первый айпи третье - второй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:16:58 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:18:34 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Про пробел понял - проверил работает. Про третье выражение извините не допонял, если недохакер пришлет get запрос c 10 айпишниками в тексте то мне из лога нужен будет 11-эй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:20:23 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
циклов в седе нету если нужен последний айпи, то явно задать ,что находится справа. например пробел минус пробел минус \( - -\).* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:23:39 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Другими словами в логе типа Код: plaintext надо игнорировать поле запрос даже если оно содержит айпишники. Иначе недохакер саожет прислав запрос с айпишнико постороннего человека - тем самым забанить его.. Мои експерименты пока показывают что сед итак выдает самый правый айпи, но хотелось бы иметь некую уверенность, что недохакеры не получат инструмент управления доступом к сайту... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:24:37 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
ну может так описать явно конец строки лога пробел минус пробел минус пробел хоть_одна_цифра пробел хоть_одна_цифра пробе хоть_одна_цифра все_что_угодно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:27:29 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
К сожалению правая часть непостоянна, минусы там просто из за того что я неудачный пример лога привел. В эти же поля веб сервер логгирует цифры... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:28:40 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Итого (опустив на время проблемы с самым правым ip)что мы получили. Механизм выборки списка уникальных айпишников для конкретной подстроки в логе. Осталось научиться производить поиск по всем критериям и засовывать полученные ip в ipfw например. Пусть критерии хранятся в файле string Код: plaintext 1. 2. 3. 4. Код: plaintext 1. И кстати получается что для каждого критерия надо весь лог просматривать, может grep неудачно выбран? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:34:57 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
про правую часть. можно сказать, что справа будут только пробелы, минусы и цифры? тоесть не ".*", а " [ \-0-9]" хотя я про минус внутри квадратных скобок не уверен. можно сказать все, что угодно кроме точек? "[^.]*" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:41:44 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
про греп - нуда. седом можно выбрать нужные строчки за один проход. foo.sed Код: plaintext 1. 2. 3. 4. 5. sed -nf foo.sed ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:46:10 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Да - совершенно верно, обидно что сам не догадался, справа не может быть например точек - этим можно воспользоваться Итого процедура отбора уникальных айпи по одному критерию Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:48:31 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
кстати, раз кавычки появились можно попробовать вернуть как цифру \d вместо [0-9] \d\d* , возможно, с современными выражениями -E ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 06:53:54 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Пробую файл criteries.sed Код: plaintext 1. команда Код: plaintext 1. Неожиданно выдает все подряд, изредка ip изредка строки в которых нет шаблона из критерив Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 07:06:46 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. sed -nf criteries.sed | sed blablabla ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 07:09:57 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
первый сед выбирает строчки лога. -n важно второй - удаляет все кроме последних айпей -- если выполнять два скрипта в одном седе, я не знаю что будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 07:12:59 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Заработало! Добавил в критерии Код: plaintext 1. 2. 3. Код: plaintext 1. Результат Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Чудно, осталось догадаться как это щас пихать файрволу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 07:19:29 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
ага догадался в конец команды добавить Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 07:27:26 |
|
||
|
Помогите со скриптом.
|
|||
|---|---|---|---|
|
#18+
Итого целиком рецепт 1. Создаем файл с неугодными построками criteries.sed Код: plaintext 1. 2. 3. 2. Выполняем команду, ну или шедулим крону Код: plaintext 1. Минусы: 1. По правилу файрвола на каждый ip 2. Я бы не поболся банить подсетями провайдера даже, ибо анализ лично моего лога показывает что там сплошь китайцы и прочие азиаты которые как клиенты моего сайта мне не нужны, но как прикрутить к скрипту вывод команды whois не знаю, да и побаиваюсь сложностей 3. Неудобно правила файрвола будет удалять, так как номер у всех "1" удаляться будут последовательно, как сделать их с разными номерами но в начале списка правил еще не придумал. Ну и вообще покритикуйте, подскажите чего-нить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 07:34:09 |
|
||
|
|

start [/forum/topic.php?all=1&fid=25&tid=1489534]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
64ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 429ms |

| 0 / 0 |
