Localizar proprietários de IP do arquivo de log do apache

3

Eu tenho os 10 principais IPs que fazem o maior número de solicitações e o número de solicitações feitas a partir do exemplo do arquivo de log do Apache. Eu usei esse comando bash para manipular uma solicitação:

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

Mas preciso fazer o mesmo, mas encontrar os proprietários desses endereços IP.

    
por Valik 07.12.2015 / 12:18

2 respostas

1

Você pode estender seu comando para pesquisar os endereços IP em relação a whois information:

cat access_log|cut -d' ' -f1|uniq -c|sort -r|head -n 10|while read COUNT IP; do whois $IP; done;
    
por 07.12.2015 / 12:44
1

Para encontrar os proprietários de endereços IP, você tem os comandos whois e geoiplookup. Whois dá a você a organização, geoiplookup traduz qualquer endereço IP para o país e localização geográfica aproximada.

Esses comandos são usados como:

$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

Geralmente, acho mais útil conhecer o país quando estiver no topo das solicitações e a organização real apenas se estiver investigando um problema específico.

Eu mudaria seu comando como:

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

Para instalar os comandos necessários no Debian faça:

sudo apt-get install geoip-bin whois
    
por 07.12.2015 / 12:42