Kali工具集-Nmap

Kali工具集-Nmap

Nmap 7.95(官网:https://nmap.org

用法:nmap [扫描类型] [选项] {目标指定}

目标指定

可传入主机名、IP 地址、网段等

示例:scanme.nmap.orgmicrosoft.com/24、192.168.0.1; 10.0.0-255.1-254

-iL <输入文件名>:从主机 / 网段列表文件中读取扫描目标

-iR < 主机数量 >:随机选择指定数量的扫描目标

--exclude < 主机 1 [, 主机 2][, 主机 3],...>:排除指定的主机 / 网段

--excludefile < 排除文件 >:从文件中读取需要排除的目标列表

主机发现

-sL:列表扫描 —— 仅列出待扫描的目标

-sn:Ping 扫描 —— 关闭端口扫描功能

-Pn:将所有主机视为在线状态,跳过主机发现步骤

-PS/PA/PU/PY [端口列表]:向指定端口发送 TCP SYN、TCP ACK、UDP 或 SCTP 包进行主机发现

-PE/PP/PM:发送 ICMP 回显、时间戳、子网掩码请求包作为发现探测包

-PO [协议列表]:IP 协议 Ping 探测

-n/-R:永不进行 DNS 解析 / 始终进行 DNS 解析【默认:视情况解析】

--dns-servers < 服务器 1 [, 服务器 2],...>:指定自定义的 DNS 服务器

--system-dns:使用操作系统自带的 DNS 解析器

--traceroute:追踪到每个目标主机的路由跳数路径

扫描技术

-sS/sT/sA/sW/sM:TCP SYN / 连接 / ACK / 窗口 / 迈蒙扫描

-sU:UDP 扫描

-sN/sF/sX:TCP 空扫描、FIN 扫描、圣诞扫描

--scanflags <标志位>:自定义 TCP 扫描的标志位

-sI < 僵尸主机 [: 探测端口]>:空闲扫描

-sY/sZ:SCTP 初始化 / COOKIE-ECHO 扫描

-sO:IP 协议扫描

-b <FTP 中继主机 >:FTP 弹跳扫描

端口指定与扫描顺序

-p <端口范围>:仅扫描指定端口

示例:-p22;-p1-65535;-p U:53,111,137,T:21-25,80,139,8080,S:9

--exclude-ports < 端口范围 >:从扫描中排除指定端口

-F:快速模式 —— 扫描比默认数量更少的端口

-r:按顺序扫描端口,不进行随机化处理

--top-ports < 数字 >:扫描指定数量的最常用端口

--port-ratio < 比例 >:扫描使用频率高于指定比例的端口

服务 / 版本探测

-sV:对开放端口进行探测,确定服务类型和版本信息

--version-intensity <级别>:设置探测强度,0(轻量)至 9(尝试所有探测包)

--version-light:仅使用最可能的探测包(强度为 2)

--version-all:尝试所有探测包(强度为 9)

--version-trace:显示详细的版本扫描过程(用于调试)

脚本扫描

-sC:等效于 --script=default(加载默认脚本集)

--script=<Lua 脚本>:指定 Lua 脚本,支持目录、脚本文件、脚本分类的逗号分隔列表

--script-args=< 参数 1 = 值 1,[参数 2 = 值 2,...]>:为脚本传入参数

--script-args-file = 文件名:从文件中读取 NSE 脚本的参数

--script-trace:显示所有发送和接收的数据包数据

--script-updatedb:更新脚本数据库

--script-help=<Lua 脚本 >:显示脚本的帮助信息

其中 < Lua 脚本 > 为脚本文件或脚本分类的逗号分隔列表

操作系统探测

-O:启用操作系统探测功能

--osscan-limit:仅对高概率的目标进行操作系统探测

--osscan-guess:更激进地猜测目标操作系统

计时与性能

带 <时间> 的选项单位为秒,也可在值后追加单位:ms(毫秒)、s(秒)、m(分钟)、h(小时)(例:30m)

-T<0-5>:设置计时模板,数值越高扫描速度越快

--min-hostgroup/max-hostgroup < 数量 >:并行扫描的主机组大小范围

--min-parallelism/max-parallelism < 探测数 >:探测包的并行数量范围

--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout < 时间 >:指定探测包的往返超时时间

--max-retries < 次数 >:限制端口扫描探测包的重传次数上限

--host-timeout < 时间 >:超过该时间则放弃对目标主机的扫描

--scan-delay/--max-scan-delay < 时间 >:调整探测包之间的发送延迟

--min-rate < 数字 >:发送数据包的速率不低于指定数值(个 / 秒)

--max-rate < 数字 >:发送数据包的速率不高于指定数值(个 / 秒)

防火墙 / 入侵检测系统规避与地址欺骗

-f;--mtu <值>:对数据包进行分片(可指定 MTU 值)

-D < 诱饵 1, 诱饵 2 [, 本机],...>:使用诱饵主机隐藏真实扫描源

-S <IP 地址 >:伪造扫描的源 IP 地址

-e < 网卡 >:使用指定的网络接口

-g/--source-port < 端口号 >:使用指定的源端口

--proxies < 网址 1,[网址 2],...>:通过 HTTP/SOCKS4 代理转发连接

--data < 十六进制字符串 >:向发送的数据包追加自定义载荷

--data-string < 字符串 >:向发送的数据包追加自定义 ASCII 字符串

--data-length < 数字 >:向发送的数据包追加随机长度的数据

--ip-options < 选项 >:发送带有指定 IP 选项的数据包

--ttl < 值 >:设置 IP 数据包的生存时间字段

--spoof-mac <MAC 地址 / 前缀 / 厂商名 >:伪造本机的 MAC 地址

--badsum:发送带有无效 TCP/UDP/SCTP 校验和的数据包

输出

-oN/-oX/-oS/-oG <文件>:分别以普通、XML、脚本小子、可 grep 解析格式将扫描结果输出至指定文件

-oA < 基础名 >:同时以三种主要格式输出扫描结果(自动生成对应后缀)

-v:提高输出的详细程度(使用 - vv 或更多 v 可获得更详细信息)

-d:提高调试级别(使用 - dd 或更多 d 可获得更详细调试信息)

--reason:显示端口处于当前状态的原因

--open:仅显示开放(或可能开放)的端口

--packet-trace:显示所有发送和接收的数据包

--iflist:打印主机的网络接口和路由信息(用于调试)

--append-output:将结果追加至输出文件,而非覆盖

--resume < 文件名 >:恢复中断的扫描任务

--noninteractive:禁用通过键盘进行的运行时交互

--stylesheet < 路径 / 网址 >:用于将 XML 输出转换为 HTML 的 XSL 样式表

--webxml:从 Nmap 官网引用样式表,生成更具可移植性的 XML

--no-stylesheet:禁止为 XML 输出关联 XSL 样式表

其他

-6:启用 IPv6 扫描

-A:同时启用操作系统探测、版本探测、脚本扫描和路由追踪

--datadir <目录名>:指定自定义的 Nmap 数据文件存放路径

--send-eth/--send-ip:通过原始以太网帧或 IP 数据包发送探测

--privileged:假定用户拥有完全的管理员权限

--unprivileged:假定用户无原始套接字权限

-V:打印版本号

-h:打印本帮助摘要页

示例

nmap -v -A scanme.nmap.org

nmap -v -sn 192.168.0.0/16 10.0.0.0/8

nmap -v -iR 10000 -Pn -p 80

更多选项和示例请查阅手册页(https://nmap.org/book/man.html

Gitea 迁移(环境:Docker + MySQL) 2026-01-18
Java SE 与 Java EE 2026-01-20