2016-07-22 4 views
1

다음 정규식을 미세 조정해야합니다. 지금은 srcip, dstip, srcport, dstport 및 date를 제공합니다. 프로토콜 (UDP, TCP)도 함께 제공해야합니다. 여기 Python Regex Parser

03/09-13:00:59.136048 [**] [1:2003410:9] ET POLICY FTP Login Successful [**] [Classification: Misc activity] [Priority: 3] {TCP} 172.16.112.100:21 -> 206.48.44.18:1039 

내 현재 정규식 : : 여기의 구문 분석에 필요한 라인 또한

([0-9/]+)-([0-9:.]+)\s+.*?(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})\s+->\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5}) 

, 그것은 그들과 관련된 포트가없는 요청을 처리 할 수 ​​있어야합니다 (ICMP 등) :

03/09-13:57:26.523602 [**] [1:2100368:7] GPL ICMP_INFO PING BSDtype [**] [Classification: Misc activity] [Priority: 3] {ICMP} 172.16.114.50 -> 172.16.112.207 

답변

1

이 정규식은 당신이 원하는 작업을해야합니다

([0-9\/]+)-([0-9:.]+)\s+.*?\s\{(\w+)\}\s(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):?(\d{1,5})?\s+->\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):?(\d{1,5})? 

프로토콜에 맞게 \s\{(\w+)\}\s을 추가했습니다. 나는 프로토콜과 선택적 콜론 콜론을 만들었다.