log抓下來之後,只會看懂一些,所以想問各位前輩,我想要加強在分析log這一塊,我應該要怎麼做?我應該要怎麼學習?謝謝各位前輩~
一般常用的是MRTG,另外也有一些商用的軟體,你可以參考一下
http://linux.vbird.org/linux_security/old/04mrtg.php
http://forum.icst.org.tw/phpbb/viewtopic.php?t=7671
要先說明一下是那一類的log才有辦法提供正確的指南
windows event log
將windows event ID xxxx輸入google中, 你就可以取得相關解答
firewall log
如果你使用checkpoint, 就可以從它的圖形管理介面去篩選出特定的source ip, destination ip, source port, destination port.
如果你使用的是文字類的log, 建議搭配使用grep工具, 例如:
grep '1.2.3.5' temp-file1.txt > temp-file2.txt
就可以篩選出與1.2.3.5這個IP相關記錄出來,
如要進一步篩選也可以比照上述用法
有空可以參考這篇文章
http://www.loganalysis.org/sections/parsing/application-specific/firewall-logging.html
如果你是想知道其它類型log的分析方法, 也可以提出來看看.
這個問題首先還是要看你的LOG是屬於哪一種
但是基本上LOG的格式都是有規範的
不會是亂七八糟的格式
所以你可以用ACCESS匯入,選定用空白區隔
這樣你所看到的LAG就非常整齊
然後在依照排序與你要的條件加以下條件
我想這樣的LOG就會比較屬於你要的囉
這算是圖法煉鋼方式。
可試試 Log Parser,它是微軟的 Log 分析器,還有國外作者為它出書,教你如何使用。它不只可分析 Log,還可分析檔案系統、系統登錄、AD、XML檔、CSV檔等等,使用的方式則是下 SQL 語法,很方便。
log 不外乎幾個紀錄重點
1.發生時間
2.發生事件(通常會有代碼)
3.執行程序/歷程
4.程式偵錯訊息
...
如果想知道如何撰寫 log
有一篇講 log4j 的應用,可以參考看看
(Google Search 如何撰寫 console log)
通常我們針對文字檔的 log 做 parsing 時,如果沒有特殊工具(即系統本身提供的log分析工具),自己寫程式通常都會給定 keyword 然後逐行去作文字比對,這部份的作法其實端看你要怎樣的分析結果,寫到資料庫或寫到檔案都是一種作法
目前我最常使用的是,自動分析前一天的 mail log,然後將異常的部份發送 mail 到管理員帳號(即時異常的通知是另一個 topic),可以省下不少 log 查看的工作
我記得 2000 年在處理發送 spam mail,呃...是 direct email 行銷時(通常幾十萬封),就需要針對每次發送信件後的狀態進行分析,包括傳送成功率,失敗率,有效帳號比率(無效帳號要自動從 Customer Database 中移除),傳送完畢花費的時間,回覆率...結合每次行銷後的銷售分析,來檢視 email 行銷活動的效果,要做到這樣的程度,你必須很清楚 smtp protocol 所會產生的訊息紀錄的格式與代碼的定義,以及訊息代碼前後之間的關係,通常你得先 review 過大量的 log 內容,才能夠歸納出比較好的邏輯與判斷機制,這樣再去撰寫程式會比較有效