아파치 로그 파일에서 IP 소유자 찾기

아파치 로그 파일에서 IP 소유자 찾기

가장 많은 요청을 하는 상위 10개 IP와 Apache 로그 파일에서 발생한 요청 수가 있습니다. 요청을 처리하기 위해 다음 명령을 사용합니다.

cat access_log|cut -d' ' -f1|uniq -c|sort -r|head -n 10

동일한 작업을 수행해야 하지만 이 IP 주소의 소유자도 찾아야 합니다.

답변1

명령을 확장하여 정보를 기반으로 whoisIP 주소를 찾을 수 있습니다.

cat access_log|cut -d' ' -f1|uniq -c|sort -r|head -n 10|while read COUNT IP; do whois $IP; done;

답변2

IP 주소의 소유자를 찾으려면 whois 및 geoiplookup 명령을 사용할 수 있습니다. Whois는 조직 정보를 제공하며 geoiplookup은 모든 IP 주소를 국가 및 대략적인 지리적 위치로 변환합니다.

이러한 명령은 다음과 같이 사용됩니다.

$geoiplookup 183.53.45.4
GeoIP Country Edition: CN, China
GeoIP City Edition, Rev 1: CN, N/A, N/A, N/A, N/A, 35.000000, 105.000000, 0, 0

$whois 183.53.45.4
% [whois.apnic.net]
% Whois data copyright terms                 
http://www.apnic.net/db/dbcopyright.html

% Information related to '183.0.0.0 - 183.63.255.255'

inetnum:        183.0.0.0 - 183.63.255.255
netname:        CHINANET-GD
descr:          CHINANET Guangdong province network
descr:          Data Communication Division
descr:          China Telecom
country:        CN

일반적으로 특정 문제를 조사할 때 요청이 가장 많은 국가와 실제 조직만 아는 것이 더 유용하다고 생각합니다.

귀하의 명령을 다음과 같이 변경하겠습니다.

for i in `cat access_log|cut -d' ' -f1|uniq -c|sort -r|head -n 10`
do
    geoiplookup $i | head -1 | awk ' { print $4 } '
done

Debian에 필요한 명령을 설치하려면 다음을 수행하십시오.

sudo apt-get install geoip-bin whois

관련 정보