로그 파싱 쿼리 설명


=CONCATENATE(MID(P2, FIND("date=", P2) + 5, 10), " ", MID(P2, FIND("time=", P2) + 5, 8))

더보기


 "date="와 "time="에 나타난 날짜와 시간 정보를 추출하여 결합하는 엑셀 함수입니다. 

MID(P2, FIND("date=", P2) + 5, 10):

 

이 부분은 텍스트에서 "date=" 다음의 10자리 날짜를 추출합니다. 

P2는 원본 텍스트가 있는 셀을 나타내며, FIND("date=", P2)는 "date="가 처음 나타나는 위치를 찾습니다. 

+ 5는 "date=" 문자열의 길이를 고려하여 그 다음 문자부터 추출하도록 합니다. 그리고 10은 날짜의 길이를 나타냅니다.

" ": 

두 개의 따옴표로 둘러싼 공백 문자입니다. 날짜와 시간 사이에 공백을 추가합니다.

MID(P2, FIND("time=", P2) + 5, 8):

이 부분은 텍스트에서 "time=" 다음의 8자리 시간을 추출합니다. 

마찬가지로 FIND("time=", P2)는 "time="이 처음 나타나는 위치를 찾고, + 5는 "time=" 문자열의 길이를 고려하여 그 다음 문자부터 추출하도록 합니다. 그리고 8은 시간의 길이를 나타냅니다.

이 함수는 "date="와 "time="에 나타난 날짜와 시간 정보를 추출하고, 그 사이에 공백을 추가하여 결합합니다. 결과로 날짜와 시간이 "YYYY-MM-DD HH:MM:SS" 형식으로 표시됩니다.


=MID(P2, FIND("srcip=", P2) + 6, FIND(" ", MID(P2, FIND("srcip=", P2) + 6, LEN(P2) - (FIND("srcip=", P2) + 6))) - 1)

더보기


 "srcip="와 " " 사이의 데이터를 추출하는 엑셀 함수입니다. 

MID(P2, FIND("srcip=", P2) + 6, ...: 

 

텍스트에서 "srcip=" 다음의 문자열을 추출합니다. 

P2는 원본 텍스트가 있는 셀을 나타내며, FIND("srcip=", P2)는 "srcip="가 처음 나타나는 위치를 찾습니다. 

+ 6은 "srcip=" 문자열의 길이를 고려하여 그 다음 문자부터 추출하도록 합니다.

... FIND(" ", MID(P2, FIND("srcip=", P2) + 6, LEN(P2) - (FIND("srcip=", P2) + 6))) - 1):

"srcip=" 다음의 문자열에서 첫 번째 공백(" ") 문자가 나타나는 위치를 찾습니다. 

그리고 그 위치에서 -1로 "srcip="와 공백 사이의 길이를 계산합니다. 이렇게 해서 "srcip=" 다음의 공백까지의 문자열이 추출됩니다.

이 함수는 원하는 텍스트 데이터에서 "srcip="와 공백 사이의 값을 추출하는 데 사용됩니다. 

함수 내부에서 "srcip="를 찾고, 이어지는 문자열 중에서 첫 번째 공백이 나타나는 위치까지의 문자열을 추출하여 원하는 결과를 얻습니다.


=SUBSTITUTE(MID(P2, FIND("srcport=", P2) + 7, FIND(" ", MID(P2, FIND("srcport=", P2) + 7, LEN(P2) - (FIND("srcport=", P2) + 7))) - 1), "=", "")

더보기

"srcport="와 " " 사이의 데이터를 추출하고, 그 결과에서 등호("=")를 제거하는 엑셀 함수입니다. 

MID(P2, FIND("srcport=", P2) + 7, ...: 

텍스트에서 "srcport=" 다음의 문자열을 추출합니다. 

P2는 원본 텍스트가 있는 셀을 나타내며, FIND("srcport=", P2)는 "srcport="가 처음 나타나는 위치를 찾습니다.

+ 7은 "srcport=" 문자열의 길이를 고려하여 그 다음 문자부터 추출하도록 합니다.

... FIND(" ", MID(P2, FIND("srcport=", P2) + 7, LEN(P2) - (FIND("srcport=", P2) + 7))) - 1): 

