> 백엔드 개발 > 파이썬 튜토리얼 > 웹 서버 로그 분석을 위한 간단한 스크립트

웹 서버 로그 분석을 위한 간단한 스크립트

高洛峰
풀어 주다: 2016-10-18 11:56:45
원래의
1887명이 탐색했습니다.

여러 가지 이유로 침입 로그 분석 작업이 나에게 맡겨졌습니다. 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