Como reversão em lote resolve o endereço IP com o comando host no linux?

0

Eu pego os endereços IP do log de acesso, quero descobrir de onde esses endereços IP vêm. Para fazer isso eu uso este script:

cat /var/log/nginx/access.log |awk '{ print $1}'|sort| uniq -c |sort -n -r | awk '{print $2}' 

um exemplo de saída é:

1.2.3.4
5.6.7.8
...

Eu posso passar o resultado para nslookup com o comando | do pipeline, mas o resultado não é fácil de ler, então tentei usar o comando host , mas a única saída é uma informação sobre como usar o host command.

Como posso usar o comando host para resolver endereços IP em lote?

    
por Yu Jiaao 20.08.2018 / 03:46

1 resposta

1

Você pode usar xargs, ele converte entrada de entrada padrão em argumentos para um comando.

A opção -n limita os argumentos a um (delimitado por nova linha) e chama o host várias vezes para cada um deles, assim você pode fazer:

cat /var/log/nginx/access.log |awk '{ print $1}'|sort| uniq -c |sort -n -r | awk '{print $2}' | xargs -n 1 host
    
por 20.08.2018 / 04:25