Как выполнить пакетное обратное разрешение IP-адреса с помощью команды host под Linux?

Как выполнить пакетное обратное разрешение IP-адреса с помощью команды host под Linux?

Я собираю IP-адреса из журнала доступа, хочу узнать, откуда эти IP-адреса берутся. Для этого я использую этот скрипт:

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

пример вывода:

1.2.3.4
5.6.7.8
...

Я могу передать результат nslookupс помощью команды конвейера |, но результат нелегко прочитать, поэтому я попытался использовать hostкоманду, но единственным выводом является информация о том, как использовать hostкоманду.

Как использовать hostкоманду для пакетного разрешения IP-адресов?

решение1

Вы можете использовать xargs, он преобразует ввод из стандартного ввода в аргументы команды.

Опция -n ограничивает аргументы одним (разделенным новой строкой) и вызывает host несколько раз для каждого из них, поэтому вы можете сделать следующее:

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

Связанный контент