Linux and Unix nmap command

Quick links

About nmap
Syntax
Examples
Related commands
Linux and Unix main page

About nmap

Short for network mapper, nmap is a network exploration tool and security port scanner.

Syntax

nmap [Scan Type(s)] [Options] {target specification}

TARGET SPECIFICATION:

-iLInput from list of hosts/networks
-iRChoose random targets
--exclude <host1[,host2][,host3],...>Exclude hosts/networks
--excludefile <exclude_file>Exclude list from file

HOST DISCOVERY:

-sLList Scan - list targets to scan
-sPPing Scan - go no further than determining if host is online
-P0Treat all hosts as online -- skip host discovery
-PS/PA/PU [portlist]TCP SYN/ACK or UDP discovery to given ports
-PE/PP/PMICMP echo, timestamp, and netmask request discovery probes
-n/-RNever do DNS resolution/Always resolve [default: sometimes]
--dns-servers <serv1[,serv2],...>Specify custom DNS servers
--system-dnsUse OS's DNS resolver

SCAN TECHNIQUES:

-sS/sT/sA/sW/sMTCP SYN/Connect()/ACK/Window/Maimon scans
-sN/sF/sXTCP Null, FIN, and Xmas scans
--scanflags <flags>Customize TCP scan flags
-sI <zombie host[:probeport]>Idlescan
-sOIP protocol scan
-b <ftp relay host>FTP bounce scan

PORT SPECIFICATION AND SCAN ORDER:

-p <port ranges>Only scan specified ports
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080
-FFast - Scan only the ports listed in the nmap-services file)
-rScan ports consecutively - don't randomize

SERVICE/VERSION DETECTION:

-sVProbe open ports to determine service/version info
--version-intensity <level>Set from 0 (light) to 9 (try all probes)
--version-lightLimit to most likely probes (intensity 2)
--version-allTry every single probe (intensity 9)
--version-traceShow detailed version scan activity (for debugging)

OS DETECTION:

-OEnable OS detection
--osscan-limitLimit OS detection to promising targets
--osscan-guessGuess OS more aggressively

TIMING AND PERFORMANCE:

Options which take <time> are in milliseconds, unless you append 's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).

-T[0-5]Set timing template (higher is faster)
--min-hostgroup/max-hostgroup <size>Parallel host scan group sizes
--min-parallelism/max-parallelism <time>Probe parallelization
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>Specifies probe round trip time.
--max-retries <tries>Caps number of port scan probe retransmissions.
--host-timeout <time>Give up on target after this long
--scan-delay/--max-scan-delay <time>Adjust delay between probes

FIREWALL/IDS EVASION AND SPOOFING:

-f; --mtu <val>fragment packets (optionally w/given MTU)
-D <decoy1,decoy2[,ME],...>Cloak a scan with decoys
-S <IP_Address>Spoof source address
-e <iface>Use specified interface
-g/--source-port <portnum>Use given port number
--data-length <num>Append random data to sent packets
--ttl <val>Set IP time-to-live field
--spoof-mac <mac address/prefix/vendor name>Spoof your MAC address
--badsumSend packets with a bogus TCP/UDP checksum

OUTPUT:

-oN/-oX/-oS/-oG <file>Output scan in normal, XML, s|<rIpt kIddi3, and Grepable format, respectively, to the given filename.
-oA <basename>Output in the three major formats at once
-vIncrease verbosity level (use twice for more effect)
-d[level]Set or increase debugging level (Up to 9 is meaningful)
--packet-traceShow all packets sent and received
--iflistPrint host interfaces and routes (for debugging)
--log-errorsLog errors/warnings to the normal-format output file
--append-outputAppend to rather than clobber specified output files
--resume <filename>Resume an aborted scan
--stylesheet <path/URL>XSL stylesheet to transform XML output to HTML
--webxmlReference stylesheet from Insecure.Org for more portable XML
--no-stylesheetPrevent associating of XSL stylesheet w/XML output

MISC:

-6Enable IPv6 scanning
-AEnables OS detection and Version detection
--datadir <dirname>Specify custom Nmap data file location
--send-eth/--send-ipSend using raw ethernet frames or IP packets
--privilegedAssume that the user is fully privileged
-VPrint version number

Examples

nmap -P0 204.228.150.3

Running the above port scan on the Computer Hope IP address would give information similar to the below example. Keep in mind that with the above command it's -P<zero> not the letter O.

Interesting ports on www.computerhope.com (204.228.150.3):
Not shown: 1019 filtered ports, 657 closed ports
PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
113/tcp open auth
443/tcp open https

Related commands

nice