nmap使用手册
1、nmap最佳实战
shell
# 快速扫描单个主机开放端口
sudo -sS -sV -p- -O -T4 <target> -oA nmap-all
# 快速全端口
nmap -p- --min-rate 5000 -T4 -oN nmap/all-ports $IP
# 服务识别 + 默认脚本
nmap -sV -sC -p <ports> -oN nmap/detailed $IP
# UDP Top 100
sudo nmap -sU --top-ports 100 -oN nmap/udp $IP
# 漏洞脚本
nmap --script vuln -p <ports> $IP扫描IP列表
sudo nmap -iL <inputfile>需要特别关注的(容易漏扫的UDP端口)
shell
sudo nmap -sU ip2、关于nmap
2.1 nmap扫描参数解析
可以使用帮助命令来查看详细的参数信息。可以分为以下几类:
主机发现:
- sL: 列表扫描,简单
- sn: ping 扫描,禁用端口扫描
- Pn: 跳过主机发现,默认均上线
扫描技术:
- sS: TCP SYN 扫描(nmap默认的扫描方式,需要root权限,不完整三次握手)
- sN/sF/sX: 隐蔽扫描,NULL/FIN/Xmas,无序root
- sT: TCP连接扫描(完整三次握手,扫常见1000个端口)
- sA: TCP ACK扫描
- sU: UDP 扫描
脚本扫描(NSE)
- sC: 指定NSE脚本,等同于 --script=default
- scripts-args: 设置扫描参数
时间和性能
- T: <0-5>, 越高越快
- min-rate:最小速率,发送数据包不低于x/s, 通常1000
- max-rate:最大速率,发送数据包不高于x/s
- host-timeout: 最大超时时间
防火墙规则:
保存结果:
- oX: 输出为xml格式
- oN: 正常格式
- oS: 输出为Kiddi3格式
- oG: Grepable 格式
- oA: 输出三种格式
Nmap Scripts 脚本位置: /usr/share/nmap/scripts
shell
nmap --script <script name> -p<port> <host>2.2 nmap响应结果分析
nmap端口扫描结果中关于端口的几种状态;
Open: 端口开放,有应用程序在监听该端口,能够接受TCP、UDP或SCTP
close: 端口可以访问(接受并响应探测报文),但没有应用程序在其上监听。常见现象,TCP SYN扫描接受RST响应
filtered: 无法确定开放或关闭。可能被防火墙、过滤器或其他网络障碍封锁,没有收到任何反馈或收到ICMP错误消息 unfiltered: 未被过滤,端口可以访问,但nmap无法确定期状态。仅在TCP ACK扫描中出现,可用来确定端口是否被防火墙屏蔽
open|filtered: nmap无法判断端口是open还是filtered。通常出现在无法获得反馈的扫描类型中(UDP、IP协议、FIN、NULL或Xmas)
closed|filtered: nmap无法判断端口是closed还是filtered。仅出现在空闲扫描(idel scan)
2.3 Banner Grabbing
shell
nc -nv 10.129.42.253 21
nmap -sV --script=banner -p21 10.10.10.21
nmap --script smb-os-discovery.nse -p445 10.10.10.40
