Nmap Scanning Techniques and Algorithms

June 10, 2016 | Views: 15674

Begin Learning Cyber Security for FREE Now!

FREE REGISTRATIONAlready a Member Login Here

Nmap allows system administrators and individuals to scan networks to determine which hosts are up and what services they’re offering. Nmap supports a large number of scanning techniques including:

  • UDP
  • TCP connect()
  • TCP SYN (half open)
  • FTP proxy (bounce attack)
  • ICMP (ping sweep)
  • FIN
  • ACK sweep
  • Xmas Tree
  • SYN sweep
  • IP Protocol
  • Null scan

Here’s a compiled list of Nmap techniques and algorithms to perform a variety of tasks.

 


Basic Commands

 

Scan a single target —> nmap [target]

 

Scan multiple targets —> nmap [target1,target2,etc]

 

Scan a list of targets —-> nmap -iL [list.txt]

 

Scan a range of hosts —-> nmap [range of IP addresses]

 

Scan an entire subnet —-> nmap [IP address/cdir]

 

Scan random hosts —-> nmap -iR [number]

 

Excluding targets from a scan —> nmap [targets] –exclude [targets]

 

Excluding targets using a list —> nmap [targets] –excludefile [list.txt]

 

Perform an aggressive scan —> nmap -A [target]

 

Scan an IPv6 target —> nmap -6 [target]

 


Discovery Options

 

Perform a ping scan only —> nmap -sP [target]

 

Don’t ping —> nmap -PN [target]

 

TCP SYN Ping —> nmap -PS [target]

 

TCP ACK ping —-> nmap -PA [target]

 

UDP ping —-> nmap -PU [target]

 

SCTP Init Ping —> nmap -PY [target]

 

ICMP echo ping —-> nmap -PE [target]

 

ICMP Timestamp ping —> nmap -PP [target]

 

ICMP address mask ping —> nmap -PM [target]

 

IP protocol ping —-> nmap -PO [target]

 

ARP ping —> nmap -PR [target]

 

Traceroute —> nmap –traceroute [target]

 

Force reverse DNS resolution —> nmap -R [target]

 

Disable reverse DNS resolution —> nmap -n [target]

 

Alternative DNS lookup —> nmap –system-dns [target]

 

Manually specify DNS servers —> nmap –dns-servers [servers] [target]

 

Create a host list —-> nmap -sL [targets]

 


Advanced Scanning Options

 

TCP SYN scan —> nmap -sS [target]

 

TCP connect scan —-> nmap -sT [target]

 

UDP scan —-> nmap -sU [target]

 

TCP Null scan —-> nmap -sN [target]

 

TCP Fin scan —> nmap -sF [target]

 

Xmas scan —-> nmap -sX [target]

 

TCP ACK scan —> nmap -sA [target]

 

Custom TCP scan —-> nmap –scanflags [flags] [target]

 

IP protocol scan —-> nmap -sO [target]

 

Send raw Ethernet packets —-> nmap –send-eth [target]

 

Send IP packets —-> nmap –send-ip [target]

 


Port Scanning Options

 

Perform a fast scan —> nmap -F [target]

 

Scan specific ports —-> nmap -p [ports] [target]

 

Scan ports by name —-> nmap -p [port name] [target]

 

Scan ports by protocol —-> nmap -sU -sT -p U:[ports],T:[ports] [target]

 

Scan all ports —-> nmap -p “*” [target]

 

Scan top ports —–> nmap –top-ports [number] [target]

 

Perform a sequential port scan —-> nmap -r [target]

 


Version Detection

 

Operating system detection —-> nmap -O [target]

 

Submit TCP/IP Fingerprints —-> http://www.nmap.org/submit/

 

Attempt to guess an unknown —-> nmap -O –osscan-guess [target]

 

Service version detection —-> nmap -sV [target]

 

Troubleshooting version scans —-> nmap -sV –version-trace [target]

 

Perform a RPC scan —-> nmap -sR [target]

 


Timing Options

 

Timing Templates —-> nmap -T [0-5] [target]

 

Set the packet TTL —-> nmap –ttl [time] [target]

 

Minimum of parallel connections —-> nmap –min-parallelism [number] [target]

 

Maximum of parallel connection —-> nmap –max-parallelism [number] [target]

 

Minimum host group size —–> nmap –min-hostgroup [number] [targets]

 

Maximum host group size —-> nmap –max-hostgroup [number] [targets]

 

Maximum RTT timeout —–> nmap –initial-rtt-timeout [time] [target]

 

Initial RTT timeout —-> nmap –max-rtt-timeout [TTL] [target]

 

Maximum retries —-> nmap –max-retries [number] [target]

 

Host timeout —-> nmap –host-timeout [time] [target]

 

Minimum scan delay —-> nmap –scan-delay [time] [target]

 

Maximum scan delay —-> nmap –max-scan-delay [time] [target]

 

Minimum packet rate —-> nmap –min-rate [number] [target]

 

Maximum packet rate —-> nmap –max-rate [number] [target]

 

Defeat reset rate limits —-> nmap –defeat-rst-ratelimit [target]

 


Firewall Evasion Techniques

 

Fragment packets —-> nmap -f [target]

 

Specify a specific MTU —-> nmap –mtu [MTU] [target]

 

Use a decoy —-> nmap -D RND: [number] [target]

 

Idle zombie scan —> nmap -sI [zombie] [target]

 

Manually specify a source port —-> nmap –source-port [port] [target]

 

Append random data —-> nmap –data-length [size] [target]

 

Randomize target scan order —-> nmap –randomize-hosts [target]

 

Spoof MAC address —-> nmap –spoof-mac [MAC|0|vendor] [target]

 

Send bad checksums —-> nmap –badsum [target]

 


Output Options

 

Save output to a text file —-> nmap -oN [scan.txt] [target]

 

Save output to a xml file —> nmap -oX [scan.xml] [target]

 

Grepable output —-> nmap -oG [scan.txt] [target]

 

Output all supported file types —-> nmap -oA [path/filename] [target]

 

Periodically display statistics —-> nmap –stats-every [time] [target]

 

133t output —-> nmap -oS [scan.txt] [target]

 


Troubleshooting and Debugging

 

Help —> nmap -h

 

Display Nmap version —-> nmap -V

 

Verbose output —-> nmap -v [target]

 

Debugging —-> nmap -d [target]

 

Display port state reason —-> nmap –reason [target]

 

Only display open ports —-> nmap –open [target]

 

Trace packets —> nmap –packet-trace [target]

 

Display host networking —> nmap –iflist

 

Specify a network interface —> nmap -e [interface] [target]

 


Nmap Scripting Engine

 

Execute individual scripts —> nmap –script [script.nse] [target]

 

Execute multiple scripts —-> nmap –script [expression] [target]

 

Script categories —-> all, auth, default, discovery, external, intrusive, malware, safe, vuln

 

Execute scripts by category —-> nmap –script [category] [target]

 

Execute multiple scripts categories —-> nmap –script [category1,category2, etc]

 

Troubleshoot scripts —-> nmap –script [script] –script-trace [target]

 

Update the script database —-> nmap –script-updatedb

 


Ndiff

 

Comparison using Ndiff —-> ndiff [scan1.xml] [scan2.xml]

 

Ndiff verbose mode —-> ndiff -v [scan1.xml] [scan2.xml]

 

XML output mode —-> ndiff –xml [scan1.xm] [scan2.xml]

 

Thanks and I hope these are helpful to you.

Share with Friends
FacebookTwitterLinkedInEmail
Use Cybytes and
Tip the Author!
Join
Share with Friends
FacebookTwitterLinkedInEmail
Ready to share your knowledge and expertise?
17 Comments
  1. Thanks for sharing. I really appreciate it <3

Page 4 of 4«1234
Comment on This

You must be logged in to post a comment.

Our Revolution

We believe Cyber Security training should be free, for everyone, FOREVER. Everyone, everywhere, deserves the OPPORTUNITY to learn, begin and grow a career in this fascinating field. Therefore, Cybrary is a free community where people, companies and training come together to give everyone the ability to collaborate in an open source way that is revolutionizing the cyber security educational experience.

Support Cybrary

Donate Here to Get This Month's Donor Badge

 

We recommend always using caution when following any link

Are you sure you want to continue?

Continue
Cancel