当前位置:首页>Linux>KALI LINUX RustScan 使用教程

KALI LINUX RustScan 使用教程

  • 2026-10-11 08:04:10
KALI LINUX RustScan 使用教程

RustScan 使用教程 — 3 秒扫完 65535 个端口

概述

RustScan 是一个用 Rust 编写的高性能端口扫描器,默认速度 3000 端口/秒,最快能在 3 秒 内扫完全部 65535 个 TCP 端口。它的核心设计理念是 只负责找开放端口,然后自动把结果交给 Nmap 做深度扫描。

"把 17 分钟的 Nmap 全端口扫描变成 19 秒" — 这就是 RustScan 的价值


安装

Kali Linux(自带)

Kali 2024+ 默认已预装,直接在终端跑:

rustscan --version

其他 Linux / macOS

# 方式一:cargo 安装(推荐)cargo install rustscan# 方式二:Dockerdocker run -it --rm --name rustscan rustscan/rustscan:2.1.1 -a 192.168.1.1# 方式三:直接下载二进制# 去 https://github.com/RustScan/RustScan/releases 下载对应平台的可执行文件

前置依赖

RustScan 需要 Nmap 配合使用,Kali 自带,如果没有:

sudo apt update && sudo apt install nmap -y

基础用法

最简单的扫描

rustscan -a 192.168.1.1

-a 参数指定目标 IP,自动扫全部 65535 个 TCP 端口,找到开放端口后自动调 Nmap 做 -sC -sV(默认脚本 + 版本检测)。

扫描多个目标

# 多个 IPrustscan -a 192.168.1.1,192.168.1.2# CIDR 网段rustscan -a 192.168.1.0/24# 从文件读取目标rustscan -a targets.txt

只看开放端口,不调 Nmap

如果不想要 Nmap 深度扫描,加 -g(greppable 模式),只输出端口号:

rustscan -a 192.168.1.1 -g

输出示例:

22,80,443,8080

适合接管道给其他工具用。


进阶参数

调整扫描速度 (-b / -T)

# 慢速扫描(隐蔽模式):一次只扫 10 个端口rustscan -a 192.168.1.1 -b 10# 超快速模式:一次扫全部端口(适合 CTF 或内网环境)rustscan -a 192.168.1.1 -b 65535 -T 1000
参数
说明
推荐值
-b
批次大小(一次扫多少个端口)
默认 3000,隐蔽用 10-50,快速用 65535
-T
每个端口的超时时间(毫秒)
默认 1000(1s),隐蔽用 3000-5000

自定义 Nmap 参数

RustScan 最强大的特性:-- 后面可以接 Nmap 的参数!

# 默认行为等效于:rustscan -a 192.168.1.1 -- -sC -sV# 指定输出格式rustscan -a 192.168.1.1 -- -sC -sV -oN scan_result.txt# 只做版本检测,不做脚本扫描rustscan -a 192.168.1.1 -- -sV# 加上 OS 检测rustscan -a 192.168.1.1 -- -sC -sV -O# 扫描 UDP 端口(用 Nmap 扫,RustScan 本身只扫 TCP)rustscan -a 192.168.1.1 -- -sC -sV -sU --top-ports 100

指定端口范围

# 只扫常见端口(不扫全部 65535)rustscan -a 192.168.1.1 -p 22,80,443,3306,8080# 扫范围rustscan -a 192.168.1.1 -p 1-1000

注:不加 -p 默认扫全部 65535 个端口,这是 RustScan 的核心优势

其他常用参数

# --accessible: 禁用进度条(适合输出重定向)rustscan -a 192.168.1.1 --accessible# --ulimit: 调整系统最大文件描述符数(默认 5000,扫大量端口可能需要调高)rustscan -a 192.168.1.1 --ulimit 65535# -r: 随机扫描端口顺序(防检测)rustscan -a 192.168.1.1 -r

实战场景

场景 1:渗透测试快速侦察

目标:快速了解目标开了哪些服务

rustscan -a 192.168.1.1 -- -sC -sV -oN recon.txt

2-3 秒出结果,Nmap 自动接上做详细扫描,结果保存到 recon.txt。

场景 2:内网全段资产发现

# 扫整个 C 段,只输出开放端口列表rustscan -a 192.168.1.0/24 -g > open_ports.txt# 再对每台机器的端口做 Nmap 深度扫描for ip in $(cat open_ports.txt | cut -d: -f1 | sort -u); do  nmap -sC -sV $ip -oN "${ip}_scan.txt"done

场景 3:CTF 快速扫描

CTF 环境一般没有 IPS/IDS,放心用极速模式:

rustscan -a target.ctf.com -b 65535 -T 500 -- -sC -sV

解释: 批次 65535(一次全扫完),超时 500ms(CTF 内网响应速度极快),5 秒内拿到完整结果。

场景 4:渗透测试隐蔽扫描

真实环境怕被发现,调慢:

rustscan -a target.com -b 10 -T 5000 -r -- -sC -sV -T4

解释: 每次只扫 10 个端口,超时 5 秒,随机顺序扫描,配合 Nmap 的 T4 时间模板。


脚本引擎(高级)

RustScan 支持自定义脚本,可以用 Python、Lua、Shell 写。

示例:发现 SMB 端口后自动枚举

创建脚本 scripts/smb_check.sh:

#!/bin/bash# RustScan 会把开放端口传进来echo "[+] Ports found: $1"if echo "$1" | grep -q "445"; then  echo "[*] SMB port found! Running enum..."  nmap -p 445 --script smb-enum-shares $2fi

运行:

rustscan -a 192.168.1.1 --script ./scripts

内置脚本

RustScan 默认脚本就是自动把端口传给 Nmap 做 -sC -sV。你可以写脚本替代这个行为。


参数速查表

参数
全称
说明
-a--address
目标 IP/域名/网段/文件
-p--ports
指定端口,默认扫全部
-b--batch
批次大小(并行端口数)
-T--timeout
端口超时(毫秒)
-g--greppable
仅输出端口列表
-r--random
随机顺序扫描
--accessible
—
禁用进度条
--ulimit
—
文件描述符上限
--scripts
—
指定自定义脚本目录
--
—
分隔符,后续参数传给 Nmap

注意事项

  • • RustScan 只扫 TCP 端口。要扫 UDP 需要用 -- -sU 交给 Nmap
  • • 默认速度 3000 端口/秒 在公网上容易触发 IDS/IPS 报警,注意场景
  • • Kali 2024+ 自带,无需额外安装
  • • 作者建议:不要对生产环境的敏感服务器用全速扫描,RustScan 设计初衷偏向 CTF 和内网场景
  • • RustScan 有自适应学习功能,会根据你的使用习惯优化扫描策略

对比:RustScan vs Nmap

对比项
RustScan
Nmap
全端口扫描速度
3-5 秒
15-30 分钟
深度扫描
不支持
✅ 全能
脚本引擎
自定义脚本
NSE 脚本库
隐蔽性
❌ 默认很快
✅ 可调 -T0 ~ -T2
适用场景
快速定位开放端口
深度服务识别、漏洞扫描

最佳实践: RustScan 找端口 → 输出给 Nmap 做深度扫描,两者互补。


想通扫全端口直接rustscan -a <目标>,3 秒出结果,省下等 Nmap 干瞪眼的 20 分钟。

最新文章

随机文章