Heim >Backend-Entwicklung >Python-Tutorial >Einfaches Skript zur Webserver-Protokollanalyse
Aus verschiedenen Gründen fiel mir die Aufgabe zu, das Einbruchsprotokoll zu analysieren. Wie kann ich das 1G-Protokoll schnell analysieren? ? Herr Ci sagte, er könne ein Skript erstellen, um es zu analysieren und in der Datenbank zu speichern und es dann in der Datenbank zu analysieren. . . Vergessen Sie es, das ist nervig. Schreiben Sie einfach ein Skript, um die problematischen Protokolle zu analysieren. Es gab also dieses kleine Drehbuch. Wie Sie es verwenden, liegt ganz bei Ihnen, haha. Wenn Sie beispielsweise die SQL-Injection-Anweisung finden und dann die IP sehen, können Sie das Skript ändern, die IP als Funktion zum Extrahieren des Protokolls verwenden und das analysieren Einbruchsprozess. Es ist sehr schnell. Es dauert nur ein paar Sekunden, bis mein kaputter Computer eine 1G-Protokolldatei ausführt.
Programme zu schreiben, um Aufgaben bei der Arbeit zu erledigen, macht sehr viel Spaß und ist interessant. Haha
Verwenden Sie die Parameter: 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'
Die endgültig generierte Datei lautet: Originaldateiname.seay.txt im selben Verzeichnis, das Format stimmt mit den Funktionen überein Protokoll