Pergunta

Vamos dizer que eu tenho uma lista de IPs que entram em um registro que eu estou de rejeitos:

1.1.1.1
1.1.1.2
1.1.1.3 

Eu gostaria de resolvê-los facilmente para nomes de host. Eu gostaria de ser capaz de

tail -f access.log | host - 

Qual falhar como anfitrião não entende entrada de stdin desta forma. Qual é a maneira mais fácil de fazer com sem ter que escrever um arquivo estático ou fallback para perl / python / etc.?

Foi útil?

Solução

Use xargs -l:

tail -f access.log | xargs -l host

Outras dicas

Você também pode usar o ler builtin :

tail -f access.log | while read line; do host $line; done

Nos comandos abaixo, substitua cat com tail -f, etc., se necessário.

Usando host:

$ cat my_ips | xargs -i host {}
1.1.1.1.in-addr.arpa domain name pointer myhost1.mydomain.com.
1.1.1.2.in-addr.arpa domain name pointer myhost2.mydomain.com.

Usando dig:

$ cat my_ips | xargs -i dig -x {} +short
myhost1.mydomain.com.
myhost2.mydomain.com.

Note que a opção -i para xargs implica a opção -L 1.

Para obter primeiro os IPs de um hospedeiro, consulte esta resposta .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top