name: "nmap" command: "nmap" # 默认:TCP 连接扫描 + 版本检测 + 默认 NSE 脚本(无 root 也可用) args: ["-sT", "-sV", "-sC"] enabled: true short_description: "网络扫描:端口/服务/脚本;可选时序、自定义 NSE、OS 检测(需 root)" description: | 网络映射与端口扫描。 **默认行为(只传 target/ports 即可):** - `-sT` TCP 连接扫描(无需 root) - `-sV` 版本检测 - `-sC` 默认 NSE 脚本 **可选增强:** - `timing`:`-T0`~`-T5` 时序 - `nse_scripts`:`--script` 自定义脚本(如 `vuln`、`http-*`) - `os_detection`:`-O` **必须 root**,否则 nmap 会 QUITTING - `aggressive`:`-A` **必须 root**(含 OS 检测) - `scan_type`:若传入则**整段替换**上述默认 `-sT -sV -sC`,需自行写上需要的选项(如 `-sT -sV`) **注意事项:** - `-sS` SYN 扫描需要 root;无 root 请用默认或 `-sT` - 扫描全端口 `1-65535` 非常慢,建议先常用端口 - 请确保有权限扫描目标 parameters: - name: "target" type: "string" description: | 目标 IP、主机名、CIDR 或域名;URL 会自动提取主机部分。 **示例:** `192.168.1.1`、`10.0.0.0/24`、`example.com` required: true position: 1 format: "positional" - name: "ports" type: "string" description: | 端口范围。示例:`80`、`1-1000`、`80,443,8080`、`1-65535`(全端口很慢) required: false flag: "-p" format: "flag" - name: "timing" type: "string" description: "时序模板 T0–T5,数字越大越快。示例:`4` 生成 `-T4`" required: false format: "template" template: "-T{value}" - name: "nse_scripts" type: "string" description: "NSE 脚本,传给 `--script`。示例:`vuln`、`http-title,http-headers`" required: false flag: "--script" format: "flag" - name: "os_detection" type: "bool" description: | 启用 `-O` OS 检测。**必须 root**;无 root 请保持 false。 required: false flag: "-O" format: "flag" default: false - name: "aggressive" type: "bool" description: | 启用 `-A` 激进扫描(含 OS 检测)。**必须 root**;无 root 请保持 false。 required: false flag: "-A" format: "flag" default: false - name: "scan_type" type: "string" description: | 扫描类型选项;**若填写则替换默认的 `-sT -sV -sC`**,只保留你写的选项。 多选项用空格分隔,例如:`-sT -sV`、`-sU`(UDP)。 required: false format: "template" template: "{value}" - name: "additional_args" type: "string" description: | 额外参数,按空格追加到命令末尾。 示例:`--max-retries 3`、`-v`、`-Pn` required: false format: "positional"