<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://book.ghanim.no/index.php?action=history&amp;feed=atom&amp;title=Learning_Path%2FNMAP_Documentation_and_Commands</id>
	<title>Learning Path/NMAP Documentation and Commands - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://book.ghanim.no/index.php?action=history&amp;feed=atom&amp;title=Learning_Path%2FNMAP_Documentation_and_Commands"/>
	<link rel="alternate" type="text/html" href="https://book.ghanim.no/index.php?title=Learning_Path/NMAP_Documentation_and_Commands&amp;action=history"/>
	<updated>2026-04-21T14:45:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://book.ghanim.no/index.php?title=Learning_Path/NMAP_Documentation_and_Commands&amp;diff=1167&amp;oldid=prev</id>
		<title>imported&gt;Aghanim at 13:31, 1 January 2022</title>
		<link rel="alternate" type="text/html" href="https://book.ghanim.no/index.php?title=Learning_Path/NMAP_Documentation_and_Commands&amp;diff=1167&amp;oldid=prev"/>
		<updated>2022-01-01T13:31:26Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File:2022-01-nmap-thumbnail.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is my notes from the Junior Pentesting course at TryHackMe. This course takes you through the basics and some advanced topics regarding penetration testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= NMAP Live Host Discovery =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Scan Type&lt;br /&gt;
