さまざまな理由から、侵入ログを分析するというタスクが私に課せられました。どうすれば 1G ログを迅速に分析できますか? ? Ci 氏は、スクリプトを作成して解析してデータベースに保存し、データベース内で分析できると述べました。 。 。それは面倒ですので、忘れてください。問題のあるログを分析するためのスクリプトを作成するだけです。そこで、この小さなスクリプトがありました。使い方に関しては、あなた次第です(笑)。たとえば、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_Str in _tezheng: if _tz_Str in _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、一致する特徴 + ログの形式です