Nmap: Difference between revisions
Jump to navigation
Jump to search
Created page with "= Nmap = '''Nmap''' (Network Mapper) is an open‑source utility for network discovery, security auditing, and host fingerprinting. It is one of the most widely used tools in active reconnaissance, offering port scanning, OS detection, service versioning, and a powerful scripting interface (Nmap Scripting Engine – NSE). == <span id="options"></span>Common Options == === Scan Types === {| class="wikitable" ! Option !! Description |- | <code>-sS</code> ||..." |
|||
(8 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
== <span id="options"></span>Common Options == | == <span id="options"></span>Common Options == | ||
=== Scan | == Syntax == | ||
<syntaxhighlight lang="bash"> | |||
nmap [Scan Type(s)] [Options] <target specification> | |||
</syntaxhighlight> | |||
== <span id="options"></span>Scan Type(s) == | |||
These flags define *how* Nmap interacts with the target (e.g., TCP, UDP, stealth, protocol-level scans): | |||
{| class="wikitable" | {| class="wikitable" | ||
! Option !! Description | ! Option !! Description | ||
Line 12: | Line 19: | ||
| [[#ex-sS|<code>-sS</code>]] || TCP SYN scan (stealth mode) | | [[#ex-sS|<code>-sS</code>]] || TCP SYN scan (stealth mode) | ||
|- | |- | ||
| [[#ex-sT|<code>-sT</code>]] || TCP connect scan (full handshake) | | [[#ex-sT|<code>-sT</code>]] || TCP connect scan (full TCP handshake) | ||
|- | |||
| [[#ex-sU|<code>-sU</code>]] || UDP scan | |||
|- | |||
| [[#ex-sN|<code>-sN</code>]] || TCP NULL scan (no flags set) | |||
|- | |||
| [[#ex-sF|<code>-sF</code>]] || TCP FIN scan (bypasses some firewalls) | |||
|- | |||
| [[#ex-sX|<code>-sX</code>]] || Xmas scan (sets FIN, PSH, URG flags) | |||
|- | |||
| [[#ex-sA|<code>-sA</code>]] || ACK scan (used to map firewall rules) | |||
|- | |||
| [[#ex-sW|<code>-sW</code>]] || Window scan (analyzes TCP window size) | |||
|- | |- | ||
| [[#ex- | | [[#ex-sM|<code>-sM</code>]] || TCP Maimon scan (obscure IDS evasion) | ||
|- | |- | ||
| [[#ex- | | [[#ex-sL|<code>-sL</code>]] || List scan (lists targets without scanning) | ||
|- | |- | ||
| [[#ex- | | [[#ex-sn|<code>-sn</code>]] || Ping scan (host discovery only; replaces <code>-sP</code>) | ||
|- | |- | ||
| [[#ex- | | [[#ex-sY|<code>-sY</code>]] || SCTP INIT scan (SCTP equivalent of TCP SYN) | ||
|- | |- | ||
| [[#ex- | | [[#ex-sZ|<code>-sZ</code>]] || SCTP COOKIE-ECHO scan | ||
|- | |- | ||
| [[#ex- | | [[#ex-sO|<code>-sO</code>]] || IP protocol scan (scans for supported protocols) | ||
|- | |- | ||
| <code>- | | [[#ex-sI|<code>-sI</code>]] || Idle scan (ultra-stealth scan using zombie host) | ||
|} | |} | ||
== Options == | |||
These parameters modify the behavior of the scan (timing, output, verbosity, detection methods, etc.). | |||
=== Detection & Enumeration === | === Detection & Enumeration === | ||
Line 45: | Line 62: | ||
|- | |- | ||
| [[#ex-script|<code>--script [NAME]</code>]] || Run specific NSE script(s) | | [[#ex-script|<code>--script [NAME]</code>]] || Run specific NSE script(s) | ||
|- | |||
| <code>--version-all</code> || Try every version detection method (used with -sV) | |||
|- | |||
| <code>--osscan-guess</code> || Guess OS more aggressively when uncertain | |||
|} | |} | ||
Line 58: | Line 79: | ||
|- | |- | ||
| [[#ex-oX|<code>-oX [FILE]</code>]] || Save output in XML format | | [[#ex-oX|<code>-oX [FILE]</code>]] || Save output in XML format | ||
|- | |||
| <code>-v</code> || Increase verbosity (can be stacked: -vv, -vvv) | |||
|- | |||
| <code>--reason</code> || Show the reason each port is in its state (e.g. response flags) | |||
|- | |||
| <code>--open</code> || Show only open (or relevant) ports | |||
|} | |} | ||
== Target Specification == | |||
These options control '''who''' you're scanning and '''how''' they're discovered or selected. | |||
=== Host Discovery & Targeting === | |||
{| class="wikitable" | |||
! Option !! Description | |||
|- | |||
| [[#ex-Pn|<code>-Pn</code>]] || Treat all hosts as online (skip ping) | |||
|- | |||
| [[#ex-p|<code>-p [PORT]</code>]] || Specify port(s) to scan | |||
|- | |||
| [[#ex-iL|<code>-iL [FILE]</code>]] || Input list of hosts from file | |||
|- | |||
| <code>-6</code> || Use IPv6 addresses | |||
|- | |||
| <code>-n</code> || Do not resolve hostnames (skip DNS resolution) | |||
|- | |||
| <code>--exclude [HOST]</code> || Exclude specific host(s) from the scan | |||
|- | |||
| <code>--excludefile [FILE]</code> || Exclude hosts listed in a file | |||
|} | |||
== Examples == | == Examples == | ||
Line 66: | Line 116: | ||
nmap -sS 192.168.1.1 | nmap -sS 192.168.1.1 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
''[[#options|↑ Options]]'' | |||
=== <span id="ex-fullscan"></span>Full Insight Scan === | |||
<syntaxhighlight lang="bash"> | |||
nmap -A -T4 -p- -sC -sV -O -Pn 192.168.1.10 | |||
</syntaxhighlight> | |||
<code># -A: enable all scans, -T4: faster timing, -p-: all ports, -sC: default scripts, -sV: service versions, -O: OS detect, -Pn: no ping</code> | |||
''[[#options|↑ Options]]'' | ''[[#options|↑ Options]]'' | ||
Latest revision as of 06:27, 15 June 2025
Nmap[edit | edit source]
Nmap (Network Mapper) is an open‑source utility for network discovery, security auditing, and host fingerprinting. It is one of the most widely used tools in active reconnaissance, offering port scanning, OS detection, service versioning, and a powerful scripting interface (Nmap Scripting Engine – NSE).
Common Options[edit | edit source]
Syntax[edit | edit source]
nmap [Scan Type(s)] [Options] <target specification>
Scan Type(s)[edit | edit source]
These flags define *how* Nmap interacts with the target (e.g., TCP, UDP, stealth, protocol-level scans):
Option | Description |
---|---|
-sS |
TCP SYN scan (stealth mode) |
-sT |
TCP connect scan (full TCP handshake) |
-sU |
UDP scan |
-sN |
TCP NULL scan (no flags set) |
-sF |
TCP FIN scan (bypasses some firewalls) |
-sX |
Xmas scan (sets FIN, PSH, URG flags) |
-sA |
ACK scan (used to map firewall rules) |
-sW |
Window scan (analyzes TCP window size) |
-sM |
TCP Maimon scan (obscure IDS evasion) |
-sL |
List scan (lists targets without scanning) |
-sn |
Ping scan (host discovery only; replaces -sP )
|
-sY |
SCTP INIT scan (SCTP equivalent of TCP SYN) |
-sZ |
SCTP COOKIE-ECHO scan |
-sO |
IP protocol scan (scans for supported protocols) |
-sI |
Idle scan (ultra-stealth scan using zombie host) |
Options[edit | edit source]
These parameters modify the behavior of the scan (timing, output, verbosity, detection methods, etc.).
Detection & Enumeration[edit | edit source]
Option | Description |
---|---|
-sV |
Detect service versions |
-O |
Enable OS detection |
-A |
Aggressive scan: OS detection, version, script scan, traceroute |
--script [NAME] |
Run specific NSE script(s) |
--version-all |
Try every version detection method (used with -sV) |
--osscan-guess |
Guess OS more aggressively when uncertain |
Performance & Output[edit | edit source]
Option | Description |
---|---|
-T[0‒5] |
Timing template (T0 = slow, T5 = fast) |
-d |
Enable debugging output |
-oN [FILE] |
Save output in normal format |
-oX [FILE] |
Save output in XML format |
-v |
Increase verbosity (can be stacked: -vv, -vvv) |
--reason |
Show the reason each port is in its state (e.g. response flags) |
--open |
Show only open (or relevant) ports |
Target Specification[edit | edit source]
These options control who you're scanning and how they're discovered or selected.
Host Discovery & Targeting[edit | edit source]
Option | Description |
---|---|
-Pn |
Treat all hosts as online (skip ping) |
-p [PORT] |
Specify port(s) to scan |
-iL [FILE] |
Input list of hosts from file |
-6 |
Use IPv6 addresses |
-n |
Do not resolve hostnames (skip DNS resolution) |
--exclude [HOST] |
Exclude specific host(s) from the scan |
--excludefile [FILE] |
Exclude hosts listed in a file |
Examples[edit | edit source]
SYN Scan[edit | edit source]
nmap -sS 192.168.1.1
Full Insight Scan[edit | edit source]
nmap -A -T4 -p- -sC -sV -O -Pn 192.168.1.10
# -A: enable all scans, -T4: faster timing, -p-: all ports, -sC: default scripts, -sV: service versions, -O: OS detect, -Pn: no ping
↑ Options
TCP Connect Scan[edit | edit source]
nmap -sT 192.168.1.1
UDP Scan[edit | edit source]
nmap -sU 192.168.1.1
Ping Scan[edit | edit source]
nmap -sP 192.168.1.0/24
Skip Host Discovery[edit | edit source]
nmap -Pn 192.168.1.100
Scan Specific Ports[edit | edit source]
nmap -p 22,80 192.168.1.1
Aggressive Scan[edit | edit source]
nmap -A 10.0.0.1
OS Detection Only[edit | edit source]
nmap -O 10.0.0.1
Fast Timing Template[edit | edit source]
nmap -T5 example.com
Run NSE Script[edit | edit source]
nmap --script default example.com
Scan From File[edit | edit source]
nmap -iL targets.txt
Save Output (Normal)[edit | edit source]
nmap -oN output.txt 192.168.1.1
Save Output (XML)[edit | edit source]
nmap -oX output.xml 192.168.1.1
List Targets Only[edit | edit source]
nmap -sL 192.168.1.0/30
Debug Mode[edit | edit source]
nmap -d 192.168.1.1