Is there an nmap line that will auto-detect my current IP address and subnet mask, and run a ping-scan on all? For example:

#> nmap -sP

Instead of manually:

#> nmap -sP

I don't think that there is a way with doing that with nmap alone, but you could script it: Here is a quick and dirty solution:


IP_AND_MASK=`ifconfig | grep "inet addr" | head -n1 | sed 's|.*addr:\([0-9\.]*\).*Mask:\([0-9\.]*\)|\1/\2|g'`
NETWORK=`ipcalc "$IP_AND_MASK" | grep "Network:" | sed 's|^Network:\s*\([0-9/\.]*\).*|\1|g'`
nmap -sP "$NETWORK"

You have to install ipcalc to make that solution work.


| improve this answer | |

Mileage may vary, but this should work well in most circumstances...

nmap -sP `hostname -I | sed 's/[0-9]\+\s/0\/24 /g'`
| improve this answer | |
  • It will work if my subnet is /24 which for most homes it, but for some corporate environment isn't. Good tip though! I like it. – Felipe Alvarez Aug 18 '18 at 11:19

This works, but then you still need to know your own subnet... saves copy-pasting the IP address though.

nmap -sP /24
| improve this answer | |
  • On my system (OS X 10.10, nmap version 6.47) this doesn’t work for me. I get the following error: ::1/0 looks like an IPv6 target specification -- you have to use the -6 option.. – Daniel Griscom Jan 25 '15 at 21:13
  • 1
    Does not work on ubuntu 18.04. Need to specify the network ID address – pcnate Jun 7 '18 at 17:58
  • try: nmap -sP or maybe nmap -sP works on macOS also – Tomachi Oct 22 '19 at 11:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.