2017-05-11 8 views
1

저는 python을 처음 사용합니다.snort 알림을 CSV로 변환하는 Python 스크립트

[**] [1:2015665:1] ET CURRENT_EVENTS NeoSploit - TDS [**] 
[Classification: Attempted User Privilege Gain] [Priority: 1] 
03/14-14:13:24.731076 192.168.52.10:1060 -> 67.196.50.144:80 
TCP TTL:57 TOS:0x0 ID:34187 IpLen:20 DgmLen:258 DF 
***A**** Seq: 0xBB770235 Ack: 0x9A83A217 Win: 0x3CB8 TcpLen: 20 

[**] [1:2021076:1] ET INFO SUSPICIOUS Dotted Quad Host MZ Response [**] 
[Classification: Potentially Bad Traffic] [Priority: 2] 
03/14-14:13:24.845200 67.196.50.144:80 -> 192.168.52.10:1060 
TCP TTL:128 TOS:0x0 ID:1442 IpLen:20 DgmLen:5880 DF 
***A**** Seq: 0x9A83C2E5 Ack: 0xBB77030F Win: 0xFFFF TcpLen: 20 

alert.full,

내가 원하는 : 그래서 (메모장으로 읽을 수 있습니다) 여기

가 흡입 경고 일부 특정 값을 CSV로 흡입 경고로 변환하려는 나에게 를 지원하십시오 Src IP, Src 포트, Dst IP, Dst 포트, 프로토콜 DgmLen과 같은 일부 정보를 필터링하고 csv 파일에 저장하십시오. array

  • Alert     SrcIP   Srcport DstIP   Dstport Protocol DgmLen 
    ET Current event... 192.168.52.10 1060  67.196.50.144 80  TCP  258 
    ET INFO SUSPICIOUS 67.196.50.144 80  192.168.52.10 1060  TCP  5880 
    
  • +1

    후 데이터하시기 바랍니다의 작은 조각을 사용하여 CSV 파일에 array[3]

  • 쓰기; 사람들이 당신이하고있는 것을보기 위해 파일을 다운로드해야한다면 대답을 얻지 못할 가능성이 적습니다. – Petar

  • +0

    @Petar : 힌트를 보내 주셔서 감사합니다. 질문을 편집했습니다. –

    +0

    그룹화 된 정규 표현식을 사용하여 정보를 추출한 다음 ",". join (그룹)을 사용하여 각각 한 행에 작성할 수 있습니다. 당신이 요구하는 것은 CSV이지만, 당신이 보여주는 것은 공백으로 구분 된 형식입니다. – CodeMonkey

    답변

    0
    1. 읽기 6 개 라인은 당신이 원하는 데이터를 보유하기 위해 dict을 만듭니다. array[2]에서 array[0]
    2. 추출 열 SrcIP, Srcport, DstIP, Dstport, Protocol , DgmLen에서
    3. 추출 열 Alertcsv.DictWriter
    +0

    @ Hoang-VietNguyen : 막히면 지금까지 가지고있는 코드를 질문에 추가하십시오. – stovfl