ホームページ > バックエンド開発 > Python チュートリアル > Webサーバーログ分析用のシンプルなスクリプト

Webサーバーログ分析用のシンプルなスクリプト

高洛峰
リリース: 2016-10-18 11:56:45
オリジナル
1880 人が閲覧しました

さまざまな理由から、侵入ログを分析するというタスクが私に課せられました。どうすれば 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+&#39;\r\n&#39;
            _Count_Line+=1
      
    _f1 = open(_path+&#39;.seay.txt&#39;,"w")
    _f1.write(_Ex_Str)
    _f1.close()   
    print &#39;Find Over--&#39;  
  
if len(sys.argv)==2:
    _File = sys.argv[1]
    if os.path.lexists(_File):
        CheckFile(_File)
    else:
        print(&#39;File does not exist!&#39;)
else:
    print &#39;Parameter error&#39;
    print sys.argv[0]+&#39; FilePath&#39;
ログイン後にコピー

最終的に生成されるファイルは次のとおりです: 同じディレクトリにある元のファイル名.seay.txt、一致する特徴 + ログの形式です

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート