
Nmap Switches and Scan Types – How to Use
Nmap (Network Mapper) is the Swiss Army knife of network reconnaissance, offering a variety of scan types and switches that can help you discover services, detect vulnerabilities, and map network topologies. Whether you’re securing your own infrastructure, troubleshooting connectivity issues, or conducting authorized penetration testing, understanding Nmap’s different scanning capabilities is crucial for any system administrator or security professional. This guide walks through the most useful Nmap switches and scan types, showing you practical examples and explaining when to use each technique for maximum effectiveness.
How Nmap Scanning Works
Nmap works by sending specially crafted packets to target hosts and analyzing the responses (or lack thereof) to determine port states, operating systems, and running services. The tool uses various TCP and UDP techniques to probe targets, with each scan type optimized for different scenarios and stealth requirements.
The basic scanning process involves three main phases:
- Host discovery – determining which hosts are alive on the network
- Port scanning – identifying open, closed, or filtered ports
- Service detection – fingerprinting services and operating systems
Different scan types manipulate TCP flags, timing, and packet structures to achieve specific goals while potentially evading detection systems.
Essential Nmap Switches and Options
Before diving into scan types, let’s cover the most important command-line switches that control Nmap’s behavior:
Switch | Purpose | Example Usage |
---|---|---|
-p | Specify ports to scan | -p 22,80,443 or -p 1-1000 |
-sV | Version detection | Identifies service versions |
-O | OS detection | Attempts to identify target OS |
-A | Aggressive scan | Combines -sV, -O, -sC, –traceroute |
-T | Timing template | -T0 (paranoid) to -T5 (insane) |
-oA | Output all formats | Saves results in multiple formats |
TCP Scan Types
TCP Connect Scan (-sT)
This is the default scan type when Nmap is run without root privileges. It completes the full TCP three-way handshake, making it reliable but easily detectable.
nmap -sT 192.168.1.100
nmap -sT -p 80,443 example.com
Use TCP connect scans when stealth isn’t a concern and you need reliable results. This scan type works well through most firewalls and provides accurate port state information.
TCP SYN Scan (-sS)
Also known as “half-open” scanning, this technique sends SYN packets without completing the handshake. It’s faster and stealthier than connect scans, requiring root privileges on Unix systems.
sudo nmap -sS 192.168.1.0/24
sudo nmap -sS -p 1-65535 target.example.com
SYN scans are ideal for most scenarios where you have administrative access. They’re less likely to be logged by target systems and can scan thousands of ports quickly.
TCP ACK Scan (-sA)
ACK scans help identify firewall rules and determine if ports are filtered. They send ACK packets to probe firewall behavior rather than determine if ports are open.
sudo nmap -sA 192.168.1.100
sudo nmap -sA -p 80,443,8080 firewall.example.com
This scan type excels at firewall mapping and can reveal which ports are filtered versus unfiltered, helping you understand network security posture.
TCP Window Scan (-sW)
Similar to ACK scans but examines the TCP window field in responses. Some systems reveal port states through window size variations.
sudo nmap -sW 192.168.1.100
UDP Scanning
UDP scanning (-sU) is crucial since many important services run on UDP, including DNS, SNMP, and DHCP. UDP scans are inherently slower due to the connectionless nature of the protocol.
sudo nmap -sU 192.168.1.100
sudo nmap -sU -p 53,161,514 dns-server.example.com
sudo nmap -sU --top-ports 100 192.168.1.0/24
Combine UDP scanning with version detection for better service identification:
sudo nmap -sU -sV -p 161 snmp-target.com
UDP scans often require patience and proper timing. Use the –top-ports option to focus on commonly used UDP ports rather than scanning all 65,535 ports.
Stealth and Evasion Techniques
FIN, NULL, and Xmas Scans
These techniques exploit RFC compliance to evade simple packet filters:
sudo nmap -sF target.example.com # FIN scan
sudo nmap -sN target.example.com # NULL scan
sudo nmap -sX target.example.com # Xmas scan
These scans work by sending packets with unusual flag combinations. Closed ports should respond with RST packets, while open ports typically don’t respond at all.
Idle Scan (-sI)
One of Nmap’s most advanced techniques, idle scanning uses a zombie host to scan targets, making the scan appear to originate from a different source.
sudo nmap -sI zombie-host.com target.example.com
This technique requires finding a suitable idle host with predictable IP ID sequences. It’s extremely stealthy but complex to execute properly.
Timing and Performance Optimization
Nmap’s timing templates control scan speed and stealth characteristics:
Template | Name | Use Case | Detection Risk |
---|---|---|---|
-T0 | Paranoid | IDS evasion | Very Low |
-T1 | Sneaky | Slow, stealthy scans | Low |
-T2 | Polite | Reduces bandwidth usage | Low |
-T3 | Normal | Default timing | Medium |
-T4 | Aggressive | Fast, reliable networks | High |
-T5 | Insane | Very fast networks only | Very High |
For custom timing control, use specific options:
sudo nmap --min-rate 1000 --max-retries 2 192.168.1.0/24
sudo nmap --scan-delay 100ms --max-scan-delay 1s target.com
Real-World Use Cases and Examples
Network Discovery and Asset Inventory
Discover live hosts and create an inventory of network assets:
# Quick network sweep
nmap -sn 192.168.1.0/24
# Comprehensive asset discovery
sudo nmap -sS -O -sV --top-ports 1000 -oA network-scan 192.168.1.0/24
Web Server Reconnaissance
Identify web services and gather version information:
# Web-focused scan
nmap -p 80,443,8080,8443 -sV --script http-title,http-server-header webserver.com
# SSL/TLS analysis
nmap -p 443 --script ssl-enum-ciphers webserver.com
Vulnerability Assessment
Use Nmap scripts for basic vulnerability detection:
# SMB vulnerability check
sudo nmap -p 445 --script smb-vuln-* 192.168.1.100
# General vulnerability scan
nmap --script vuln target.example.com
Firewall Testing
Test firewall configurations and rule effectiveness:
# Test specific firewall rules
sudo nmap -sA -p 80,443,22,3389 firewall.example.com
# Fragment packets to evade inspection
sudo nmap -f -sS target.example.com
Advanced Scanning Techniques
IPv6 Scanning
As IPv6 adoption increases, scanning IPv6 networks becomes crucial:
nmap -6 2001:db8::1
nmap -6 -sS 2001:db8::/64
Decoy Scanning
Hide your scan source among decoy addresses:
sudo nmap -D decoy1.com,decoy2.com,ME target.example.com
sudo nmap -D RND:10 target.example.com # Random decoys
Source Port Manipulation
Some firewalls allow traffic from specific source ports:
sudo nmap --source-port 53 target.example.com # DNS source port
sudo nmap -g 88 target.example.com # Kerberos source port
Best Practices and Common Pitfalls
Legal and Ethical Considerations
- Only scan networks you own or have explicit permission to test
- Be aware of local laws regarding network scanning
- Consider the impact of aggressive scans on production systems
- Document all scanning activities for compliance purposes
Performance Best Practices
- Use appropriate timing templates for your network conditions
- Limit port ranges when possible to reduce scan time
- Consider network bandwidth and target system load
- Save scan results for later analysis and comparison
Common Troubleshooting Issues
Many Nmap problems stem from permission or network configuration issues:
# Check if you have proper permissions
id
sudo nmap --privileged -sS target.com
# Test basic connectivity first
ping target.com
traceroute target.com
# Increase verbosity for debugging
nmap -v -d target.com
Output and Reporting
Always save scan results for documentation and analysis:
# Save in all formats
nmap -oA scan-results target.com
# XML output for parsing
nmap -oX results.xml target.com
# Grepable format for scripting
nmap -oG results.gnmap target.com
Integration with Infrastructure
When running Nmap scans from your server infrastructure, consider network positioning and performance impact. VPS instances provide excellent platforms for network reconnaissance due to their dedicated resources and network connectivity. For large-scale scanning operations, dedicated servers offer the processing power and bandwidth needed for comprehensive network mapping.
Script Nmap for automated security assessments:
#!/bin/bash
# Automated network scan script
NETWORK="192.168.1.0/24"
DATE=$(date +%Y%m%d)
# Host discovery
nmap -sn $NETWORK > hosts-$DATE.txt
# Port scan live hosts
for host in $(grep "Nmap scan report" hosts-$DATE.txt | cut -d' ' -f5); do
nmap -sS -O -sV --top-ports 1000 -oA scan-$host-$DATE $host
done
For more information on Nmap’s capabilities and detailed documentation, visit the official Nmap documentation. The Nmap Scripting Engine documentation provides extensive information on available scripts and custom script development.
Understanding Nmap’s various scan types and switches enables you to choose the right approach for each situation, whether you’re conducting routine network maintenance, security assessments, or troubleshooting connectivity issues. Start with basic scans and gradually incorporate more advanced techniques as you become comfortable with the tool’s capabilities and your specific use cases.

This article incorporates information and material from various online sources. We acknowledge and appreciate the work of all original authors, publishers, and websites. While every effort has been made to appropriately credit the source material, any unintentional oversight or omission does not constitute a copyright infringement. All trademarks, logos, and images mentioned are the property of their respective owners. If you believe that any content used in this article infringes upon your copyright, please contact us immediately for review and prompt action.
This article is intended for informational and educational purposes only and does not infringe on the rights of the copyright owners. If any copyrighted material has been used without proper credit or in violation of copyright laws, it is unintentional and we will rectify it promptly upon notification. Please note that the republishing, redistribution, or reproduction of part or all of the contents in any form is prohibited without express written permission from the author and website owner. For permissions or further inquiries, please contact us.