2016-02-29 63 views
1

我正在嘗試創建一個Python腳本,但我有點卡住,無法找到我在Google搜索中查找的內容,因爲它很安靜具體。試圖創建Python腳本以從.log文件中提取數據

我需要兩個.LOG文件(auth.log和access.log裏)來查看以下信息,運行腳本:

找到多少次嘗試用垃圾桶賬號

因此,bin帳戶試圖嘗試進入服務器的次數爲

日誌基於被黑客入侵,需要識別如何和誰負責。

任何人都可以給我一些幫助,我如何去做這件事?如果需要,我可以提供更多信息。

在此先感謝。

編輯:

我已經成功地打印所有時代「本」似乎是這樣做的一個方式在日誌中。有誰知道我是否可以count'bin'出現多少次?

with open("auth.log") as f: 
for line in f: 
    if "bin" in line: 
     print line 
+0

或者你可以簡單地使用cat file.log | grep「keywords」 –

+0

這個怎麼樣:'cat file.log | egrep「keyword1 | keyword2 | ...」| wc -l'(egrep爲您提供了搜索關鍵字1或關鍵字2的可能性,而「wc -l」可以讓您有機會進行計數。 – Dominique

+0

我已經編輯了原始文章,內容是如何完成的,任何建議if有一種方法來計算這些事件? –

回答

0

如果你不想使用工具,那麼你可以使用ELK(Elastic,Logstash和kibana)。 如果沒有,那麼你必須閱讀第一個日誌文件,然後根據你的需求應用正則表達式。

0

既然你有系統日誌的工作和他們的格式是已知的,穩定的,我的辦法是這樣的:

  • 識別一組關鍵字(無論是常見的,或每數一個)
  • 爲每個日誌,逐行迭代
  • 一旦關鍵字匹配,在每行添加相關信息字典

你可以使用shell工具(如grepcut和/或awk)預先處理的日誌,並提取日誌相關的行(我假設你只需要例如誤差項)。

您可以使用類似this這樣的出發點。