nmap所有参数使用场景
目标发现:
-iL 扫描ip列表文件
-iR 随机选择目标扫描,跟主机数量
nmap -iR 100 -p22 --open
--exclude
--excludefile iplist.txt
-sL 列出IP地址列表,类似子网掩码计算;也可以列出iL中的ip地址
-sn 不做端口扫描
-Pn 如果目标防火墙拒绝探测(无回包),加Pn继续探测;如果不加则认为该IP不存活;
-PS/PA/PU/PY 基于SYN/ACK/UDP /SCTP协议 发现
-PE/PP/PM 基于 ICMP echo/时间戳/子网掩码
-PO 基于IP协议的ping扫描
-n 不做DNS解析
-R 反向域名解析
--dns-server 指定dns服务器;不使用本机DNS
ps:不同dns扫描结果存在差异
--systen-server
--traceroute 扫描的时候进行路由追踪
端口发现:
-sS/sT/sA/sW/sW 基于syn/tcp全连接/ack扫描/tcp协议窗口扫描/FIN+ACK组合 扫描
-sU UDP扫描;准确性不高
-sN/sF/sX 基于0flags/FIN/FIN+PSH+URG扫描
nmap -sN 192.168.43.32 -p22
nmap -sF 192.168.43.32 -p80
nmap -sX 192.168.43.32 -p80
--scanflags 自定义flags扫描;基于可以有规律的判断
-sI 僵尸扫描
-sY/sZ 基于SCTP协议扫描
-sO ip扫描
-b 基于FTP中继扫描
指定端口扫描
-p 基于tcp和udp一起扫描
-p U: 基于TCP扫描
-p T: 基于UDP扫描
-F 快速扫描少于默认端口数;默认为1000个端口
-r 顺序端口扫描
--top-ports 指定扫描数目(按默认1000个端口排序)
--port-radio 扫描更常见端口
服务探测
-sV 探测端口上的服务
--version-intensity 指定扫描强度;0-9(简单到完善)
--version-light intensity=2的情况
--version-all intensity=9
--version-trace 显示详细的扫描进程信息
脚本扫描
-sC --script=default
--script= 接具体脚本
--script-args 指定脚本参数
--script-trace 显示扫描详细信息
--script-updatedb 更新脚本
--script-help=脚本名称 查询脚本的使用方法
系统识别
-O 探测操作系统
--osscan-limit 指定系统
--osscan-guess 猜测系统
时间设定:'s'、'm'、'h'、'ms'
-T <0-5> 数字越高越快
--min-hostgroup/max-hostgroup <size> :指定一次扫描主机组的最小或最大数目
--min-parallelism/max-parallelism <numprobes>:指定一次扫描主机的最小或最大数目
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: 指定来回访问时间最小和最大值
--max-retries <tries>:指定最大重复尝试的次数
--host-timeout <time>:指定目标主机超时时间(响应时间)
--scan-delay/--max-scan-delay <time>:指定 扫描延迟时间(扫描间隔)
--min-rate <number>:每秒发包的数量(不小于)
--max-rate <number>:每秒发包的数量(不大于)
防火墙欺骗
-f; --mtu <val>: 设置最大传输单元;一条路径上的mtu值有mtu值最小 的设备决定
-D 伪造源地址
ps:利用多个源IP地址扫描 混淆目标主机
-S 伪造源地址;
-e 指定网卡
-g 指定源端口
--proxies 指定代理服务器
--data 添加包的数据字段(16进制)
--data-string 添加ascii字符
--ip-options 设置IP包头字段
--ttl 设置ttl值
--spoof-mac 欺骗mac地址
--badsum
ps:checksum用以包的完整性检验
杂项
-6 扫描ipv6
-A OS探测,服务探测,脚本扫描,路由追踪的组合