Nmap Cheat Sheet
Nmap Cheat Sheet
Scan Techniques
Switch Example Description
-sS nmap 192.168.1.1 -sS TCP SYN port scan (Default)
-sT nmap 192.168.1.1 -sT TCP connect port scan
(Default without root privilege)
-sU nmap 192.168.1.1 -sU UDP port scan
-sA nmap 192.168.1.1 -sA TCP ACK port scan
-sW nmap 192.168.1.1 -sW TCP Window port scan
-sM nmap 192.168.1.1 -sM TCP Maimon port scan
Host Discovery
Switc
Example Description
h
-sL nmap 192.168.1.1-3 -sL No Scan. List targets only
Disable port scanning. Host discovery
-sn nmap 192.168.1.1/24 -sn
only.
-Pn nmap 192.168.1.1-5 -Pn Disable host discovery. Port scan only.
Switc
Example Description
h
-PS nmap 192.168.1.1-5 -PS22-25,80 TCP SYN discovery on port x.
Port 80 by default
-PA nmap 192.168.1.1-5 -PA22- TCP ACK discovery on port x.
25,80 Port 80 by default
-PU nmap 192.168.1.1-5 -PU53 UDP discovery on port x.
Port 40125 by default
-PR nmap 192.168.1.1-1/24 -PR ARP discovery on local network
-n nmap 192.168.1.1 -n Never do DNS resolution
Port Specification
Switch Example Description
-p nmap 192.168.1.1 -p 21 Port scan for port x
-p nmap 192.168.1.1 -p 21-100 Port range
-p nmap 192.168.1.1 -p U:53,T:21- Port scan multiple TCP and UDP
25,80 ports
-p- nmap 192.168.1.1 -p- Port scan all ports
-p nmap 192.168.1.1 -p http,https Port scan from service name
-F nmap 192.168.1.1 -F Fast port scan (100 ports)
--top- Port scan the top x ports
nmap 192.168.1.1 --top-ports 2000
ports
nmap 192.168.1.1 -p-65535 Leaving off initial port in range
-p-65535
makes the scan start at port 1
-p0- nmap 192.168.1.1 -p0- Leaving off end port in range
makes the scan go through to port
65535
OS Detection
Switch Example Description
Remote OS detection using TCP/IP
-O nmap 192.168.1.1 -O
stack fingerprinting
If at least one open and one closed
-O --osscan- nmap 192.168.1.1 -O
TCP port are not found it will not try
limit --osscan-limit
OS detection against host
-O --osscan- nmap 192.168.1.1 -O Makes Nmap guess more aggressively
guess --osscan-guess
-O --max-os- nmap 192.168.1.1 -O Set the maximum number x of OS
tries --max-os-tries 1 detection tries against a target
-A nmap 192.168.1.1 -A Enables OS detection, version detection,
script scanning, and traceroute
NSE Scripts
Switch Example Description
-sC nmap 192.168.1.1 -sC Scan with
default NSE
scripts.
Switch Example Description
Considered
useful for
discovery
and safe
--script nmap 192.168.1.1 --script default Scan with
default default NSE
scripts.
Considered
useful for
discovery
and safe
--script nmap 192.168.1.1 --script=banner Scan with a
single
script.
Example
banner
--script nmap 192.168.1.1 --script=http* Scan with a
wildcard.
Example
http
--script nmap 192.168.1.1 --script=http,banner Scan with
two scripts.
Example
http and
banner
--script nmap 192.168.1.1 --script "not intrusive" Scan
default, but
remove
intrusive
scripts
--script- nmap --script snmp-sysdescr --script-args NSE script
args snmpcommunity=admin 192.168.1.1 with
arguments
Useful NSE Script Examples
Command Description
nmap -Pn --script=http-sitemap-generator http site map generator
scanme.nmap.org
Command Description
nmap -n -Pn -p 80 --open -sV -vvv --script banner,http- Fast search for random
title -iR 1000 web servers
nmap -Pn --script=dns-brute domain.com Brute forces DNS
hostnames guessing
subdomains
nmap -n -Pn -vv -O -sV --script smb-enum*,smb-ls,smb- Safe SMB scripts to run
mbenum,smb-os-discovery,smb-s*,smb-vuln*,smbv2*
-vv 192.168.1.1
nmap --script whois* domain.com Whois query
nmap -p80 --script http-unsafe-output-escaping Detect cross site scripting
scanme.nmap.org vulnerabilities
nmap -p80 --script http-sql-injection scanme.nmap.org Check for SQL injections
Output
Switch Example Description
-oN nmap 192.168.1.1 -oN normal.file Normal output to the
file normal.file
-oX nmap 192.168.1.1 -oX xml.file XML output to the
file xml.file
-oG nmap 192.168.1.1 -oG grep.file Grepable output to
the file grep.file
-oA nmap 192.168.1.1 -oA results Output in the three
major formats at
once
-oG - nmap 192.168.1.1 -oG - Grepable output to
screen. -oN -, -oX -
also usable
--append- nmap 192.168.1.1 -oN file.file --append-output Append a scan to a
output previous scan file
-v nmap 192.168.1.1 -v Increase the
verbosity level (use
-vv or more for
greater effect)
-d nmap 192.168.1.1 -d Increase debugging
level (use -dd or
more for greater
effect)
--reason nmap 192.168.1.1 --reason Display the reason a
port is in a particular
state, same output as
-vv
--open nmap 192.168.1.1 --open Only show open (or
possibly open) ports
--packet-trace nmap 192.168.1.1 -T4 --packet-trace Show all packets
sent and received
Switch Example Description
--iflist nmap --iflist Shows the host
interfaces and routes
--resume nmap --resume results.file Resume a scan
Helpful Nmap Output examples
Command Description
nmap -p80 -sV -oG - --open 192.168.1.1/24 Scan for web servers and grep to show
| grep open which IPs are running web servers
nmap -iR 10 -n -oX out.xml | grep "Nmap" Generate a list of the IPs of live hosts
| cut -d " " -f5 > live-hosts.txt
nmap -iR 10 -n -oX out2.xml | grep Append IP to the list of live hosts
"Nmap" | cut -d " " -f5 >> live-hosts.txt
ndiff scanl.xml scan2.xml Compare output from nmap using the
ndif
xsltproc nmap.xml -o nmap.html Convert nmap xml files to html files
grep " open " results.nmap | sed -r 's/ +/ /g' | Reverse sorted list of how often ports
sort | uniq -c | sort -rn | less turn up
Miscellaneous Options
Switch Example Description
-6 nmap -6 2607:f0d0:1002:51::4 Enable IPv6 scanning
-h nmap -h nmap help screen