Nmap и сбор его результатов

folks.i хотел бы сделать обратное разрешение DNS, используя nmap, где вывод будет таким, как показано ниже.

Разрешенное имя IP-адреса

как мне это сделать с помощью grep, спасибо


person user2689877    schedule 24.02.2015    source источник
comment
Вы, кажется, забыли вывод, но в любом случае есть две вещи:   -  person Christopher Peterson    schedule 24.02.2015
comment
1) Я не думаю, что это вопрос программирования. 2) NMAP может выполнять обратный DNS, присвоив ему флаг -R.   -  person Christopher Peterson    schedule 24.02.2015


Ответы (2)


Это должно сделать:

nmap 8.8.8.8 | awk '/report/ {split($NF,a,"[()]");print a[2],$5}'
8.8.8.8 google-public-dns-a.google.com
person Jotne    schedule 24.02.2015
comment
Это делает полное сканирование портов только для вывода DNS-имени. Лучше использовать параметр -sL, чтобы пропустить сканирование портов и обнаружение хостов. - person bonsaiviking; 24.02.2015

Вариант обратного разрешения имен в Nmap (без сканирования портов или обнаружения хостов) — -sL. Nmap также имеет машиночитаемый формат вывода, который называется Grepable. -oG вариант.

Ваш вопрос требует решения с использованием grep, но извлечение частей выходных строк не является сильной стороной grep. Для этого вы можете использовать вместо этого awk:

nmap -sL 192.0.2.0/24 -oG - | awk '/^Host/{print $2, $3}'

Это будет иметь вывод в этом формате:

64.13.134.52 (scanme.nmap.org)

Если вы хотите удалить круглые скобки, вы можете направить вывод через tr:

nmap -sL 192.0.2.0/24 -oG - | awk '/^Host/{print $2, $3}' | tr -d '()'
person bonsaiviking    schedule 24.02.2015