Nmap的主要参数介绍
一、Nmap的功能参数主要分为以下几个大类:
1、目标说明
-iL
从主机地址列表文件中导入扫描地址
-iR
随机选择目标进行扫描, num hosts表示数目,设置为0则无休止扫描
--exclude
排除某 个主机地址
--excludefile
排除主机地址列表文件中的地址
2、主机发现
-sL
列表扫描,仅将指定的目标IP列举出来,不进行主机发现
-Sn
和-sP-样,只利用ping描进行主机发现,不扫描目标主机的端口
-Pn
将所有指定的主机视为已开启状态,跳过主机发现过程
-PS TCP SYN ping
,发送一个设置了SYN标志位的空TCP报文,默认端口为80 ,也可指定端口
-PA TCP ACK ping
,发送- -个设置了ACK标志位的TCP报文,默认端口为80 ,也可指定端口
-PU UDP ping
,发送一个空的UDP报文到指定端口,可穿透只过滤TCP的防火墙
-P0
使用IP协议ping .
-PR
使用ARP ping
-n/-R -n
不用域名解析 ,加速扫描, -R为目标IP做反向域名解析,扫描较慢- -些
-dns-servers
自定义 域名解析服务器地址
-traceroute
目标主机路由追踪
3、端口扫描
Nmap将目标端口分为6种状态:
open
(开放的)
closed
(关闭的)
filtered
(被过滤的)
unfiltered
(未被过滤)可访问但不确定开放情况
open|filtered
(开放或者被过滤)无法确定端口是开放的还是被过滤的
closed|filtered
(关闭或者被过滤)无法确定端口是关闭的还是被过滤的
注意事项:
Nmap产生结果是基于目标机器的响应报文的,而这些主机可能是不可信任的,会产生迷惑或者误导Nmap的报文。
命令参数:
-sS TCP SYN
扫描,半开放扫描,速度快隐蔽性好(不完成TCP连接) ,能够明确区分端口状态
-sT TCP
连接扫描,容易产生记录,效率低
-sA TCP ACK
扫描,只设置ACK标志位,区别被过滤与未被过滤的
-sU UDP
服务扫描,例如DNS/DHCP等,效率低
-sN; -sF; -sX TCP Null,Fin, Xmas
扫描,从RFC挖掘的微妙方法来区分开放关闭端口
-sI
利用僵尸主机.上已知IP分段ID序列生成算法来探测目标上开放端口的信息,极端隐蔽
-sO
IP协议扫描 ,可以确定目标主机支持哪些IP协议,例如TCP/ICMP等
4、端口说明和扫描顺序
-p
指定扫描的端口,可以是单个端口,也可以是端口范围,可以指定UDP或TCP协议扫描特定端口
-p<name>
指定扫描的协议,例如-p http即可扫描http协议的端口状态
--exclude-ports
排除指定端口不扫描
-F
快速模式,仅扫描100个常用端口
5、服务与版本探测
Nmap-services包含 大量服务的数据库, Nmap通过查询该数据库可以报告哪些端口可能对应于什么服务,但不一定正确。
-sV
进行服务版本探测
--version-intensity<level>
设置 版本扫描强度,范围为0-9 ,默认是7 ,强度越高,时间越长,服务越可能被正确识别
6、脚本扫描
允许用户自己编写脚本来执行自动化的操作或者扩展Nmap的功能,使用Lua脚本语言。
-sC
使用默认类别的脚本进行扫描
-- script= <Lua scripts>
使用某 个或某类脚本进行扫描,支持通配符描述
7、操作系统探测
用TCP/IP协议栈fingerprinting进行探测, Nmap发送一系列TCP和UDP报文到远程主机, 检查响应中的每一 个比特。 测试后Nmap把结果和数据库中超过1500个已知的fingerprints比较,如匹配则输出结果。
-0
启用操作系统探测
-A
同时启用操作系统探测和服务版本探测(万能开关)
--osscan-limit
针对指定的 目标进行操作系统检测
--osscan-guess
当Nmap无法确定所检测的操作系统时 ,会尽可能地提供最相近的匹配
8、时间和性能
Nmap开发的最高优先级是性能,但实际应用中很多因素会增加扫描时间,比如特定的扫描选项,防火墙配置以及版本扫描等。
-T<0-5>
设置时间模板级数,在0- 5中选择。T0、T1用于IDS规避, T2降低了扫描速度以使用更少的带宽和资源。默认为T3 ,未做任何优化。T4假设具有合适及可靠的网络从而加速扫描。T5假设具有特别快的网络或者愿为速度牺牲准确性
-host-timeout<time>
放弃低速目标主机 ,时间单位为毫秒
9、防火墙/IDS规避和欺骗
-f
(报文分段); --mtu
(使用指定的MTU )将TCP头分段在几个包中,使得包过滤器、IDS以及其它工具的检测更加困难
-D <decoy1 [, decoy2] [, ME.]...>
隐蔽扫描 ;使用逗号分隔每个诱饵主机,用自己真实IP作为诱饵使用ME选项。如在6号或更后的位置使用ME选项, - - -些检测器就不报告真实IP。如不使用ME ,真实IP将随机放置
-S <IP Address>
伪造数据包的源地址
-source-port < portnumber>/-g < portnumber>
伪造源端口
10、输出选项
-ON
标准输出
-oX
XML输出写入指定的文件
-oS
脚本小子输出,类似于交互工具输出
-0G
Grep输出
-0A
输出至所有格式
-V
提高输出信息的详细度
-resume <filename>
继续中断的扫描