由於N種原因,一個分析入侵日誌的任務落在了我身上,1G的日誌,怎麼去快速分析呢??刺總說可以搞個腳本解析入庫,再到數據庫分析。。。算了,那就蛋疼了,直接碼個腳本把有問題的日誌拿出來分析吧。於是就有了這個小腳本。至於怎麼用就要看你自己了,哈哈,比如查到sql注入語句,然後看到IP,就可以改下腳本,用IP爲特徵取出日誌,分析入侵過程。速度很快哦,我那破機器,跑1G日誌文件也就幾秒鐘的啦。
在工作中寫程序完成任務是很快樂的事,也很有意思。哈哈
使用參數:seay.py E:/1.log
#coding = utf8
#Filename = seay.py
import os
import sys
#特徵,可以隨意改,兩塊五一次
_tezheng= {'union','select','file_put_contents'}
def CheckFile(_path):
_f= open(_path,"r")
_All_Line= _f.readlines()
_f.close()
_Count_Line=0
_Len_Line= len(_All_Line)
_Ex_Str= ''
print('Read Over --')
while _Count_Line<_Len_Line:
_Str= _All_Line[_Count_Line]
for _tz_Strin _tezheng:
if _tz_Strin _Str:#可以加and條件,這個貴一點,5毛一次
_Ex_Str+=_tz_Str+_Str+'\r\n'
_Count_Line+=1
_f1= open(_path+'.seay.txt',"w")
_f1.write(_Ex_Str)
_f1.close()
print 'Find Over--'
if len(sys.argv)==2:
_File= sys.argv[1]
if os.path.lexists(_File):
CheckFile(_File)
else:
print('File does not exist!')
else:
print 'Parameter error'
print sys.argv[0]+' FilePath'
最終生成一個文件爲:原文件名.seay.txt在同目錄下,格式爲匹配的特徵+日誌