Вывод IP только из сканирования nmap на открытом порту

Я хочу найти компьютеры с открытым ssh в моей подсети, но он показывает все хосты, которые есть в результатах, а не только те, у которых открыты порты, это моя команда

nmap -PN -p 22 --open -oG - 192.168.*.* | awk '{print $2}' > sshopen.txt

Спасибо


person user2341069    schedule 08.08.2013    source источник


Ответы (1)


Вы можете выбрать с помощью awk печать только в определенных случаях, а не во всех.

Например, следующее соответствует последнему полю, если оно содержит ssh (но вы также можете проверить 22), тогда оно печатает IP.

nmap -PN -p 22 --open -oG - 192.168.*.* | awk '$NF~/ssh/{print $2}' > sshopen.txt
person Elisiano Petrini    schedule 08.08.2013
comment
Работает нормально, когда я не вывожу его в текстовый файл, но когда я ничего не появляется - person user2341069; 08.08.2013
comment
предположительно потому, что вывод команды идет в текстовый файл, а не на экран. вместо > sshopen.txt используйте | tee sshopen.txt, если вы хотите, чтобы вывод направлялся как на экран, так и в файл. - person Christopher Neylan; 08.08.2013
comment
Просто потребовалось некоторое время, чтобы отобразиться в текстовом файле, возможно, я ждал завершения сканирования в процентах, спасибо, ребята! - person user2341069; 08.08.2013