nmap简单使用参数

  学习nmap的过程中,顺手翻译一下使用方法,提高英语水平。

主机说明

  • 可以输入域名(scanme.nmap.org),IP地址(192.168.0.0/24),网段(10.0.0-255.1-254)等
  • -iL <inputfilename>: 从文本读取要扫描的主机
  • -iR <num hosts>: 随机选择互联网上的IP地址进行扫描研究
  • --exclude <host1[,host2][,host3],...>: 排除指定主机
  • --excludefile <exclude_file>: 从文本读取要排除的主机

主机扫描相关

  • -sL: 仅反向解析目标IP,不进行扫描
  • -sn: 仅使用ping扫描,不进行端口扫描
  • -Pn: 假设所有主机都在线,跳过主机扫描阶段
  • -PS/PA/PU/PY[portlist]: 使用TCP SYN/ACK, UDP, SCTP方法扫描主机指定端口
  • -PE/PP/PM: 使用ICMP echo, timestamp, netmask request方法扫描主机
  • -PO[protocol list]: IP Protocol Ping
  • -n/-R: 不/总是进行DNS反向解析(默认:有时候进行)
  • --dns-servers <serv1[,serv2],…>: 指定进行域名反向解析的DNS服务器
  • --system-dns: 使用系统的DNS服务器
  • --traceroute: 对每个主机进行路由追踪

端口扫描相关

  • -sS/sT/sA/sW/sM: 使用TCP SYN/三次握手/ACK/Window/Maimon方法扫描端口
  • -sU: 进行UDP扫描
  • -sN/sF/sX: TCP扫描时不设置/设置FIN/设置FIN,PSH,URG标志位
  • --scanflags <flags>: 自定义TCP标志位
  • -sI <zombie host[:probeport]>: 完全隐藏自己的前提下进行扫描
  • -sY/sZ: SCTP INIT/COOKIE-ECHO扫描
  • -sO: 扫描目标支持哪些IP协议
  • -b <FTP relay host>: FTP弹跳扫描

端口说明和扫描顺序

  • -p <port ranges>: 仅扫描指定端口(22/1-65535/80,139)
  • --exclude-ports <port ranges>: 排除指定端口
  • -F: 仅扫描更常见的端口,加快速度
  • -r: 强制按顺序扫描短裤(默认随机)
  • --top-ports <number>: 扫描最常见的<number>个端口
  • --port-ratio <ratio>: 扫描前<ratio>%个最常见的端口

服务和版本探测

  • -sV: 对开放的端口进行服务和版本探测
  • --version-intensity <level>: 版本探测强度0(轻度)~9(尝试所有探测)
  • --version-light: 与--version-intensity 2相同
  • --version-all: 与--version-intensity 9相同
  • --version-trace: 输出版本探测调试信息

操作系统探测

  • -O: 启用操作系统探测
  • --osscan-limit: 仅对有开放端口的主机进行操作系统探测
  • --osscan-guess: 尽可能的推测操作系统

脚本扫描

  • -sC:--script=default相同
  • --script=<Lua scripts>: <Lua scripts>是用逗号分隔的脚本文件或目录
  • --script-args=<n1=v1,[n2=v2,...]>: 传递给脚本的参数
  • --script-args-file=filename: 从文件读入传递给脚本的参数
  • --script-trace: 输出所有发送/接收到的数据
  • --script-updatedb: 更新脚本数据库
  • --script-help=<Lua scripts>: 输出指定脚本的帮助信息

时间和性能

  • 默认计时单位为秒,添加ms(微妙)/m(分钟)/h(小时)后缀可以改变计时单位
  • -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>: 每秒最大发包数

防火墙、IDS躲避和欺骗

  • -f; --mtu <val>: 尽可能使IP数据包/以太网帧分片
  • -D <decoy1,decoy2[,ME],...>: 用诱饵隐藏扫描
  • -S <IP_Address>: 伪装源IP地址
  • -e <iface>: 指定发包的网卡接口
  • -g/--source-port <portnum>: 指定源端口
  • --proxies <url1,[url2],...>: 指定代理服务器
  • --data <hex string>: 发包时附加指定的payload
  • --data-string <string>: 发包时附加指定的字符串
  • --data-length <num>: 发包时附加随机的数据
  • --ip-options <options>: 指定IP数据包的附加项
  • --ttl <val>: 指定IP数据包的TTL
  • --spoof-mac <mac address/prefix/vendor name>: 伪装你的MAC地址
  • --badsum: 发包时使用一个虚假的校验和

输出

  • -oN/-oX/-oS/-oG <file>: 输出格式为普通/XML/脚本小子/Grepable的结果文件
  • -oA <basename>: 同时输出普通/XML/Grepable的结果文件
  • -v: 提高详细程度(-vv更详细)
  • -d: 提高调试等级(-dd更高)
  • --reason: 显示端口处于特殊状态的原因
  • --open: 只显示开发(或可能开放)的端口
  • --packet-trace: 输出所有发送及接受的数据包
  • --iflist: 输出主机的接口及路由调试信息
  • --append-output: 输出时不覆盖而是在末尾继续追加
  • --resume <filename>: 从文件恢复一个被中断的扫描
  • --stylesheet <path/URL>: 指定XSL样式,以将xml文件转换为html文件
  • --webxml: 从Nmap.Org参考样式
  • --no-stylesheet: 不适用XSL样式

其他

  • -6: 启用IPv6扫描
  • -A: 启用操作系统探测,版本探测,脚本扫描及路由追踪
  • --datadir <dirname>: 指定nmap用户数据文件目录
  • --send-eth/--send-ip: 使用原始以太网帧/IP包发送,适用于Windows,Unix
  • --privileged: 假设用户具有全部权限
  • --unprivileged: 假设用户没有操作原始套接字的权限
  • -V: 输出版本号
  • -h: 输出帮助页