웹사이트 검색

Apache 웹 서버에 액세스하는 상위 10개 IP 주소 찾기


인터넷과 같은 개방형 또는 공용 네트워크에서 액세스할 수 있는 웹 서버를 실행할 때 항상 서버에 대한 액세스를 모니터링하는 것이 좋은 시스템 관리 방법입니다.

웹 서버에 대한 액세스를 모니터링할 때 좋은 점 중 하나는 서버에서 발생하는 모든 액세스 활동에 대한 정보를 저장하는 액세스 로그 파일이 있다는 것입니다.

로그 파일 작업은 시스템이나 애플리케이션(이 경우 Apache 웹 서버) 내에서 발생한 모든 일에 대한 설명을 제공하므로 항상 매우 중요합니다. 성능 또는 액세스 관련 문제가 있는 경우 로그 파일은 무엇이 잘못되었거나 현재 발생하고 있는지 지적하는 데 도움이 될 수 있습니다.

Linux의 로그 관리에 대해 자세히 알아보기: Linux용 최고의 로그 관리 도구 4가지

이 기사에서는 Apache 웹 서버에 액세스한 상위 10개 IP 주소를 찾는 방법을 살펴보겠습니다.

Apache 웹 서버 로그의 기본 경로는 다음과 같습니다.

/var/log/http/access_log      [For RedHat based systems]
/var/log/apache2/access.log   [For Debian based systems]
/var/log/http-access.log      [For FreeBSD]

도메인의 Apache 웹 서버에 액세스하는 상위 10개 IP 주소를 찾으려면 다음 명령을 실행하세요.

awk '{ print $1}' access.log.2016-05-08 | sort | uniq -c | sort -nr | head -n 10
샘플 출력
5482 103.28.37.178
5356 66.249.78.168
1977 66.249.93.145
1962 157.55.39.251
1924 66.249.93.142
1921 66.249.93.148
1890 64.233.173.178
1860 108.61.183.134
1841 64.233.173.182
1582 157.55.39.251

위 명령에서:

  1. awkaccess.log.2016-05-08 파일을 인쇄합니다.
  2. sortaccess.log.2016-05-08 파일의 줄을 정렬하는 데 도움이 됩니다. -n 옵션은 숫자를 기준으로 줄을 비교합니다. 문자열 값과 -r 옵션은 비교 결과를 반전시킵니다.
  3. uniq – 반복되는 줄을 보고하는 데 도움이 되며 -c 옵션은 발생 횟수에 따라 줄의 접두어를 지정하는 데 도움이 됩니다.

Linux에서 awk 명령을 사용하는 방법에 대해 자세히 알아보세요.

요약

이를 달성하는 데 사용할 수 있는 방법은 다양합니다. 의견을 공유할 수 있는 더 좋은 방법을 알고 있고 제안이나 질문이 있는 경우 아래 의견 섹션에 의견을 남기는 것을 잊지 마세요. 그러면 함께 논의하겠습니다. 이 기사가 도움이 되기를 바라며 항상 Tecmint와 연결을 유지하는 것을 기억하세요.