이 부분은 "srcport=" 다음의 문자열에서 첫 번째 공백(" ") 문자가 나타나는 위치를 찾습니다. 그리고 그 위치에서 -1을 해  "srcport="와 공백 사이의 길이를 계산합니다. 이렇게 해서 "srcport=" 다음의 공백까지의 문자열이 추출됩니다.

=SUBSTITUTE(..., "=", ""):

앞서 추출한 문자열에서 등호("=")를 제거합니다. 따라서 등호가 없는 데이터가 남게 됩니다.

 

결과적으로 "srcport="와 공백 사이의 데이터를 추출하고, 그 결과에서 등호를 제거하여 순수한 "srcport" 값을 얻을 수 있습니다.


=MID(P2, FIND("action=", P2) + LEN("action=") + 1, FIND("""", P2, FIND("action=", P2) + LEN("action=") + 1) - FIND("action=", P2) - LEN("action=") - 1)

더보기

"action=" 뒤에 나타나는 값을 추출하는 엑셀 함수입니다. 

MID(P2, FIND("action=", P2) + LEN("action=") + 1, ...: 

 "action=" 다음에 나타나는 값을 추출합니다. P2는 원본 텍스트가 있는 셀을 나타내며, FIND("action=", P2)는 "action="가 처음 나타나는 위치를 찾습니다. LEN("action=")는 "action=" 문자열의 길이를 나타내며, + 1은 "action=" 다음 문자부터 추출하도록 합니다.

... FIND("""", P2, FIND("action=", P2) + LEN("action=") + 1) - FIND("action=", P2) - LEN("action=") - 1): 

"action=" 다음의 큰 따옴표(")로 둘러싸인 값을 찾습니다. FIND("""", P2, FIND("action=", P2) + LEN("action=") + 1)는 "action=" 다음의 큰 따옴표의 위치를 찾습니다. 그리고 이 위치에서 "action=" 문자열의 길이와 -1을 해 원하는 값의 길이를 계산합니다.

이 함수를 사용하면 "action=" 다음에 나타나는 큰 따옴표(")로 둘러싸인 값을 추출합니다. 이를 통해 "action" 필드에서 원하는 데이터를 얻을 수 있습니다.


=RIGHT(P2, LEN(P2) - FIND(">", P2))

더보기

특정 텍스트 데이터에서 ">" 문자 이후의 모든 문자를 추출하는 엑셀 함수입니다. 

P2:

원본 텍스트 데이터가 있는 셀을 나타냅니다.

FIND(">", P2): 

이 부분은 ">" 문자가 처음 나타나는 위치를 찾습니다. ">" 문자 이후의 문자를 추출하기 위해 ">"의 위치가 필요합니다.

LEN(P2) - FIND(">", P2): 

">" 문자 이후의 문자열의 길이를 계산합니다. LEN(P2)는 전체 텍스트 데이터의 길이를 나타내며, FIND(">", P2)에서 찾은 ">"의 위치를 빼면 ">" 이후 문자열의 길이가 됩니다.

RIGHT(P2, ...): 

오른쪽에서부터 특정 길이의 문자열을 추출하는 함수입니다.

P2는 원본 텍스트 데이터를 나타내고, 앞에서 계산한 길이를 지정하여 ">" 이후의 문자열을 추출합니다.

이 함수를 사용하면 ">" 문자 이후의 모든 문자열을 추출할 수 있으며, 일반적으로 로그 데이터에서 특정 정보를 추출하는 데 사용됩니다.

'업무' 카테고리의 다른 글

Predictable Resource Location  (0) 2023.11.30
Invalid HTTP  (0) 2023.11.30
Abnormally Long Request  (0) 2023.10.31
Extremely Long Parameter (+ header length 공격과 차이점)  (1) 2023.10.31
Header Length Attack (HTTP Overflow)  (0) 2023.10.31