1.Nmap规格说明
控制参数 |
应用举例 |
含义描述 |
nmap 192.168.1.1 |
扫描 单个IP |
|
nmap 192.168.1.1 192.168.2.1 |
扫描多个IP |
|
nmap 192.168.1.1-254 |
扫描一个IP段 |
|
扫描一个域名 |
||
nmap 192.168.1.0/24 |
使用CIDR表示法进行扫描 |
|
-iL |
nmap -iL targets.txt |
从一个文件中加载目标扫描 |
-iR |
nmap -iR 100 |
随机扫描100个主机 |
-exclude |
nmap -exclude 192.168.1.1 |
排除列出的主机 |
2.Nmap扫描技术
控制参数 |
应用举例 |
含义描述 |
-sS |
nmap 192.168.1.1 -sS |
TCP SYN端口扫描(默认) |
-sT |
nmap 192.168.1.1 -sT |
TCP 连接端口扫描(默认情况下无需root权限) |
-sU |
nmap 192.168.1.1 -sU |
UDP 端口扫描 |
-sA |
nmap 192.168.1.1 -sA |
TCP ACK 端口扫描 |
-sW |
nmap 192.168.1.1 -sW |
TCP Window 端口扫描 |
-sM |
nmap 192.168.1.1 -sM |
TCP Maimon 端口扫描 |
3.主机发现
控制参数 |
应用举例 |
含义描述 |
-sL |
nmap 192.168.1.1-3 -sL |
不扫描,只枚举目标 |
-sn |
nmap 192.168.1.1/24 -sn |
禁用端口扫描,只负责主机发现 |
-Pn |
nmap 192.168.1.1-5 -Pn |
禁用主机发现, 只负责端口扫描 |
-PS |
nmap 192.168.1.1-5 -PS22-25,80 |
在端口x上进行TCP SYN探测。默认情况下,使用端口80 |
-PA |
nmap 192.168.1.1-5 -PA22-25,80 |
在端口x上进行TCP ACK探测。默认情况下,使用端口80 |
-PU |
nmap 192.168.1.1-5 -PU53 |
在端口x上进行UDP探测。默认情况下,使用端口40125 |
-PR |
nmap 192.168.1.1-1/24 -PR |
本地网络上进行ARP探测 |
-n |
nmap 192.168.1.1 -n |
不进行DNS解析 |
4.端口专项扫描
控制参数 |
应用举例 |
含义描述 |
-p |
nmap 192.168.1.1 -p 21 |
对端口x进行端口扫描 |
-p |
nmap 192.168.1.1 -p 21-100 |
选定端口范围扫描 |
-p |
nmap 192.168.1.1 -p U:53,T:21-25,80 |
扫描多个TCP和UDP端口 |
-p |
nmap 192.168.1.1 -p- |
进行全端口扫描 |
-p |
nmap 192.168.1.1 -p http,https |
根据服务名称进行端口扫描 |
-F |
nmap 192.168.1.1 -F |
快速端口扫描(100个端口) |
-top-ports |
nmap 192.168.1.1 -top-ports 2000 |
扫描前x个热门端口 |
-p-65535 |
nmap 192.168.1.1 -p-65535 |
在范围中省略初始端口将使扫描从端口1开始 |
-p0- |
nmap 192.168.1.1 -p0- |
在范围中省略结束端口将使扫描一直进行到端口65535 |
5.服务和版本专项扫描
控制参数 |
应用举例 |
含义描述 |
-sV |
nmap 192.168.1.1 -sV |
尝试确定运行在指定端口上的服务的版本 |
-sV -version-intensity |
nmap 192.168.1.1 -sV -version-intensity 8 |
强度级别从0到9。较高的数字增加正确性的可能性 |
-sV -version-light |
nmap 192.168.1.1 -sV -version-light |
启用轻量模式。降低正确性的可能性,但提高速度 |
-sV -version-all |
nmap 192.168.1.1 -sV -version-all |
启用强度级别9。更高的正确性可能性,但速度较慢 |
-A |
nmap 192.168.1.1 -A |
启用操作系统检测、版本检测、脚本扫描和跟踪路由 |
6.操作系统探测
控制参数 |
应用举例 |
含义描述 |
-O |
nmap 192.168.1.1 -O |
远程操作系统检测 |
-O -osscan-limit |
nmap 192.168.1.1 -O -osscan-limit |
如果未找到至少一个开放和一个关闭的TCP端口,则不会对主机进行操作系统检测 |
-O -osscan-guess |
nmap 192.168.1.1 -O -osscan-guess |
使Nmap更加积极地进行猜测 |
-O -max-os-tries |
nmap 192.168.1.1 -O -max-os-tries 1 |
设置对目标进行操作系统检测的最大尝试次数为x |
-A |
nmap 192.168.1.1 -A |
启用操作系统检测、版本检测、脚本扫描和跟踪路由 |
7.时序和性能
控制参数 |
应用举例 |
含义描述 |
-T0 |
nmap 192.168.1.1 -T0 |
慎密模式(0),用于入侵检测系统规避 |
-T1 |
nmap 192.168.1.1 -T1 |
隐秘模式(1),用于入侵检测系统规避 |
-T2 |
nmap 192.168.1.1 -T2 |
有礼模式(2)减缓扫描速度,以减少带宽使用并降低目标机器资源的消耗 |
-T3 |
nmap 192.168.1.1 -T3 |
正常模式(3),即默认速度 |
-T4 |
nmap 192.168.1.1 -T4 |
激进模式(4)加快扫描速度;假设您在一个相当快速和可靠的网络上 |
-T5 |
nmap 192.168.1.1 -T5 |
疯狂模式(5)加快扫描速度;假设您在一个非常快速的网络上 |
8.时序和性能开关
控制参数 |
应用举例 |
含义描述 |
-host-timeout<time> |
1s; 4m; 2h |
在经过这么长时间后放弃对目标的扫描 |
-min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout<time> |
1s; 4m; 2h |
指定探测的往返时间 |
-min-hostgroup/max-hostgroup <size<size> |
50; 1024 |
并行主机扫描组大小 |
-min-parallelism/max-parallelism<numprobes> |
10; 1 |
探测并行化 |
-max-retries<tries> |
3 |
指定端口扫描探测的最大重传次数 |
-min-rate<number> |
100 |
每秒发送的数据包速度不低于<number> |
-max-rate<number> |
100 |
每秒发送的数据包速度不超过<number> |
9.NSE脚本
控制参数 |
应用举例 |
含义描述 |
-sC |
nmap 192.168.1.1 -sC |
使用默认的Nmap脚本引擎(NSE)脚本进行扫描。被认为对发现和安全性有用 |
-script default |
nmap 192.168.1.1 -script default |
使用默认的Nmap脚本引擎(NSE)脚本进行扫描。被认为对发现和安全性有用 |
-script |
nmap 192.168.1.1 -script=banner |
使用单个脚本进行扫描。例如,扫描的脚本是banner |
-script |
nmap 192.168.1.1 -script=http* |
使用通配符进行扫描。例如,扫描的是http。 |
-script |
nmap 192.168.1.1 -script=http,banner |
使用两个脚本进行扫描。例如,扫描的脚本包括http和banner |
-script |
nmap 192.168.1.1 -script \”not intrusive\” |
扫描默认设置,但删除具有侵入性的脚本 |
-script-args |
nmap -script snmp-sysdescr -script-args snmpcommunity=admin 192.168.1.1 |
带有参数的NSE脚本 |
10.使用NSE脚本举例
控制参数 |
含义描述 |
HTTP站点地图生成器 |
|
nmap -n -Pn -p 80 -open -sV -vvv -script banner,http-title -iR 1000 |
快速搜索随机的Web服务器 |
nmap -Pn -script=dns-brute domain.com |
暴力破解DNS主机名,猜测子域名 |
nmap -n -Pn -vv -O -sV -script smb-enum,smb-ls,smb-mbenum,smb-os-discovery,smb-s,smb-vuln,smbv2-vv 192.168.1.1 |
安全的SMB脚本运行 |
nmap -script whois* domain.com |
Whois 查询 |
nmap -p80 -script http-unsafe-output-escaping scanme.nmap.org |
检测跨站脚本(XSS)漏洞 |
检查SQL注入漏洞 |
11.防火墙/入侵检测系统(IDS)规避和欺骗
控制参数 |
应用举例 |
含义描述 |
-f |
nmap 192.168.1.1 -f |
请求的扫描(包括ping扫描)使用微小的分段IP数据包。对于数据包过滤更加困难 |
-mtu |
nmap 192.168.1.1 -mtu 32 |
设置自己的偏移大小 |
-D |
nmap -D 192.168.1.101,192.168.1.102,192.168.1.103,192.168.1.23 192.168.1.1 |
从伪造的IP地址发送扫描 |
-D |
nmap -D decoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ip |
上述例子解释 |
-S |
nmap -Swww.microsoft.comwww.facebook.com |
扫描Facebook从Microsoft(可能需要使用-e eth0 -Pn) |
-g |
nmap -g 53 192.168.1.1 |
使用给定的源端口号 |
-proxies |
nmap -proxieshttp://192.168.1.1:8080,http://192.168.1.2:8080192.168.1.1 |
通过HTTP/SOCKS4代理中继连接 |
-data-length |
nmap -data-length 200 192.168.1.1 |
将随机数据附加到发送的数据包 |
示例入侵检测系统(IDS)规避命令:
nmap -f -t 0 -n -Pn --data-length 200 -D192.168.1.101,192.168.1.102,192.168.1.103,192.168.1.23 192.168.1.1
12.输出到文件
控制参数 |
应用举例 |
含义描述 |
-oN |
nmap 192.168.1.1 -oN normal.file |
将正常输出保存到文件normal.file中 |
-oX |
nmap 192.168.1.1 -oX xml.file |
将XML格式的输出保存到文件xml.file中 |
-oG |
nmap 192.168.1.1 -oG grep.file |
将可用于grep命令的输出保存到文件grep.file中 |
-oA |
nmap 192.168.1.1 -oA results |
将扫描结果同时保存为三种主要格式的命令 |
-oG – |
nmap 192.168.1.1 -oG – |
可用于屏幕显示的grep格式的输出。也可以使用-oN -、-oX -。 |
-append-output |
nmap 192.168.1.1 -oN file.file -append-output |
将扫描追加到先前的扫描文件中 |
-v |
nmap 192.168.1.1 -v |
增加详细程度的级别(使用-vv或更多以获得更大的效果) |
-d |
nmap 192.168.1.1 -d |
增加调试级别(使用-dd或更多以获得更大的效果) |
-reason |
nmap 192.168.1.1 -reason |
显示端口处于特定状态的原因,与-vv输出相同 |
-open |
nmap 192.168.1.1 -open |
只显示打开(或可能打开)的端口 |
-packet-trace |
nmap 192.168.1.1 -T4 -packet-trace |
显示所有发送和接收的数据包 |
-iflist |
nmap -iflist |
显示主机的网络接口和路由信息 |
-resume |
nmap -resume results.file |
恢复扫描 |
13.有用的Namp输出示例
控制命令 |
含义描述 |
nmap -p80 -sV -oG – -open 192.168.1.1/24 | grep open |
扫描Web服务器并使用grep显示运行Web服务器的IP地址 |
nmap -iR 10 -n -oX out.xml | grep \”Nmap\” | cut -d \” \” -f5 > live-hosts.txt |
生成活动主机的IP地址列表 |
nmap -iR 10 -n -oX out2.xml | grep \”Nmap\” | cut -d \” \” -f5 >> live-hosts.txt |
将IP追加到活动主机列表 |
ndiff scanl.xml scan2.xml |
要比较两个Nmap扫描结果,可以使用ndiff工具 |
将Nmap的XML文件转换为HTML文件 |
|
grep \” open \” results.nmap | sed -r ‘s/ +/ /g’ | sort | uniq -c | sort -rn | less |
出现频率的逆排序端口列表 |