TL;DR

RustScan là port scanner mã nguồn mở viết bằng Rust, do bee-san phát triển. Nó quét toàn bộ 65.535 cổng TCP trong khoảng 3 giây ở tốc độ đỉnh, sau đó tự động pipe các cổng mở sang Nmap để detect service. Phiên bản mới nhất là 2.4.1 "Guaranteed Speed" (23/02/2025), repo ~19.6k sao, GPL-3.0, miễn phí hoàn toàn.

What's new

Tweet gần đây của @yeswehack đưa RustScan trở lại timeline của giới bug bounty với thông điệp đơn giản: quét cổng nhanh đến mức làm thay đổi workflow recon. Đây không phải tool mới, nhưng bản 2.4.1 cuối tháng 2/2025 đã thêm CI benchmark bằng HyperFine để bảo đảm mỗi PR không làm chậm tốc độ, vá lỗi parse IPv6 khi pipe sang Nmap, và tách RustScan thành crate thư viện để dev Rust có thể nhúng trực tiếp vào tool của mình.

Why it matters

Nmap vẫn là tiêu chuẩn vàng cho service detection, nhưng scan toàn bộ 65k cổng với Nmap có thể mất 5 phút đến vài chục phút. Với bug bounty hunter đang làm việc trên hàng trăm subdomain, hoặc red team đang có khung thời gian hẹp, 3 giây vs 5 phút là khoảng cách giữa kiểm tra được tất cảchỉ kiểm tra top 1000. Một công ty bug bounty báo cáo họ quét 200+ subdomain dưới 10 phút nhờ RustScan và tìm ra RCE critical trên cổng phi chuẩn mà các scan mặc định bỏ sót.

How it works

Kiến trúc cốt lõi dựa trên async Tokio: thay vì queue tuần tự, RustScan spawn một task cho mỗi cổng trong batch. Số task song song bị giới hạn bởi ulimit -n (số file descriptor mở tối đa của OS) — trên Linux mở rộng lên 65.535 là có thể quét hết cổng trong một batch duy nhất.

Tính năng Adaptive Learning không phải machine learning — tác giả nói rõ đây là "basic maths": tool ghi lại thời gian phản hồi và tỉ lệ timeout trong lần scan trước để tự hiệu chỉnh batch size và timeout lần sau. Dùng càng lâu trên cùng một môi trường, càng ít false negative.

Technical facts

PropertyValue
Ngôn ngữRust (async Tokio)
Phiên bản mới nhất2.4.1 (23/02/2025)
LicenseGPL-3.0
Scan 65.535 cổng~3 giây (peak)
Scripting enginePython, Lua, Shell
ProtocolTCP + UDP, IPv4/IPv6, CIDR
PlatformLinux, macOS, Windows, Docker, ARM, Apple Silicon, Raspberry Pi
GitHub stars~19.6k

Comparison

ToolFull port scanService detectionScriptingAdaptive
RustScan~3 squa Nmap pipePy / Lua / Shell
Nmap~5 phútBuilt-in NSEChỉ NSEKhông
Masscan~5 sHạn chếKhôngKhông

Trong benchmark thực tế trên target cloud: RustScan 88 giây, Nmap 228 giây. Trên home network: RustScan 88 giây, Nmap 464.7 giây. Một testimonial nổi tiếng trong cộng đồng: scan kéo dài 17 phút của Nmap được giảm xuống 19 giây khi pipe qua RustScan.

Use cases

  • Bug bounty recon — quét toàn bộ port range trên hàng trăm subdomain trong một buổi; catch service trên cổng phi chuẩn mà scan mặc định bỏ sót.
  • Red team engagement — enum surface nhanh trong 2 tuần engagement (ví dụ tìm ra Jenkins trên :8080 bị bỏ quên).
  • CTF & HackTheBox — instant port map ngay khi spawn box.
  • Blue team / asset inventory — sweep nội bộ subnet bằng CIDR.
  • Automation pipeline — script Python/Lua đẩy kết quả sang screenshotter, vuln scanner downstream.

Limitations & pricing

RustScan miễn phí hoàn toàn (GPL-3.0), không có tier trả phí. Hạn chế cần biết:

  • Timing mặc định quá aggressive — dễ bị WAF/IDS ban IP; cần flag stealth trên target nhạy cảm.
  • Accuracy giảm trên network tắc nghẽn nếu không tune timeout.
  • Vẫn cần Nmap cài song song cho service/version detection.
  • Thread-per-port cần raise ulimit -n để đạt max batch.

What's next

Các PR gần đây trên repo tập trung vào: cải thiện UDP performance, thử nghiệm port Tokio toàn diện hơn, và mở rộng ecosystem script. Cài thử:

cargo install rustscan
# hoặc
brew install rustscan
# hoặc Docker
docker run -it --rm rustscan/rustscan:latest -a 1.1.1.1

Repo chính: github.com/bee-san/RustScan. Nguồn trong bài: Release 2.4.1, Cyberpress, BrightCoding.