코딩 공부방/시스템, 자동화, 데이터 시각화

파이썬으로 이벤트 로그 가져오기

TheShield 2020. 12. 13. 00:10
반응형

파이썬으로 이벤트 로그를 가져오기 위해선 아래의 라이브러리를 사용한다.

 

github.com/williballenthin/python-evtx

 

 

williballenthin/python-evtx

Pure Python parser for recent Windows Event Log files (.evtx) - williballenthin/python-evtx

github.com

종종 이벤트 로그를 보게 되는 때가 있는데, 

이걸 눈으로 일일이 보다보면 매우 짜증이 나는 때가 있다. 

 

그리고 어차피 보다보면 다 비슷비슷한 경우가 있는데, 

이걸 추려보기 위해 파이썬으로 이벤트 로그를 가져와보도록 하겠다. 

 

python-evtx라는 파이썬-라이브러리로서, 

이벤트로그를 쉽게 가져오는 레파짓토리가 있다. 

 

아마 현재는 개발이 중지된 모양인데, 뭐 어떤가. 잘 쓰면 될 것을

여차하면 새로 만들어도 괜찮아보인다. 

 

일단은, 간단한 사용법을 써보기 위해 

 

script/evtx_dmp.py를 실행시켜본다.

 

아래와 같은 코드를 볼 수 있는데, 

굳이 ArgumentParser를 쓸 필요는 없다. 

import Evtx.Evtx as evtx
import Evtx.Views as e_views


def main():
    import argparse

    parser = argparse.ArgumentParser(
        description="Dump a binary EVTX file into XML.")
    parser.add_argument("evtx", type=str,
                        help="Path to the Windows EVTX event log file")
    args = parser.parse_args()

    with evtx.Evtx(args.evtx) as log:
        print(e_views.XML_HEADER)
        print("<Events>")
        for record in log.records():
            print(record.xml())
        print("</Events>")


if __name__ == "__main__":
    main()

위의 코드를 실행시키면, 특정 이벤트 로그의 모든 레코드를

화면에 출력해준다. 

 

자 이제 이걸 수정해서 사용해보도록 하자. 

 

반응형