Анализ log файла squid с помощью PowerShell
В организации была поставлена задача:Найти с какой машины(машин) посещали нежелательный сайт. И главное в какое время.
Долго описывать сам процесс не буду. Лог файл squid как правило достаточно объемный в нашем случае это около 3 ГБ.
Для поиска IP нарушителя был выбран PowerShell
Командлет который помог мне это сделать - SELECT-STRING
Строка: select-string -path d:\access.log -pattern "www.ok.ru" -allmatches -simplematch
Указанный сайт только пример реально искался другой. В этом случае вы получите целый список строк в котором будут строки в которых записи о посещении данного сайта. При использовании регулярных выражений можно добиться более точной информации
Path - путь к файлу с логами(он может быть и не один, например можно указать *.txt и тогда будет осуществляется поиск по всем текстовым файлам на диске D).
Pattern - эталонная строка для поиска, вот она как раз может содержать регулярное выражение
После получения списка мне оставалось только время из лога перевести из unix в понятное
Порадовала скорость с которой отработал PoSH
Пост мало содержателен, но пока все что есть по существу
Долго описывать сам процесс не буду. Лог файл squid как правило достаточно объемный в нашем случае это около 3 ГБ.
Для поиска IP нарушителя был выбран PowerShell
Командлет который помог мне это сделать - SELECT-STRING
Строка: select-string -path d:\access.log -pattern "www.ok.ru" -allmatches -simplematch
Path - путь к файлу с логами(он может быть и не один, например можно указать *.txt и тогда будет осуществляется поиск по всем текстовым файлам на диске D).
Pattern - эталонная строка для поиска, вот она как раз может содержать регулярное выражение
После получения списка мне оставалось только время из лога перевести из unix в понятное
Порадовала скорость с которой отработал PoSH
Пост мало содержателен, но пока все что есть по существу
Комментарии
Отправить комментарий