간단하게나마 xferlog 의 각각의 항목에 대해 조사해봤습니다.
Xferlog형식 -> [current-time][transfer-time][remote-host][file-size][filename][transfer-type][special-action-flag][direction][access-mode][username]
[ser-vice-name][authentication-method][authenticated-user-id][completion-status]
아래의 로그가 고객이 index.html 파일을 지운 흔적이며 간단하게 분석을 하자면 아래와 같습니다.
Mon May 9 23:05:55 2005 0 222.100.7.122 740 /home3/speechkorea/public_html/index.html a _ d r speechkorea FTP 0 * c
(1) Mon May 9 23:05:55 2005 0 222.100.7.122 -> 접근 날짜와 시간, 그리고 접속 IP 입니다.
(2) 740 ->파일사이즈를 의미합니다.
(3) /home3/speechkorea/public_html/index.html -> 작업한 파일명을 의미합니다.
(4) a -> ascii mode 를 의미하며 b가 나올수도 있는데 b는 binary 를 의미합니다.
(5) _ -> 아무런 action이 발생하지 않은 것을 의미하며
기타로 올수 있는 항목은 아래와 같습니다.
C는 file 은 압축되어져 있는 것을 의미
U 는file은 압축이 되어 져있지 않은것을의미
T 는file 이 tar로 묶여져 있는 것을 의미합니다.
(6) d -> 이부분이 고객이 파일을 지운 것을 알수 있는 부분입니다. Delete 의 앞자 d 입니다.
기타로 올수 있는 항목은 아래와 같습니다
o 는 파일을 받을 때 ( outgoing 의 약자 )
i 는 파일을 올릴 때 나올수 있습니다. (incoming 의 약자)
(7) r -> 사용자가 어떤방식으로 접근했는지 알수 있는부분으로 r 은 real 의 약자로 인증된 사용자란 뜻입니다.
기타로 올수 있는 항목은 아래와 같습니다
a -> anonymous 의 약자로 익명유저를 의미
(8) speechkorea -> 고객이 로그인한 ID 를 의미합니다.
(9) ftp -> man 페이지를 보면 발생되어지는 service 이름이며 보통은 FTP 라고 나와있습니다.
(10) 0 -> man 페이지를 보면 인증에 사용된 방법이라고 나와있습니다.
기타로 올수 있는 항목은 아래와 같습니다
1 -> RFC931 Authentication 이 있다고 합니다.
(11) * -> 이부분은 authenticated-user-id 부분으로 인증 방법에 의해 돌려지는 user id 라고 합니다. * 은 인증되어진 사용자 id 가 이용될수 없으면 사용된다고 man페이지에 명시되어 있습니다.
(12) c -> 전송상태를 나타내며 c 는 complete transfer 의 약자이며
기타로 올수 있는 항목은 아래와 같습니다
I -> incompete transfer (불완전한 전송) 를 의미합니다.
-> 정리하고 나니 man 페이지 해석한 수준밖에 되지 않네요.. 그래도 한번쯤 읽어보시면 도움이 될 듯 싶습니다. ^^
예로 살펴본 로그분석
예)
Mon Jan 2 09:15:14 2012 0 115.92.206.130 1277570 /quota/sample_text/sampleweb/빌포스트/2012년1월DM/rename/103.eps b _ i r sampleweb ftp 0 * c
설명)
1> Mon Jan 2 09:15:14 2012 --> 파일을 핸들링한 시간 - 2012년 1월 2일(월요일) 오전 9시 15분 14초
2> 0 --> 별로 중요치 않은 정보임
3> 115.92.206.130 --> 해당 파일을 엑세스한 클라이언트의 IP 주소
4> 1277570 --> 파일사이즈(바이트단위)
5> /quota/sample_text/sampleweb/빌포스트/2012년1월DM/rename/103.eps --> 파일의 절대 경로
6> a 또는 b --> a는 ascii 모드 b는 바이너리모드(별로 중요치 않은 정보임)
7> _ --> 별로 중요치 않은 정보임. C일 경우 압축파일. U는 비압축, T일경우 Tar archive 파일
8> i 또는 o 또는 d --> i : 업로드된 데이터, o : 다운로딩된 데이터, d: 지워진 데이터
9> r --> 인증된 사용자, a는 anonymous, g는 guest
10> sampleweb --> 해당 파일을 핸들리한 유저 ID
11> ftp --> FTP 서비스임을 표기(별로 중요치 않은 정보임)
12> 0 --> 인증에 사용된 방법(별로 중요치 않은 정보임)
13> * --> authenticated-user-id 부분으로(별로 중요치 않은 정보임)
14> c --> complete transfer 의 약자이며 완전한 전송시 붙는다. 불안정한 전송시엔 i가 붙는다.
proftpd xferlog 의 각각의 항목