| Example Command&lt;br /&gt;
|-&lt;br /&gt;
| ARP Scan&lt;br /&gt;
| sudo nmap -PR -sn MACHINE_IP/24&lt;br /&gt;
|-&lt;br /&gt;
| ICMP Echo Scan&lt;br /&gt;
| sudo nmap -PE -sn MACHINE_IP/24&lt;br /&gt;
|-&lt;br /&gt;
| ICMP Timestamp Scan&lt;br /&gt;
| sudo nmap -PP -sn MACHINE_IP/24&lt;br /&gt;
|-&lt;br /&gt;
| ICMP Address Mask Scan&lt;br /&gt;
| sudo nmap -PM -sn MACHINE_IP/24&lt;br /&gt;
|-&lt;br /&gt;
| TCP SYN Ping Scan&lt;br /&gt;
| sudo nmap -PS22,80,443 -sn MACHINE_IP/30&lt;br /&gt;
|-&lt;br /&gt;
| TCP ACK Ping Scan&lt;br /&gt;
| sudo nmap -PA22,80,443 -sn MACHINE_IP/30&lt;br /&gt;
|-&lt;br /&gt;
| UDP Ping Scan&lt;br /&gt;
| sudo nmap -PU53,161,162 -sn MACHINE_IP/30&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remember to add &amp;lt;code&amp;gt;-sn&amp;lt;/code&amp;gt; if you are only interested in host discovery without port-scanning. Omitting &amp;lt;code&amp;gt;-sn&amp;lt;/code&amp;gt; will let Nmap default to port-scanning the live hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Option&lt;br /&gt;
| Purpose&lt;br /&gt;
|-&lt;br /&gt;
| -n&lt;br /&gt;
| no DNS lookup&lt;br /&gt;
|-&lt;br /&gt;
| -R&lt;br /&gt;
| reverse-DNS lookup for all hosts&lt;br /&gt;
|-&lt;br /&gt;
| -sn&lt;br /&gt;
| host discovery only&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= NMAP Basic Port Scans =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Open&amp;#039;&amp;#039;&amp;#039;: indicates that a service is listening on the specified port.* &amp;#039;&amp;#039;&amp;#039;Closed&amp;#039;&amp;#039;&amp;#039;: indicates that no service is listening on the specified port, although the port is accessible. By accessible, we mean that it is reachable and is not blocked by a firewall or other security appliances/programs.* &amp;#039;&amp;#039;&amp;#039;Filtered&amp;#039;&amp;#039;&amp;#039;: means that Nmap cannot determine if the port is open or closed because the port is not accessible. This state is usually due to a firewall preventing Nmap from reaching that port. Nmap’s packets may be blocked from reaching the port; alternatively, the responses are blocked from reaching Nmap’s host.* &amp;#039;&amp;#039;&amp;#039;Unfiltered&amp;#039;&amp;#039;&amp;#039;: means that Nmap cannot determine if the port is open or closed, although the port is accessible. This state is encountered when using an ACK scan -sA.* &amp;#039;&amp;#039;&amp;#039;Open|Filtered&amp;#039;&amp;#039;&amp;#039;: This means that Nmap cannot determine whether the port is open or filtered.* &amp;#039;&amp;#039;&amp;#039;Closed|Filtered&amp;#039;&amp;#039;&amp;#039;: This means that Nmap cannot decide whether a port is closed or filtered.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TCP Flags ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;URG&amp;#039;&amp;#039;&amp;#039;: Urgent flag indicates that the urgent pointer filed is significant. The urgent pointer indicates that the incoming data is urgent, and that a TCP segment with the URG flag set is processed immediately without consideration of having to wait on previously sent TCP segments.* &amp;#039;&amp;#039;&amp;#039;ACK&amp;#039;&amp;#039;&amp;#039;: Acknowledgement flag indicates that the acknowledgement number is significant. It is used to acknowledge the receipt of a TCP segment.* &amp;#039;&amp;#039;&amp;#039;PSH&amp;#039;&amp;#039;&amp;#039;: Push flag asking TCP to pass the data to the application promptly.* &amp;#039;&amp;#039;&amp;#039;RST&amp;#039;&amp;#039;&amp;#039;: Reset flag is used to reset the connection. Another device, such as a firewall, might send it to tear a TCP connection. This flag is also used when data is sent to a host and there is no service on the receiving end to answer.* &amp;#039;&amp;#039;&amp;#039;SYN&amp;#039;&amp;#039;&amp;#039;: Synchronize flag is used to initiate a TCP 3-way handshake and synchronize sequence numbers with the other host. The sequence number should be set randomly during TCP connection establishment.* &amp;#039;&amp;#039;&amp;#039;FIN&amp;#039;&amp;#039;&amp;#039;: The sender has no more data to send.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Timings&lt;br /&gt;
| Description&lt;br /&gt;
|-&lt;br /&gt;
| T0&lt;br /&gt;
| paranoid (0)&lt;br /&gt;
|-&lt;br /&gt;
| T1&lt;br /&gt;
| sneaky (1)&lt;br /&gt;
|-&lt;br /&gt;
| T2&lt;br /&gt;
| polite (2)&lt;br /&gt;
|-&lt;br /&gt;
| T3&lt;br /&gt;
| normal (3)&lt;br /&gt;
|-&lt;br /&gt;
| T4&lt;br /&gt;
| aggressive (4)&lt;br /&gt;
|-&lt;br /&gt;
| T5&lt;br /&gt;
| insane (5)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Port Scan Type&lt;br /&gt;
| Example Command&lt;br /&gt;
|-&lt;br /&gt;
| TCP Connect Scan&lt;br /&gt;
| nmap -sT MACHINE_IP&lt;br /&gt;
|-&lt;br /&gt;
| TCP SYN Scan&lt;br /&gt;
| sudo nmap -sS MACHINE_IP&lt;br /&gt;
|-&lt;br /&gt;
| UDP Scan&lt;br /&gt;
| sudo nmap -sU MACHINE_IP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These scan types should get you started discovering running TCP and UDP services on a target host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Option&lt;br /&gt;
| Purpose&lt;br /&gt;
|-&lt;br /&gt;
| -p-&lt;br /&gt;
| all ports&lt;br /&gt;
|-&lt;br /&gt;
| -p1-1023&lt;br /&gt;
| scan ports 1 to 1023&lt;br /&gt;
|-&lt;br /&gt;
| -F&lt;br /&gt;
| 100 most common ports&lt;br /&gt;
|-&lt;br /&gt;
| -r&lt;br /&gt;
| scan ports in consecutive order&lt;br /&gt;
|-&lt;br /&gt;
| -T&amp;lt;0-5&amp;gt;&lt;br /&gt;
| -T0 being the slowest and T5 the fastest&lt;br /&gt;
|-&lt;br /&gt;
| --max-rate 50&lt;br /&gt;
| rate &amp;lt;= 50 packets/sec&lt;br /&gt;
|-&lt;br /&gt;
| --min-rate 15&lt;br /&gt;
| rate &amp;gt;= 15 packets/sec&lt;br /&gt;
|-&lt;br /&gt;
| --min-parallelism 100&lt;br /&gt;
| at least 100 probes in parallel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= NMAP Advanced Port Scans =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Port Scan Type&lt;br /&gt;
| Example Command&lt;br /&gt;
|-&lt;br /&gt;
| TCP Null Scan&lt;br /&gt;
| sudo nmap -sN MACHINE_IP&lt;br /&gt;
|-&lt;br /&gt;
| TCP FIN Scan&lt;br /&gt;
| sudo nmap -sF MACHINE_IP&lt;br /&gt;
|-&lt;br /&gt;
| TCP Xmas Scan&lt;br /&gt;
| sudo nmap -sX MACHINE_IP&lt;br /&gt;
|-&lt;br /&gt;
| TCP Maimon Scan&lt;br /&gt;
| sudo nmap -sM MACHINE_IP&lt;br /&gt;
|-&lt;br /&gt;
| TCP ACK Scan&lt;br /&gt;
| sudo nmap -sA MACHINE_IP&lt;br /&gt;
|-&lt;br /&gt;
| TCP Window Scan&lt;br /&gt;
| sudo nmap -sW MACHINE_IP&lt;br /&gt;
|-&lt;br /&gt;
| Custom TCP Scan&lt;br /&gt;
| sudo nmap --scanflags URGACKPSHRSTSYNFIN MACHINE_IP&lt;br /&gt;
|-&lt;br /&gt;
| Spoofed Source IP&lt;br /&gt;
| sudo nmap -S SPOOFED_IP MACHINE_IP&lt;br /&gt;
|-&lt;br /&gt;
| Spoofed MAC Address&lt;br /&gt;
| --spoof-mac SPOOFED_MAC&lt;br /&gt;
|-&lt;br /&gt;
| Decoy Scan&lt;br /&gt;
| nmap -D DECOY_IP,ME MACHINE_IP&lt;br /&gt;
|-&lt;br /&gt;
| Idle (Zombie) Scan&lt;br /&gt;
| sudo nmap -sI ZOMBIE_IP MACHINE_IP&lt;br /&gt;
|-&lt;br /&gt;
| Fragment IP data into 8 bytes&lt;br /&gt;
| -f&lt;br /&gt;
|-&lt;br /&gt;
| Fragment IP data into 16 bytes&lt;br /&gt;
| -ff&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Option&lt;br /&gt;
| Purpose&lt;br /&gt;
|-&lt;br /&gt;
| --source-port PORT_NUM&lt;br /&gt;
| specify source port number&lt;br /&gt;
|-&lt;br /&gt;
| --data-length NUM&lt;br /&gt;
| append random data to reach given length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These scan types rely on setting TCP flags in unexpected ways to prompt ports for a reply. Null, FIN, and Xmas scan provoke a response from closed ports, while Maimon, ACK, and Window scans provoke a response from open and closed ports.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Option&lt;br /&gt;
| Purpose&lt;br /&gt;
|-&lt;br /&gt;
| --reason&lt;br /&gt;
| explains how Nmap made its conclusion&lt;br /&gt;
|-&lt;br /&gt;
| -v&lt;br /&gt;
| verbose&lt;br /&gt;
|-&lt;br /&gt;
| -vv&lt;br /&gt;
| very verbose&lt;br /&gt;
|-&lt;br /&gt;
| -d&lt;br /&gt;
| debugging&lt;br /&gt;
|-&lt;br /&gt;
| -dd&lt;br /&gt;
| more details for debugging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= NMAP Post Port Scans =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Option&lt;br /&gt;
| Meaning&lt;br /&gt;
|-&lt;br /&gt;
| -sV&lt;br /&gt;
| determine service/version info on open ports&lt;br /&gt;
|-&lt;br /&gt;
| -sV --version-light&lt;br /&gt;
| try the most likely probes (2)&lt;br /&gt;
|-&lt;br /&gt;
| -sV --version-all&lt;br /&gt;
| try all available probes (9)&lt;br /&gt;
|-&lt;br /&gt;
| -O&lt;br /&gt;
| detect OS&lt;br /&gt;
|-&lt;br /&gt;
| --traceroute&lt;br /&gt;
| run traceroute to target&lt;br /&gt;
|-&lt;br /&gt;
| --script=SCRIPTS&lt;br /&gt;
| Nmap scripts to run&lt;br /&gt;
|-&lt;br /&gt;
| -sC or --script=default&lt;br /&gt;
| run default scripts&lt;br /&gt;
|-&lt;br /&gt;
| -A&lt;br /&gt;
| equivalent to -sV -O -sC --traceroute&lt;br /&gt;
|-&lt;br /&gt;
| -oN&lt;br /&gt;
| save output in normal format&lt;br /&gt;
|-&lt;br /&gt;
| -oG&lt;br /&gt;
| save output in grepable format&lt;br /&gt;
|-&lt;br /&gt;
| -oX&lt;br /&gt;
| save output in XML format&lt;br /&gt;
|-&lt;br /&gt;
| -oA&lt;br /&gt;
| save output in normal, XML and Grepable formats&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Learning Path]]&lt;br /&gt;
[[Category:TryHackMe]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Aghanim</name></author>
	</entry>
</feed>