diff --git a/tools/rustscan.yaml b/tools/rustscan.yaml index d64362f0..b25eae85 100644 --- a/tools/rustscan.yaml +++ b/tools/rustscan.yaml @@ -1,58 +1,152 @@ name: "rustscan" command: "rustscan" enabled: true -short_description: "超快速端口扫描工具,使用Rust编写" +short_description: "超快速端口扫描(Rust);可选 greppable、批量与脚本级别" description: | - Rustscan是一个用Rust编写的超快速端口扫描工具,可以快速扫描大量端口。 + RustScan 2.x:快速端口发现,可选再调 Nmap 脚本。 - **主要功能:** - - 超快速端口扫描 - - 可配置的扫描速度 - - 支持Nmap脚本集成 - - 批量扫描支持 + **与 `rustscan -h` 对应关系:** + - `-a` / `--addresses`:扫描目标列表(逗号分隔或文件) + - `-p`:逗号分隔端口;`-r`:端口范围 `start-end`(二选一或与 `-p` 配合以 CLI 为准) + - `-g` / `--greppable`:只输出端口,便于 grep/管道 + - `--scripts`:**官方默认是 default**(会跑 Nmap);设为 **none** 可只做端口发现、更快 + - `-b` batch-size、`-t` timeout、`--scan-order` 等可微调速度与顺序 - **使用场景:** - - 快速端口扫描 - - 大规模网络扫描 - - 渗透测试信息收集 + **使用建议:** + - 快速扫端口、不要 Nmap:`scripts` 用 `none`,必要时加 `-g` + - 需要服务识别/脚本:用 `default` 或 `custom`,并确保本机有 nmap parameters: + # -a, --addresses - name: "target" type: "string" - description: "目标IP地址或主机名" + description: | + 对应 `-a`:逗号分隔的 CIDR、IP 或主机名;也可为含换行/列表的文件路径。 + 示例:`192.168.1.1`、`10.0.0.1,10.0.0.2`、`192.168.0.0/24` required: true flag: "-a" format: "flag" + + # -p, --ports;范围请用 range (-r),勿把 1-1000 填进 ports - name: "ports" type: "string" - description: "要扫描的端口(如:22,80,443或1-1000)" + description: | + 要扫描的端口,**仅**逗号分隔列表,对应 `-p`。 + 示例:`22,80,443`、`80,443,8080`。 + 若要范围如 `1-1000`,请用参数 **range**(`-r`),不要写在本参数。 required: false flag: "-p" format: "flag" + + # -r, --range(与 ports 列表二选一或按官方说明组合) + - name: "range" + type: "string" + description: | + 端口范围,格式 start-end,对应 `-r`。 + 示例:`1-1000`、`1-65535`(全端口很慢)。 + 离散端口如 `22,80,443` 请用 **ports**(`-p`),不要写在本参数。 + required: false + flag: "-r" + format: "flag" + + # -u, --ulimit - name: "ulimit" type: "int" - description: "文件描述符限制" + description: "提升扫描用的 ulimit;依系统 fd 限制调整" required: false flag: "-u" format: "flag" default: 5000 + + # --scripts:none | default | custom(CLI 默认 default) - name: "scripts" - type: "bool" - description: "在发现的端口上运行Nmap脚本" + type: "string" + description: | + 脚本级别;**必须**传字符串,勿传 true/false。 + - **none**:不跑 Nmap,仅端口发现(最快) + - **default**:与 rustscan 官方默认一致,会调 Nmap + - **custom**:自定义脚本,常需配合 additional_args required: false flag: "--scripts" format: "flag" + default: "none" + options: + - "none" + - "default" + - "custom" + + # -g, --greppable:仅端口列表,无 Nmap 输出 + - name: "greppable" + type: "bool" + description: "Greppable 模式:只输出端口,适合脚本解析或写入文件" + required: false + flag: "-g" + format: "flag" default: false + + # -b, --batch-size [default: 4500] + - name: "batch_size" + type: "int" + description: "每批并发端口数;越大越快,受 OS 打开文件数限制。官方默认 4500" + required: false + flag: "-b" + format: "flag" + + # -t, --timeout ms [default: 1500] + - name: "timeout_ms" + type: "int" + description: "单端口超时(毫秒)。官方默认 1500" + required: false + flag: "-t" + format: "flag" + + # --scan-order serial | random [default: serial] + - name: "scan_order" + type: "string" + description: "扫描顺序:serial 升序;random 随机" + required: false + flag: "--scan-order" + format: "flag" + options: + - "serial" + - "random" + + # --top:top 1000 端口 + - name: "top_ports" + type: "bool" + description: "使用内置 top 1000 端口(等价于传 `--top`)" + required: false + flag: "--top" + format: "flag" + default: false + + # -e, --exclude-ports + - name: "exclude_ports" + type: "string" + description: "排除端口,逗号分隔。示例:`80,443`" + required: false + flag: "-e" + format: "flag" + + # -x, --exclude-addresses + - name: "exclude_addresses" + type: "string" + description: "排除地址,逗号分隔 CIDR/IP/主机" + required: false + flag: "-x" + format: "flag" + + # --tries [default: 1] + - name: "tries" + type: "int" + description: "判定关闭前的重试次数;0 会被纠正为 1" + required: false + flag: "--tries" + format: "flag" + - name: "additional_args" type: "string" description: | - 额外的rustscan参数。用于传递未在参数列表中定义的rustscan选项。 - - **示例值:** - - 根据工具特性添加常用参数示例 - - **注意事项:** - - 多个参数用空格分隔 - - 确保参数格式正确,避免命令注入 - - 此参数会直接追加到命令末尾 + 未列在上面的选项可写在这里,空格分隔。 + 示例:`--no-banner`、`--udp`、`-n`(忽略配置文件)、`-c /path/config.toml`、`--resolver 8.8.8.8` required: false format: "positional"