Em vez de pós-processamento com o grep, tente passar a opção --open
para o Nmap. Isto irá esconder todas as portas fechadas ou filtradas. Você pode usar as opções -oG
ou -oA
para gerar resultados "grepable" também. Aqui está um exemplo que faz o que eu acho que você está procurando:
nmap -p 25 --open -oA smtp-servers-%y%m%d 192.168.15.0/24
Os resultados seriam em smtp-servers-20120607.nmap
, smtp-servers-20120607.gnmap
e smtp-servers-20120607.xml
. Você pode obter endereços IP para servidores SMTP abertos da seguinte forma:
awk '/\<25/open/tcp/ {print $2}' smtp-servers-*.gnmap
Se você realmente precisa disso tudo em um pipeline, você pode fazer assim:
nmap -p 25 --open -oG - 192.168.15.0/24 | awk '/\<25/open/tcp/ {print $2}'