Output IP only from an nmap scan on open port

user2341069 picture user2341069 · Aug 8, 2013 · Viewed 18.9k times · Source

I'm wanting to find computers with ssh open on my subnet but it shows all host that are up in the results and not just the ones that have open ports this is my command

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

Thanks

Answer

Elisiano Petrini picture Elisiano Petrini · Aug 8, 2013

You can select with awk to print only in certain cases and not all.

For example, the following matches the last field, if it contains ssh (but you could test also for 22) then it prints the IP.

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