Nmap(Network Mapper)是一个功能强大的网络扫描工具,它提供了大量的参数和选项来定制扫描。以下是一些常用的Nmap参数及其用途:
基本扫描参数
-sP:Ping扫描,仅检测目标主机是否在线。
-sS:TCP SYN扫描,一种半开放扫描,用于检测开放的端口。
-sT:TCP connect扫描,完整的三次握手扫描。
-sU:UDP扫描,用于检测开放的UDP端口。
-sV:服务版本检测,尝试确定开放端口上运行的服务及其版本。
-O:操作系统检测,尝试确定目标主机的操作系统类型和版本。
-p:指定要扫描的端口范围,例如-p 80,443或-p 1-65535。
性能和速度参数
-T0 到 -T5:设置时间模板,从T0(最慢)到T5(最快)。
--min-rate:设置每秒发送的最小包数。
--max-rtt-timeout:设置最大往返时间(RTT)超时。
输出参数
-oN:将扫描结果保存为普通文本文件。
-oX:将扫描结果保存为XML格式。
-oG:将扫描结果保存为Grepable格式。
-oA:将扫描结果保存为所有格式。
高级扫描参数
--scan-delay:设置扫描之间的延迟时间。
--max-retries:设置最大重试次数。
--packet-trace:显示发送和接收的包。
--top-ports:扫描最常用的端口。
--script:使用Nmap脚本引擎(NSE)执行脚本。
防火墙/IDS绕过参数
-f:使用小的IP数据包进行扫描,以绕过一些简单的包过滤防火墙。
-D:发送欺骗性扫描,以隐藏真实IP地址。
--spoof-mac:伪装MAC地址,以绕过基于MAC的过滤。
其他有用参数
-sC:使用默认脚本集进行脚本扫描。
-A:启用操作系统检测、版本检测、脚本扫描和跟踪路由。
-v:增加详细程度,可以多次使用以增加详细程度(例如-vv)。
-n:不进行DNS解析,直接使用IP地址。
-R:总是进行DNS解析。
以下是一些基本的Nmap参数使用方法,以及如何组合它们来执行特定的扫描任务。
基本扫描
Ping扫描:检测目标主机是否在线。
nmap -sP 192.168.1.1
TCP SYN扫描:半开放扫描,用于检测开放的端口。
nmap -sS 192.168.1.1
TCP connect扫描:完整的三次握手扫描。
nmap -sT 192.168.1.1
-UDP扫描:用于检测开放的UDP端口。
nmap -sU 192.168.1.1
服务和版本检测
服务版本检测:尝试确定开放端口上运行的服务及其版本。
nmap -sV 192.168.1.1
操作系统检测:尝试确定目标主机的操作系统类型和版本。
nmap -O 192.168.1.1
性能和速度
设置扫描速度:使用`-T`选项设置时间模板,从T0(最慢)到T5(最快)。
nmap -T4 192.168.1.1
设置最大重试次数:--max-retries选项设置最大重试次数。
nmap --max-retries 3 192.168.1.1
输出和保存结果
保存结果到文件:使用-oN选项保存为普通文本文件。
nmap -oN results.txt 192.168.1.1
保存结果为XML格式:使用-oX选项保存为XML格式。
nmap -oX results.xml 192.168.1.1
高级扫描技术
使用Nmap脚本引擎(NSE):执行脚本扫描。
nmap --script=vuln 192.168.1.1
-使用欺骗扫描:隐藏扫描源地址。
nmap -D RND:10 192.168.1.1
组合参数
你可以组合多个参数来执行复杂的扫描任务。例如,以下命令执行了一个TCP SYN扫描,检测了开放的端口和服务版本,并将结果保存为文本文件:
nmap -sS -sV -oN results.txt 192.168.1.1
注意事项
- 在使用Nmap进行扫描时,请确保你有权限对目标系统进行测试,未经授权的扫描可能违反法律。
- Nmap的参数非常丰富,可以通过 nmap --help 命令查看所有可用的参数和选项。
- Nmap的官方文档提供了详细的参数说明和使用示例,是学习Nmap的好资源。
通过这些参数和方法,你可以根据需要定制Nmap扫描,以满足不同的网络安全审计和网络发现需求。