Apache | 로그 파일 | 로그에 IP 주소를 호스트명으로 변환 (logresolve)

액세스 로그에 기록되는 액세스한 정보는 IP 주소로 기록된다. 기록되는 시점에 IP 주소를 호스트명으로 변환하고 기록하기 위한 설정(HostnameLookups)도 있지만, 이는 액세스할 때마다 DNS 참조가 발생하여 부하가 높아지기 때문에 일반적으로 로그에 기록된 후 호스트명으로 일괄 변환한다.

IP 주소를 호스트명으로 변환하여 다른 파일로 저장하는 유틸리티 프로그램이 Apache에서는 제공하고 있다. “{Apache 설치 디렉터리}/Apache24/bin” 디렉터리에 들어있는 “logresolve” 프로그램을 사용한다.

사용법은 다음과 같다.

logresolve < 대상-로그-파일

위 명령어를 실행하면 변환된 로그가 표준 출력에 표시된다. 이것을 다른 파일에 저장하는 경우에는 다음과 같이 실행한다.

logresolve < 대상-로그-파일 > 변환-로그-파일

그러면 실제로 해보도록 하자. 명령 프롬프트에서 “{Apache 설치 디렉터리}/Apache24/bin"로 이동한 다음과 같이 실행한다.

logresolve < ..\logs\access.log > ..\logs\resolve.log
C:\apache\Apache24\bin>logresolve < ..\logs\access.log > ..\logs\resolve.log

C:\apache\Apache24\bin>

그러면 로그 파일이 들어있는 디렉터리에 “resolve.log"파일이 새로 생성된. 텍스트 편집기에서 내용을 확인해 본다.

DESKTOP-XXXXXXX - - [06/Dec/2019:00:48:42 +0900] "GET /admin/admin.html HTTP/1.1" 404 196 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
DESKTOP-XXXXXXX - - [06/Dec/2019:00:49:03 +0900] "GET / HTTP/1.1" 200 46 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
DESKTOP-XXXXXXX - - [06/Dec/2019:00:49:03 +0900] "GET /favicon.ico HTTP/1.1" 404 196 "http://127.0.0.1/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
DESKTOP-XXXXXXX - - [06/Dec/2019:00:49:24 +0900] "GET /phpinfo HTTP/1.1" 404 196 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
DESKTOP-XXXXXXX - - [06/Dec/2019:00:49:34 +0900] "GET /phpinfo.php HTTP/1.1" 200 72966 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
DESKTOP-XXXXXXX - - [06/Dec/2019:00:50:34 +0900] "-" 408 - "-" "-"

IP 주소를 호스트명으로 변환되어 저장되어 있다. (테스트 환경이기 때문에 127.0.0.1이DESKTOP-XXXXXXX으로 변환되고 있다.)




최종 수정 : 2019-12-10