1.主机发现:
-sn
:仅进行主机发现,不进行端口扫描。-Pn
:将所有指定的主机视为已开启状态,跳过主机发现过程。-PS/PA/PU/PY[protocollist]
:使用TCP SYN/ACK或SCTP INIT/ECHO方式来发现主机。-PE/PP/PM
:使用ICMP echo、timestamp、netmask请求发现主机。-PO[protocollist]
:使用IP协议包探测对方主机是否开启。2.端口扫描:
-sS/sT/sA/sW/sM
:指定使用TCP SYN/Connect()/ACK/Window/Maimon scans的方式对目标进行扫描。-sU
:指定使用UDP扫描的方式确定目标主机的UDP端口情况。-p<port ranges>
:扫描指定的端口或端口范围。-F
:快速模式,仅扫描最常用的100个端口。3.服务和版本探测:
-sV
:进行服务版本探测,尝试确定开放端口上运行的应用程序及版本信息。4.操作系统探测:
-O
:启用操作系统探测,尝试确定目标主机的操作系统类型和版本。5.脚本扫描:
-sC
:使用默认类别的脚本进行扫描,这些脚本通常用于安全审计和发现。--script=<Lua scripts>
:使用某个或某类脚本进行扫描,支持统配符描述。6.性能和时间控制:
-T<0-5>
:设置扫描过程的时序模板,影响扫描速度和隐蔽性。--host-timeout<time>
:放弃低速目标主机,单位为毫秒。7.其他高级用法:
-sI<zombie host[:probeport]>
:使用Idle scan的方式扫描主机,需要找到合适的zombie host。-e<interface>
:指定使用的网络接口。-n/-R
:-n表示不进行DNS解析;-R表示总是进行DNS解析。--traceroute
:追踪每个路由节点。8.输出选项:
-oX <file>
:将扫描结果输出为XML格式的文件。-oG <file>
:将扫描结果输出为grepable格式的文件。-oA <basename>
:将扫描结果输出为三种格式:XML、grepable和正常格式。
主机发现
扫描一个网段:nmap -sn 192.168.1.0/24 ,-sn
在 Nmap 中是一个缩写选项。它代表了“Ping Scan”,也就是只进行主机发现,而不进行端口扫描。
1.
-sT
:TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。2.
-sS
:半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限。3.
-sF
:秘密FIN数据包扫描。4.
-sN
:Xmas Tree扫描模式。5.
-sP
:Ping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描。6.
-sU
:UDP扫描,但UDP扫描是不可靠的。7.
-sA
:这项高级的扫描方法通常用来穿过防火墙的规则集。8.
-sV
:探测端口服务版本。9.
-Pn
:扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描。10.
-v
:显示扫描过程,推荐使用。11.
-h
:帮助选项,是最清楚的帮助文档。12.
-p
:指定端口,如“1-65535、1433、135、22、80”等。13.
-O
:启用远程操作系统检测,存在误报。14.
-A
:全面系统检测、启用脚本检测、扫描等。15.
-oN/-oX/-oG
:将报告写入文件,分别是正常、XML、grepable三种格式。16.
-T4
:针对TCP端口禁止动态扫描延迟超过10ms。17.
-iL
:读取主机列表,例如,“-iL C:\ip.txt”。